cloud-ide-model-schema
Version:
Pachage for schema management of Cloud IDEsys LMS
35 lines (34 loc) • 1.95 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CFeeDiscountRule = void 0;
var mongoose_1 = require("mongoose");
var FeeDiscountRuleSchema = new mongoose_1.Schema({
feedr_name: { type: String, required: true },
feedr_code: { type: String, unique: true, required: true },
feedr_description: { type: String },
feedr_scope_type: { type: String, enum: ['ENTITY', 'CLASS_PROGRAM', 'SECTION'], default: 'ENTITY' },
feedr_scope_id: { type: mongoose_1.Schema.Types.ObjectId },
feedr_criteria_json: { type: String },
feedr_discount_type: { type: String, enum: ['PERCENTAGE', 'FIXED_AMOUNT'], required: true },
feedr_discount_value: { type: Number, required: true },
feedr_mode: { type: String, enum: ['AUTOMATIC', 'MANUAL'], default: 'MANUAL' },
feedr_target_heads: [{ type: mongoose_1.Schema.Types.ObjectId, ref: "core_general_master" }],
feedr_approval_req: { type: Boolean, default: false },
feedr_stacking: { type: String, enum: ['EXCLUSIVE', 'STACKABLE', 'MAX_OF'], default: 'STACKABLE' },
feedr_priority: { type: Number, default: 0 },
feedr_valid_from: { type: Date },
feedr_valid_to: { type: Date },
feedr_academic_year_id_acayr: { type: mongoose_1.Schema.Types.ObjectId, ref: "aca_academic_year" },
feedr_entity_id_syen: { type: mongoose_1.Schema.Types.ObjectId, ref: "core_system_entity" },
feedr_status: { type: String, enum: ['ACTIVE', 'INACTIVE', 'EXPIRED'], default: 'ACTIVE' },
feedr_created_by_user: { type: mongoose_1.Schema.Types.ObjectId, ref: "auth_user_mst" },
feedr_created_at: { type: Date, default: Date.now },
feedr_updated_at: { type: Date, default: Date.now }
}, {
timestamps: {
createdAt: 'feedr_created_at',
updatedAt: 'feedr_updated_at'
}
});
// Export the model
exports.CFeeDiscountRule = mongoose_1.default.model("fee_discount_rule", FeeDiscountRuleSchema, "fee_discount_rule");