팀 생성 임시 완료

This commit is contained in:
2025-04-26 07:06:03 +09:00
parent f01bcbdf39
commit d1b22d4272
20 changed files with 730 additions and 171 deletions
+43 -1
View File
@@ -16,6 +16,48 @@ const isAdmin = (user) => {
return user && (user.role === 'admin' || user.role === 'superadmin');
};
// 클럽 선택
const allowedMemberTypes = ['owner', 'manager'];
exports.selectClub = async (req, res) => {
try {
const { clubId } = req.body;
const userId = req.user && req.user.id;
// 클럽 존재 여부 확인
const club = await Club.findByPk(clubId);
if (!club) {
return res.status(404).json({ message: '클럽을 찾을 수 없습니다.' });
}
// 관리자 여부 체크
const isAdmin = req.user && (req.user.role === 'admin' || req.user.role === 'superadmin');
let isClubManager = false;
if (!isAdmin) {
// Members 테이블에서 모임장/운영진 여부 확인
const member = await Member.findOne({
where: {
clubId,
userId,
memberType: ['모임장', '운영진']
}
});
isClubManager = !!member;
}
if (!isAdmin && !isClubManager) {
return res.status(403).json({ message: '해당 클럽에 대한 권한이 없습니다.' });
}
req.session.clubId = clubId;
res.status(200).json({ message: '클럽을 선택했습니다.' });
} catch (error) {
console.error('클럽 선택 오류:', error);
res.status(500).json({ message: '클럽을 선택하는 중 오류가 발생했습니다.' });
}
};
// 모든 클럽 조회
exports.getAllClubs = async (req, res) => {
try {
@@ -57,7 +99,7 @@ exports.getAllClubs = async (req, res) => {
exports.getClubById = async (req, res) => {
try {
const { clubId } = req.body;
console.log(`clubId: ${clubId}`);
// console.log(`clubId: ${clubId}`);
if (!clubId) {
return res.status(400).json({ message: "유효하지 않은 클럽 ID입니다." });
}