const { DataTypes } = require('sequelize'); const { sequelize } = require('../config/database'); const UserAssignment = sequelize.define('user_assignments', { id: { type: DataTypes.UUID, defaultValue: DataTypes.UUIDV4, primaryKey: true }, user_id: { type: DataTypes.UUID, allowNull: false, references: { model: 'users_auth', key: 'id' } }, role_id: { type: DataTypes.UUID, allowNull: false, references: { model: 'roles', key: 'id' } }, school_id: { type: DataTypes.UUID, references: { model: 'schools', key: 'id' } }, class_id: { type: DataTypes.UUID, references: { model: 'classes', key: 'id' } }, is_primary: { type: DataTypes.BOOLEAN, defaultValue: false, comment: 'Vai trò chính' }, valid_from: { type: DataTypes.DATE }, valid_until: { type: DataTypes.DATE }, is_active: { type: DataTypes.BOOLEAN, defaultValue: true }, created_at: { type: DataTypes.DATE, allowNull: false, defaultValue: DataTypes.NOW }, updated_at: { type: DataTypes.DATE, allowNull: false, defaultValue: DataTypes.NOW }, }, { tableName: 'user_assignments', timestamps: true, underscored: true, indexes: [ { fields: ['user_id', 'role_id', 'school_id'] }, { fields: ['school_id'] }, { fields: ['is_active'] }, ], }); module.exports = UserAssignment;