23 lines
1016 B
JavaScript
23 lines
1016 B
JavaScript
const { DataTypes } = require('sequelize');
|
|
const { sequelize } = require('../config/database');
|
|
|
|
const LeaveRequest = sequelize.define('leave_requests', {
|
|
id: { type: DataTypes.UUID, defaultValue: DataTypes.UUIDV4, primaryKey: true },
|
|
student_id: { type: DataTypes.UUID, allowNull: false },
|
|
requested_by: { type: DataTypes.UUID, allowNull: false, comment: 'Parent user_id' },
|
|
leave_from: { type: DataTypes.DATE, allowNull: false },
|
|
leave_to: { type: DataTypes.DATE, allowNull: false },
|
|
reason: { type: DataTypes.TEXT, allowNull: false },
|
|
status: { type: DataTypes.ENUM('pending', 'approved', 'rejected'), defaultValue: 'pending' },
|
|
approved_by: { type: DataTypes.UUID },
|
|
approved_at: { type: DataTypes.DATE },
|
|
created_at: { type: DataTypes.DATE, allowNull: false, defaultValue: DataTypes.NOW },
|
|
updated_at: { type: DataTypes.DATE, allowNull: false, defaultValue: DataTypes.NOW },
|
|
}, {
|
|
tableName: 'leave_requests',
|
|
timestamps: true,
|
|
underscored: true,
|
|
});
|
|
|
|
module.exports = LeaveRequest;
|