UNPKG

cloud-ide-model-schema

Version:

Pachage for schema management of Cloud IDEsys LMS

82 lines (81 loc) 2.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CFleetStudentTransport = void 0; var mongoose_1 = require("mongoose"); /* SCHEMA START */ var fleet_student_transport = new mongoose_1.Schema({ fltst_student_id_auth: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "auth_user_mst", required: true }, fltst_route_id_fltrm: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "fleet_route_master", required: true }, fltst_pickup_stop_id_fltrs: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "fleet_route_stops", required: true }, fltst_drop_stop_id_fltrs: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "fleet_route_stops", required: true }, fltst_valid_from: { type: Date, required: true }, fltst_valid_to: { type: Date }, fltst_transport_type_sygms: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "core_general_master" }, fltst_guardian_phone: { type: String, trim: true }, fltst_entity_id_syen: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "core_system_entity", required: true }, fltst_academic_year_id_acayr: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "aca_academic_year" // optional: for academic use; when null, allocation works for any industry }, fltst_isactive: { type: Boolean, default: true }, fltst_created_at: { type: Date, default: Date.now }, fltst_updated_at: { type: Date, default: Date.now }, fltst_created_by_user: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "auth_user_mst" } }, { collection: 'fleet_student_transport', timestamps: { createdAt: 'fltst_created_at', updatedAt: 'fltst_updated_at' } }); // Indexes for performance optimization // Compound index for entity and academic year queries (most common) fleet_student_transport.index({ fltst_entity_id_syen: 1, fltst_academic_year_id_acayr: 1, fltst_isactive: 1 }); // Index for student lookup fleet_student_transport.index({ fltst_student_id_auth: 1 }); // Index for route-based queries fleet_student_transport.index({ fltst_route_id_fltrm: 1 }); // Index for pickup stop lookup fleet_student_transport.index({ fltst_pickup_stop_id_fltrs: 1 }); // Index for drop stop lookup fleet_student_transport.index({ fltst_drop_stop_id_fltrs: 1 }); var CFleetStudentTransport = mongoose_1.default.model("fleet_student_transport", fleet_student_transport); exports.CFleetStudentTransport = CFleetStudentTransport;