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.
- package/lib/schema/admission/admission_application_main.js +6 -0
- package/lib/schema/fees/fee_assignment.d.ts +23 -0
- package/lib/schema/fees/fee_assignment.js +254 -0
- package/lib/schema/fees/index.d.ts +1 -0
- package/lib/schema/fees/index.js +17 -0
- package/lib/schema/index.d.ts +1 -0
- package/lib/schema/index.js +1 -0
- package/package.json +2 -2
|
@@ -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);
|
package/lib/schema/index.d.ts
CHANGED
package/lib/schema/index.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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",
|