const { DataTypes } = require('sequelize'); const { sequelize } = require('../config/database'); const Permission = sequelize.define('permissions', { id: { type: DataTypes.UUID, defaultValue: DataTypes.UUIDV4, primaryKey: true }, permission_code: { type: DataTypes.STRING(50), unique: true, allowNull: false }, permission_name: { type: DataTypes.STRING(100), allowNull: false }, permission_description: { type: DataTypes.TEXT }, resource: { type: DataTypes.STRING(50), comment: 'Tài nguyên (students, grades, etc.)' }, action: { type: DataTypes.STRING(50), comment: 'Hành động (view, create, edit, delete)' }, 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: 'permissions', timestamps: true, underscored: true, indexes: [ { fields: ['permission_code'], unique: true }, { fields: ['resource', 'action'] }, ], }); module.exports = Permission;