UNPKG

cloud-ide-model-schema

Version:

Pachage for schema management of Cloud IDEsys LMS

126 lines (125 loc) 4.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CAcademicsBonafideRequest = void 0; var mongoose_1 = require("mongoose"); /* SCHEMA START */ var academics_bonafide_request = new mongoose_1.Schema({ abnr_request_number: { type: String, required: true, maxlength: 50, trim: true, comment: "Auto-generated request number (e.g., BNF-2025-001234)" }, // abnr_student_id removed as per refactor abnr_student_id_auth: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "auth_user_mst", required: true, comment: "Student user ID" }, abnr_purpose: { type: String, required: true, maxlength: 500, trim: true, comment: "Purpose of bonafide certificate" }, abnr_certificate_purpose: { type: String, maxlength: 500, trim: true, comment: "Edited purpose for certificate (overrides default purpose)" }, abnr_request_date: { type: Date, required: true, default: Date.now, comment: "Request submission date" }, abnr_status_id_sygms: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "core_general_master", required: true, comment: "Request status (from bonafide_status type)" }, abnr_current_step: { type: Number, default: 1, comment: "Current workflow step" }, abnr_workflow_id_wfrg: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "core_workflow_registry", required: true, comment: "Workflow reference" }, abnr_requested_by_user: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "auth_user_mst", required: true, comment: "User who created the request" }, abnr_soft_copy_id_cyfm: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "core_file_manager", comment: "Generated soft copy PDF" }, abnr_stamped_copy_id_cyfm: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "core_file_manager", comment: "Stamped hard copy scan" }, abnr_completed_date: { type: Date, comment: "Date when request was completed" }, abnr_academic_year_id_acayr: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "aca_academic_year", required: true, comment: "Academic year reference" }, abnr_class_program_id_acacpm: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "aca_class_program_master", required: true, comment: "Class program reference" }, abnr_term_id_acatrm: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "aca_class_program_term", required: true, comment: "Term reference" }, abnr_section_id_acapts: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "aca_prg_trm_section", required: true, comment: "Section reference" }, abnr_entity_id_syen: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "core_system_entity", required: true, comment: "Entity reference" }, abnr_isactive: { type: Boolean, default: true, comment: "Active status" } }, { collection: 'academics_bonafide_request' }); // Indexes for performance optimization academics_bonafide_request.index({ abnr_request_number: 1 }); academics_bonafide_request.index({ abnr_student_id_auth: 1, abnr_isactive: 1 }); academics_bonafide_request.index({ abnr_status_id_sygms: 1, abnr_isactive: 1 }); academics_bonafide_request.index({ abnr_workflow_id_wfrg: 1, abnr_current_step: 1 }); academics_bonafide_request.index({ abnr_entity_id_syen: 1, abnr_isactive: 1 }); academics_bonafide_request.index({ abnr_academic_year_id_acayr: 1 }); academics_bonafide_request.index({ abnr_class_program_id_acacpm: 1 }); academics_bonafide_request.index({ abnr_term_id_acatrm: 1 }); academics_bonafide_request.index({ abnr_section_id_acapts: 1 }); academics_bonafide_request.index({ abnr_request_date: -1 }); var CAcademicsBonafideRequest = mongoose_1.default.model("academics_bonafide_request", academics_bonafide_request); exports.CAcademicsBonafideRequest = CAcademicsBonafideRequest;