cloud-ide-model-schema 1.1.117 → 1.1.119

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -962,6 +962,11 @@ var admission_application_main = new mongoose_1.Schema({
962
962
  ref: "core_general_master",
963
963
  comment: "Application status - Reference to core_general_master (type code: admission_application_status)"
964
964
  },
965
+ admap_status_id_sygms: {
966
+ type: mongoose_1.default.Schema.Types.ObjectId,
967
+ ref: "core_general_master",
968
+ comment: "General status - Reference to core_general_master (type code: status)"
969
+ },
965
970
  admap_application_submission_date: {
966
971
  type: Date,
967
972
  comment: "Date when application was submitted"
@@ -1059,6 +1064,7 @@ admission_application_main.index({ admap_application_number: 1 });
1059
1064
  admission_application_main.index({ admap_student_id: 1 });
1060
1065
  admission_application_main.index({ admap_entity_id_syen: 1 });
1061
1066
  admission_application_main.index({ admap_application_status_id_sygms: 1 });
1067
+ admission_application_main.index({ admap_status_id_sygms: 1 });
1062
1068
  admission_application_main.index({ admap_program_category_id_sygms: 1 });
1063
1069
  admission_application_main.index({ admap_class_program_id_acacpm: 1 });
1064
1070
  admission_application_main.index({ admap_created_date: -1 });
@@ -0,0 +1,23 @@
1
+ import mongoose from "mongoose";
2
+ declare const CFeeAssignment: mongoose.Model<{
3
+ [x: string]: unknown;
4
+ }, {}, {}, {}, mongoose.Document<unknown, {}, {
5
+ [x: string]: unknown;
6
+ }, {}> & {
7
+ [x: string]: unknown;
8
+ } & Required<{
9
+ _id: unknown;
10
+ }> & {
11
+ __v: number;
12
+ }, mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, {
13
+ [x: string]: unknown;
14
+ }, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
15
+ [x: string]: unknown;
16
+ }>, {}> & mongoose.FlatRecord<{
17
+ [x: string]: unknown;
18
+ }> & Required<{
19
+ _id: unknown;
20
+ }> & {
21
+ __v: number;
22
+ }>>;
23
+ export { CFeeAssignment };
@@ -0,0 +1,254 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CFeeAssignment = void 0;
4
+ var mongoose_1 = require("mongoose");
5
+ /**
6
+ * Fee Assignment Schema
7
+ *
8
+ * Purpose: Fees assigned to individual students
9
+ * Used by: Fees, Student Management modules
10
+ *
11
+ * Note: Currently uses student_id as string since student schema doesn't exist yet
12
+ * This can be updated to ObjectId reference when student schema is created
13
+ */
14
+ /* SCHEMA START */
15
+ var fee_assignment = new mongoose_1.Schema({
16
+ feeas_assignment_number: {
17
+ type: String,
18
+ required: true,
19
+ unique: true,
20
+ maxlength: 50,
21
+ trim: true,
22
+ comment: "Unique fee assignment number (auto-generated)"
23
+ },
24
+ feeas_student_id: {
25
+ type: String,
26
+ required: true,
27
+ comment: "Student ID (from admission form admap_student_id) - will be ObjectId when student schema exists"
28
+ },
29
+ feeas_fee_structure_id_feest: {
30
+ type: mongoose_1.default.Schema.Types.ObjectId,
31
+ ref: "fee_structures",
32
+ default: null,
33
+ comment: "Fee structure (if assigned from structure)"
34
+ },
35
+ feeas_fee_structure_item_id_feesi: {
36
+ type: mongoose_1.default.Schema.Types.ObjectId,
37
+ ref: "fee_structure_items",
38
+ default: null,
39
+ comment: "Specific fee structure item (if assigned from structure)"
40
+ },
41
+ feeas_fee_category_sygms: {
42
+ type: mongoose_1.default.Schema.Types.ObjectId,
43
+ ref: "core_general_master",
44
+ required: true,
45
+ comment: "Fee category (Tuition, Library, Lab, etc.)"
46
+ },
47
+ feeas_fee_name: {
48
+ type: String,
49
+ required: true,
50
+ minlength: 1,
51
+ maxlength: 200,
52
+ trim: true,
53
+ comment: "Fee name"
54
+ },
55
+ feeas_fee_description: {
56
+ type: String,
57
+ maxlength: 500,
58
+ trim: true,
59
+ comment: "Fee description"
60
+ },
61
+ feeas_fee_type: {
62
+ type: String,
63
+ required: true,
64
+ enum: ['ONE_TIME', 'RECURRING'],
65
+ default: 'ONE_TIME',
66
+ comment: "Fee type"
67
+ },
68
+ feeas_payment_frequency: {
69
+ type: String,
70
+ required: true,
71
+ enum: ['MONTHLY', 'QUARTERLY', 'SEMESTER', 'ANNUAL', 'ONE_TIME'],
72
+ default: 'ONE_TIME',
73
+ comment: "Payment frequency"
74
+ },
75
+ feeas_original_amount: {
76
+ type: Number,
77
+ required: true,
78
+ min: 0,
79
+ comment: "Original fee amount (before discounts)"
80
+ },
81
+ feeas_discount_amount: {
82
+ type: Number,
83
+ required: true,
84
+ default: 0,
85
+ min: 0,
86
+ comment: "Discount amount applied"
87
+ },
88
+ feeas_scholarship_amount: {
89
+ type: Number,
90
+ required: true,
91
+ default: 0,
92
+ min: 0,
93
+ comment: "Scholarship amount applied"
94
+ },
95
+ feeas_waiver_amount: {
96
+ type: Number,
97
+ required: true,
98
+ default: 0,
99
+ min: 0,
100
+ comment: "Waiver amount applied"
101
+ },
102
+ feeas_tax_amount: {
103
+ type: Number,
104
+ required: true,
105
+ default: 0,
106
+ min: 0,
107
+ comment: "Tax amount"
108
+ },
109
+ feeas_total_amount: {
110
+ type: Number,
111
+ required: true,
112
+ min: 0,
113
+ comment: "Total amount after discounts/scholarships/waivers (including tax)"
114
+ },
115
+ feeas_assigned_amount: {
116
+ type: Number,
117
+ required: true,
118
+ min: 0,
119
+ comment: "Amount assigned (may differ from total if partial assignment)"
120
+ },
121
+ feeas_paid_amount: {
122
+ type: Number,
123
+ required: true,
124
+ default: 0,
125
+ min: 0,
126
+ comment: "Total amount paid so far"
127
+ },
128
+ feeas_outstanding_amount: {
129
+ type: Number,
130
+ required: true,
131
+ min: 0,
132
+ comment: "Outstanding amount (assigned_amount - paid_amount)"
133
+ },
134
+ feeas_assignment_date: {
135
+ type: Date,
136
+ required: true,
137
+ default: Date.now,
138
+ comment: "Date when fee was assigned"
139
+ },
140
+ feeas_due_date: {
141
+ type: Date,
142
+ required: true,
143
+ comment: "Due date for payment"
144
+ },
145
+ feeas_collection_start_date: {
146
+ type: Date,
147
+ required: true,
148
+ comment: "Collection window start date"
149
+ },
150
+ feeas_collection_end_date: {
151
+ type: Date,
152
+ required: true,
153
+ comment: "Collection window end date"
154
+ },
155
+ feeas_installment_count: {
156
+ type: Number,
157
+ required: true,
158
+ default: 1,
159
+ min: 1,
160
+ max: 12,
161
+ comment: "Number of installments"
162
+ },
163
+ feeas_installment_amount: {
164
+ type: Number,
165
+ required: true,
166
+ min: 0,
167
+ comment: "Amount per installment"
168
+ },
169
+ feeas_paid_installments: {
170
+ type: Number,
171
+ required: true,
172
+ default: 0,
173
+ min: 0,
174
+ comment: "Number of installments paid"
175
+ },
176
+ feeas_payment_status: {
177
+ type: String,
178
+ required: true,
179
+ enum: ['PENDING', 'PARTIALLY_PAID', 'PAID', 'OVERDUE', 'WAIVED', 'CANCELLED'],
180
+ default: 'PENDING',
181
+ comment: "Payment status"
182
+ },
183
+ feeas_late_fee_applied: {
184
+ type: Boolean,
185
+ default: false,
186
+ comment: "Has late fee been applied"
187
+ },
188
+ feeas_late_fee_amount: {
189
+ type: Number,
190
+ required: true,
191
+ default: 0,
192
+ min: 0,
193
+ comment: "Late fee amount applied"
194
+ },
195
+ feeas_academic_year_id_acayr: {
196
+ type: mongoose_1.default.Schema.Types.ObjectId,
197
+ ref: "aca_academic_year",
198
+ required: true,
199
+ comment: "Academic year"
200
+ },
201
+ feeas_class_program_id_acacpm: {
202
+ type: mongoose_1.default.Schema.Types.ObjectId,
203
+ ref: "aca_class_program_master",
204
+ default: null,
205
+ comment: "Class/Program (from admission form)"
206
+ },
207
+ feeas_entity_id_syen: {
208
+ type: mongoose_1.default.Schema.Types.ObjectId,
209
+ ref: "core_system_entity",
210
+ required: true,
211
+ comment: "Entity/Organization"
212
+ },
213
+ feeas_admission_id_admap: {
214
+ type: mongoose_1.default.Schema.Types.ObjectId,
215
+ ref: "admission_application_main",
216
+ default: null,
217
+ comment: "Reference to admission form (for tracking)"
218
+ },
219
+ feeas_notes: {
220
+ type: String,
221
+ maxlength: 1000,
222
+ trim: true,
223
+ comment: "Additional notes"
224
+ },
225
+ feeas_created_by_user: {
226
+ type: mongoose_1.default.Schema.Types.ObjectId,
227
+ ref: "auth_user_mst",
228
+ required: true,
229
+ comment: "User who assigned the fee"
230
+ },
231
+ feeas_isactive: {
232
+ type: Boolean,
233
+ default: true,
234
+ comment: "Active status flag"
235
+ }
236
+ }, {
237
+ collection: 'fee_assignments',
238
+ timestamps: true // Adds created_at and updated_at
239
+ });
240
+ // Indexes for performance
241
+ fee_assignment.index({ feeas_assignment_number: 1 }, { unique: true });
242
+ fee_assignment.index({ feeas_student_id: 1, feeas_due_date: 1 });
243
+ fee_assignment.index({ feeas_fee_structure_id_feest: 1 });
244
+ fee_assignment.index({ feeas_payment_status: 1, feeas_due_date: 1 });
245
+ fee_assignment.index({ feeas_entity_id_syen: 1, feeas_academic_year_id_acayr: 1 });
246
+ fee_assignment.index({ feeas_due_date: 1 });
247
+ fee_assignment.index({ feeas_student_id: 1, feeas_payment_status: 1 });
248
+ fee_assignment.index({ feeas_entity_id_syen: 1, feeas_payment_status: 1 });
249
+ fee_assignment.index({ feeas_admission_id_admap: 1 });
250
+ /* SCHEMA END */
251
+ // Note: Interface will be defined in cloud-ide-lms-model
252
+ // For now, export the schema model
253
+ var CFeeAssignment = mongoose_1.default.model("fee_assignments", fee_assignment);
254
+ exports.CFeeAssignment = CFeeAssignment;
@@ -0,0 +1 @@
1
+ export * from './fee_assignment';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./fee_assignment"), exports);
@@ -5,5 +5,6 @@ export * from "./academics";
5
5
  export * from "./accounts";
6
6
  export * from "./frontdesk";
7
7
  export * from "./admission";
8
+ export * from "./fees";
8
9
  export * from "./notifications";
9
10
  export * from "./system";
@@ -21,5 +21,6 @@ __exportStar(require("./academics"), exports);
21
21
  __exportStar(require("./accounts"), exports);
22
22
  __exportStar(require("./frontdesk"), exports);
23
23
  __exportStar(require("./admission"), exports);
24
+ __exportStar(require("./fees"), exports);
24
25
  __exportStar(require("./notifications"), exports);
25
26
  __exportStar(require("./system"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "dependencies": {
3
- "cloud-ide-lms-model": "^1.0.334",
3
+ "cloud-ide-lms-model": "^1.0.340",
4
4
  "dotenv": "^16.5.0",
5
5
  "mongoose": "^8.15.0"
6
6
  },
@@ -9,7 +9,7 @@
9
9
  "typescript": "^5.8.3"
10
10
  },
11
11
  "name": "cloud-ide-model-schema",
12
- "version": "1.1.117",
12
+ "version": "1.1.119",
13
13
  "description": "Pachage for schema management of Cloud IDEsys LMS",
14
14
  "main": "lib/index.js",
15
15
  "types": "lib/index.d.ts",