UNPKG

cloud-ide-model-schema

Version:

Pachage for schema management of Cloud IDEsys LMS

105 lines (104 loc) 2.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CFleetFuelLog = void 0; var mongoose_1 = require("mongoose"); /* SCHEMA START */ var fleet_fuel_log = new mongoose_1.Schema({ fltfl_vehicle_id_fltvh: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "fleet_vehicle_master", required: true }, fltfl_driver_id_fltdr: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "fleet_driver_master" }, fltfl_fill_date: { type: Date, required: true, default: Date.now }, fltfl_odometer_reading: { type: Number, required: true, min: 0 }, fltfl_fuel_quantity: { type: Number, required: true, min: 0 }, fltfl_fuel_unit_sygms: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "core_general_master", required: true }, fltfl_cost_per_unit: { type: Number, required: true, min: 0 }, fltfl_total_cost: { type: Number, required: true, min: 0 }, fltfl_fuel_type_sygms: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "core_general_master" }, fltfl_vendor_name: { type: String, trim: true }, fltfl_invoice_number: { type: String, trim: true }, fltfl_payment_mode_sygms: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "core_general_master" }, fltfl_distance_since_last_fill: { type: Number, default: 0, min: 0 }, fltfl_fuel_efficiency: { type: Number, default: 0, min: 0 }, fltfl_entity_id_syen: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "core_system_entity", required: true }, fltfl_created_by_user: { type: mongoose_1.default.Schema.Types.ObjectId, ref: "auth_user_mst" }, fltfl_isactive: { type: Boolean, default: true }, fltfl_created_at: { type: Date, default: Date.now }, fltfl_updated_at: { type: Date, default: Date.now } }, { collection: 'fleet_fuel_log', timestamps: { createdAt: 'fltfl_created_at', updatedAt: 'fltfl_updated_at' } }); // Indexes for performance optimization // Compound index for vehicle fuel history (most common query) fleet_fuel_log.index({ fltfl_vehicle_id_fltvh: 1, fltfl_fill_date: -1 }); // Index for entity filtering fleet_fuel_log.index({ fltfl_entity_id_syen: 1 }); // Index for driver tracking fleet_fuel_log.index({ fltfl_driver_id_fltdr: 1 }, { sparse: true }); // Index for date-based reporting fleet_fuel_log.index({ fltfl_fill_date: -1 }); var CFleetFuelLog = mongoose_1.default.model("fleet_fuel_log", fleet_fuel_log); exports.CFleetFuelLog = CFleetFuelLog;