This commit is contained in:
2025-05-14 00:56:29 +09:00
parent 1db3a03ffd
commit 8e9b941a28
6 changed files with 64 additions and 44 deletions
+20 -11
View File
@@ -22,15 +22,17 @@ exports.publicEventEntry = async (req, res) => {
return res.status(403).json({ message: '취소된 이벤트입니다.' });
}
// 클럽의 구독 활성 여부 확인
// 클럽의 구독 활성 여부 확인 - 가장 최근 구독 정보 가져오기
const clubSubscription = await sequelize.models.ClubSubscription.findOne({
where: { clubId: event.clubId, status: 'active' },
include: [{ model: sequelize.models.SubscriptionPlan }]
where: { clubId: event.clubId },
include: [{ model: sequelize.models.SubscriptionPlan }],
order: [['endDate', 'DESC']] // 가장 최근 구독 정보를 가져오기 위해 만료일 기준 내림차순 정렬
});
// 구독이 비활성화된 경우 접근 제한
if (!clubSubscription) {
return res.status(403).json({ message: '클럽의 구독이 비활성화되어 이벤트에 접근할 수 없습니다. 클럽 관리자에게 문의하세요.' });
// 구독이 없거나 만료된 경우 접근 제한
const now = new Date();
if (!clubSubscription || new Date(clubSubscription.endDate) < now) {
return res.status(403).json({ message: '클럽의 구독이 만료되어 이벤트에 접근할 수 없습니다. 클럽 관리자에게 문의하세요.' });
}
let token = null;
@@ -263,14 +265,21 @@ exports.addPublicGuest = async (req, res) => {
// 클럽의 회원 수와 구독 플랜의 최대 회원 수 확인
const memberCount = await Member.count({ where: { clubId: event.clubId } });
// 클럽의 구독 정보 가져오기
// 클럽의 구독 정보 가져오기 - 가장 최근 구독 정보
const clubSubscription = await sequelize.models.ClubSubscription.findOne({
where: { clubId: event.clubId, status: 'active' },
include: [{ model: sequelize.models.SubscriptionPlan }]
where: { clubId: event.clubId },
include: [{ model: sequelize.models.SubscriptionPlan }],
order: [['endDate', 'DESC']] // 가장 최근 구독 정보를 가져오기 위해 만료일 기준 내림차순 정렬
});
// 구독 플랜이 있고 회원 수가 최대치를 초과하는 경우
if (clubSubscription && clubSubscription.SubscriptionPlan) {
// 구독이 없거나 만료된 경우 접근 제한
const now = new Date();
if (!clubSubscription || new Date(clubSubscription.endDate) < now) {
return res.status(403).json({ message: '클럽의 구독이 만료되어 이벤트에 접근할 수 없습니다. 클럽 관리자에게 문의하세요.' });
}
// 회원 수가 최대치를 초과하는 경우
if (clubSubscription.SubscriptionPlan) {
const maxMembers = clubSubscription.SubscriptionPlan.maxMembers;
if (memberCount >= maxMembers) {
return res.status(403).json({