const { DataTypes } = require('sequelize'); const { sequelize } = require('../config/database'); const ClubSubscription = sequelize.define('ClubSubscription', { id: { type: DataTypes.INTEGER.UNSIGNED, primaryKey: true, autoIncrement: true, comment: '클럽-구독 연결 고유 식별자' }, clubId: { type: DataTypes.INTEGER.UNSIGNED, allowNull: false, references: { model: 'Clubs', key: 'id' }, comment: '클럽 ID' }, planId: { type: DataTypes.INTEGER.UNSIGNED, allowNull: false, references: { model: 'SubscriptionPlans', key: 'id' }, comment: '구독 플랜 ID' }, status: { type: DataTypes.ENUM('active', 'expired', 'suspended'), defaultValue: 'active', allowNull: false, comment: '구독 상태' }, startDate: { type: DataTypes.DATE, allowNull: false, comment: '구독 시작일' }, endDate: { type: DataTypes.DATE, allowNull: false, comment: '구독 종료일' }, price: { type: DataTypes.INTEGER, allowNull: false, defaultValue: 0, comment: '구독 가격' } }, { tableName: 'ClubSubscriptions', comment: '클럽별 구독 정보(플랜 등)를 저장하는 테이블', timestamps: true }); ClubSubscription.associate = (models) => { ClubSubscription.belongsTo(models.SubscriptionPlan, { foreignKey: 'planId' }); ClubSubscription.belongsTo(models.Club, { foreignKey: 'clubId' }); }; module.exports = ClubSubscription;