Files
sena_db_api_layer/models/LeaveRequest.js
2026-01-19 09:33:35 +07:00

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;