cloud-ide-model-schema 1.1.141 → 1.1.143
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/config/database.js +297 -30
- package/lib/schema/academics/academics_bonafide_request.d.ts +8 -0
- package/lib/schema/academics/academics_bonafide_request.js +98 -0
- package/lib/schema/academics/index.d.ts +1 -0
- package/lib/schema/academics/index.js +1 -0
- package/lib/schema/admission/admission_application_main.js +44 -0
- package/lib/schema/admission/admission_family_members.js +5 -0
- package/lib/schema/admission/admission_rte_details.d.ts +45 -0
- package/lib/schema/admission/admission_rte_details.js +177 -0
- package/lib/schema/admission/admission_vital_information.d.ts +45 -0
- package/lib/schema/admission/admission_vital_information.js +120 -0
- package/lib/schema/admission/index.d.ts +2 -0
- package/lib/schema/admission/index.js +2 -0
- package/lib/schema/auth/auth_user_mst.js +11 -0
- package/lib/schema/core/core_department.js +6 -0
- package/lib/schema/core/core_designation.js +6 -0
- package/lib/schema/core/core_entity_mapping.js +11 -0
- package/lib/schema/core/core_user_role.js +6 -0
- package/lib/schema/core/core_workflow_approver_rules.d.ts +8 -0
- package/lib/schema/core/core_workflow_approver_rules.js +83 -0
- package/lib/schema/core/core_workflow_config.d.ts +8 -0
- package/lib/schema/core/core_workflow_config.js +103 -0
- package/lib/schema/core/core_workflow_registry.d.ts +8 -0
- package/lib/schema/core/core_workflow_registry.js +128 -0
- package/lib/schema/core/core_workflow_transaction_history.d.ts +8 -0
- package/lib/schema/core/core_workflow_transaction_history.js +86 -0
- package/lib/schema/core/index.d.ts +13 -1
- package/lib/schema/core/index.js +9 -1
- package/lib/schema/email/email_log.js +22 -1
- package/lib/schema/email/email_reference.js +23 -3
- package/lib/schema/email/email_subscription_vendor.js +16 -1
- package/lib/schema/email/email_templete.js +36 -1
- package/package.json +2 -2
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import mongoose from "mongoose";
|
|
2
|
+
declare const CAdmissionRteDetails: 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
|
+
declare const CAdmissionEntityAccessPassManagementAdmrte: mongoose.Model<{
|
|
24
|
+
[x: string]: unknown;
|
|
25
|
+
}, {}, {}, {}, mongoose.Document<unknown, {}, {
|
|
26
|
+
[x: string]: unknown;
|
|
27
|
+
}, {}> & {
|
|
28
|
+
[x: string]: unknown;
|
|
29
|
+
} & Required<{
|
|
30
|
+
_id: unknown;
|
|
31
|
+
}> & {
|
|
32
|
+
__v: number;
|
|
33
|
+
}, mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, {
|
|
34
|
+
[x: string]: unknown;
|
|
35
|
+
}, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
|
|
36
|
+
[x: string]: unknown;
|
|
37
|
+
}>, {}> & mongoose.FlatRecord<{
|
|
38
|
+
[x: string]: unknown;
|
|
39
|
+
}> & Required<{
|
|
40
|
+
_id: unknown;
|
|
41
|
+
}> & {
|
|
42
|
+
__v: number;
|
|
43
|
+
}>>;
|
|
44
|
+
export { CAdmissionEntityAccessPassManagementAdmrte, // collection
|
|
45
|
+
CAdmissionRteDetails };
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CAdmissionRteDetails = exports.CAdmissionEntityAccessPassManagementAdmrte = void 0;
|
|
4
|
+
var mongoose_1 = require("mongoose");
|
|
5
|
+
/**
|
|
6
|
+
* Admission RTE (Right to Education) Details Schema
|
|
7
|
+
*
|
|
8
|
+
* Purpose: Store comprehensive RTE scheme details for admission applications
|
|
9
|
+
* Prefix: admrte_ (admission RTE)
|
|
10
|
+
*
|
|
11
|
+
* BUSINESS LOGIC:
|
|
12
|
+
* 1. Separate table for RTE details to allow future integration with multiple tables
|
|
13
|
+
* 2. One RTE details record per admission (when RTE scheme is applicable)
|
|
14
|
+
* 3. Stores certificates, income details, caste information, BPL card details
|
|
15
|
+
* 4. Reference fields for future extensibility to connect with student master and other tables
|
|
16
|
+
* 5. Entity-based access control
|
|
17
|
+
*/
|
|
18
|
+
/* SCHEMA START */
|
|
19
|
+
var admission_rte_details = new mongoose_1.Schema({
|
|
20
|
+
admrte_admission_id_admap: {
|
|
21
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
22
|
+
ref: 'admission_application_main',
|
|
23
|
+
required: true,
|
|
24
|
+
comment: "Reference to admission application (primary reference)"
|
|
25
|
+
},
|
|
26
|
+
admrte_reference_table: {
|
|
27
|
+
type: String,
|
|
28
|
+
maxlength: 100,
|
|
29
|
+
trim: true,
|
|
30
|
+
comment: "Reference table name for future extensibility (e.g., 'admission_application_main', 'student_master')"
|
|
31
|
+
},
|
|
32
|
+
admrte_reference_id: {
|
|
33
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
34
|
+
comment: "Reference ID for future extensibility (reference to other tables)"
|
|
35
|
+
},
|
|
36
|
+
admrte_rte_certificate_number: {
|
|
37
|
+
type: String,
|
|
38
|
+
maxlength: 100,
|
|
39
|
+
trim: true,
|
|
40
|
+
comment: "RTE certificate number"
|
|
41
|
+
},
|
|
42
|
+
admrte_rte_certificate_date: {
|
|
43
|
+
type: Date,
|
|
44
|
+
comment: "RTE certificate issue date"
|
|
45
|
+
},
|
|
46
|
+
admrte_rte_category_id_sygms: {
|
|
47
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
48
|
+
ref: 'core_general_master',
|
|
49
|
+
comment: "RTE category (Economically Weaker Section, Disadvantaged Group, etc.) - Reference to core_general_master with type 'RTE_CATEGORY'"
|
|
50
|
+
},
|
|
51
|
+
admrte_income_certificate_number: {
|
|
52
|
+
type: String,
|
|
53
|
+
maxlength: 100,
|
|
54
|
+
trim: true,
|
|
55
|
+
comment: "Income certificate number"
|
|
56
|
+
},
|
|
57
|
+
admrte_income_certificate_date: {
|
|
58
|
+
type: Date,
|
|
59
|
+
comment: "Income certificate date"
|
|
60
|
+
},
|
|
61
|
+
admrte_income_certificate_id_cyfm: {
|
|
62
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
63
|
+
ref: 'core_file_manager',
|
|
64
|
+
comment: "Income certificate file manager ID"
|
|
65
|
+
},
|
|
66
|
+
admrte_caste_certificate_number: {
|
|
67
|
+
type: String,
|
|
68
|
+
maxlength: 100,
|
|
69
|
+
trim: true,
|
|
70
|
+
comment: "Caste certificate number"
|
|
71
|
+
},
|
|
72
|
+
admrte_caste_certificate_date: {
|
|
73
|
+
type: Date,
|
|
74
|
+
comment: "Caste certificate date"
|
|
75
|
+
},
|
|
76
|
+
admrte_caste_certificate_id_cyfm: {
|
|
77
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
78
|
+
ref: 'core_file_manager',
|
|
79
|
+
comment: "Caste certificate file manager ID"
|
|
80
|
+
},
|
|
81
|
+
admrte_caste_category_id_sygms: {
|
|
82
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
83
|
+
ref: 'core_general_master',
|
|
84
|
+
comment: "Caste category (General, OBC, SC, ST, etc.) - Reference to core_general_master with type 'CASTE_CATEGORY'"
|
|
85
|
+
},
|
|
86
|
+
admrte_bpl_card_number: {
|
|
87
|
+
type: String,
|
|
88
|
+
maxlength: 100,
|
|
89
|
+
trim: true,
|
|
90
|
+
comment: "BPL (Below Poverty Line) card number"
|
|
91
|
+
},
|
|
92
|
+
admrte_bpl_card_id_cyfm: {
|
|
93
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
94
|
+
ref: 'core_file_manager',
|
|
95
|
+
comment: "BPL card file manager ID"
|
|
96
|
+
},
|
|
97
|
+
admrte_annual_income: {
|
|
98
|
+
type: Number,
|
|
99
|
+
min: 0,
|
|
100
|
+
comment: "Annual family income"
|
|
101
|
+
},
|
|
102
|
+
admrte_annual_income_currency_id_syic: {
|
|
103
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
104
|
+
ref: 'core_iso_currency',
|
|
105
|
+
comment: "Currency reference for annual income"
|
|
106
|
+
},
|
|
107
|
+
admrte_rte_quota_percentage: {
|
|
108
|
+
type: Number,
|
|
109
|
+
min: 0,
|
|
110
|
+
max: 100,
|
|
111
|
+
comment: "RTE quota percentage (0-100)"
|
|
112
|
+
},
|
|
113
|
+
admrte_remarks: {
|
|
114
|
+
type: String,
|
|
115
|
+
maxlength: 1000,
|
|
116
|
+
trim: true,
|
|
117
|
+
comment: "Additional remarks/notes"
|
|
118
|
+
},
|
|
119
|
+
admrte_isactive: {
|
|
120
|
+
type: Boolean,
|
|
121
|
+
default: true,
|
|
122
|
+
comment: "Is active"
|
|
123
|
+
}
|
|
124
|
+
}, {
|
|
125
|
+
collection: 'admission_rte_details'
|
|
126
|
+
});
|
|
127
|
+
// Indexes for better performance
|
|
128
|
+
admission_rte_details.index({ admrte_admission_id_admap: 1 });
|
|
129
|
+
admission_rte_details.index({ admrte_reference_table: 1, admrte_reference_id: 1 });
|
|
130
|
+
admission_rte_details.index({ admrte_isactive: 1 });
|
|
131
|
+
var CAdmissionRteDetails = mongoose_1.default.model("admission_rte_details", admission_rte_details);
|
|
132
|
+
exports.CAdmissionRteDetails = CAdmissionRteDetails;
|
|
133
|
+
// Access pass for entity-based access control
|
|
134
|
+
var admission_entity_access_pass_management_admrte = new mongoose_1.Schema({
|
|
135
|
+
admepm_user_id_user: {
|
|
136
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
137
|
+
ref: 'auth_user_mst',
|
|
138
|
+
comment: "User who has access"
|
|
139
|
+
},
|
|
140
|
+
admepm_entity_id_syen: {
|
|
141
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
142
|
+
ref: 'core_system_entity',
|
|
143
|
+
comment: "Entity context"
|
|
144
|
+
},
|
|
145
|
+
admepm_access_pass_to: {
|
|
146
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
147
|
+
ref: 'admission_rte_details',
|
|
148
|
+
comment: "RTE details record access"
|
|
149
|
+
},
|
|
150
|
+
admepm_is_owner: {
|
|
151
|
+
type: Boolean,
|
|
152
|
+
default: true,
|
|
153
|
+
comment: "Is owner of record"
|
|
154
|
+
},
|
|
155
|
+
admepm_can_edit: {
|
|
156
|
+
type: Boolean,
|
|
157
|
+
default: true,
|
|
158
|
+
comment: "Can edit permission"
|
|
159
|
+
},
|
|
160
|
+
admepm_can_view: {
|
|
161
|
+
type: Boolean,
|
|
162
|
+
default: true,
|
|
163
|
+
comment: "Can view permission"
|
|
164
|
+
},
|
|
165
|
+
admepm_isactive: {
|
|
166
|
+
type: Boolean,
|
|
167
|
+
default: true,
|
|
168
|
+
comment: "Is access active"
|
|
169
|
+
},
|
|
170
|
+
admepm_actions_allowed: {
|
|
171
|
+
type: Object,
|
|
172
|
+
default: {},
|
|
173
|
+
comment: "Specific actions allowed"
|
|
174
|
+
}
|
|
175
|
+
}, { collection: 'admission_entity_access_pass_management_admrte' });
|
|
176
|
+
var CAdmissionEntityAccessPassManagementAdmrte = mongoose_1.default.model("admission_entity_access_pass_management_admrte", admission_entity_access_pass_management_admrte);
|
|
177
|
+
exports.CAdmissionEntityAccessPassManagementAdmrte = CAdmissionEntityAccessPassManagementAdmrte;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import mongoose from "mongoose";
|
|
2
|
+
declare const CAdmissionVitalInformation: 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
|
+
declare const CAdmissionEntityAccessPassManagementAdmvi: mongoose.Model<{
|
|
24
|
+
[x: string]: unknown;
|
|
25
|
+
}, {}, {}, {}, mongoose.Document<unknown, {}, {
|
|
26
|
+
[x: string]: unknown;
|
|
27
|
+
}, {}> & {
|
|
28
|
+
[x: string]: unknown;
|
|
29
|
+
} & Required<{
|
|
30
|
+
_id: unknown;
|
|
31
|
+
}> & {
|
|
32
|
+
__v: number;
|
|
33
|
+
}, mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, {
|
|
34
|
+
[x: string]: unknown;
|
|
35
|
+
}, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
|
|
36
|
+
[x: string]: unknown;
|
|
37
|
+
}>, {}> & mongoose.FlatRecord<{
|
|
38
|
+
[x: string]: unknown;
|
|
39
|
+
}> & Required<{
|
|
40
|
+
_id: unknown;
|
|
41
|
+
}> & {
|
|
42
|
+
__v: number;
|
|
43
|
+
}>>;
|
|
44
|
+
export { CAdmissionEntityAccessPassManagementAdmvi, // collection
|
|
45
|
+
CAdmissionVitalInformation };
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CAdmissionVitalInformation = exports.CAdmissionEntityAccessPassManagementAdmvi = void 0;
|
|
4
|
+
var mongoose_1 = require("mongoose");
|
|
5
|
+
/**
|
|
6
|
+
* Admission Vital Information Schema
|
|
7
|
+
*
|
|
8
|
+
* Purpose: Store flexible vital information for admission applications with timestamps
|
|
9
|
+
* Prefix: admvi_ (admission vital information)
|
|
10
|
+
*
|
|
11
|
+
* BUSINESS LOGIC:
|
|
12
|
+
* 1. Multiple vital information entries per admission (height, weight, blood pressure, etc.)
|
|
13
|
+
* 2. Flexible structure - vital types configurable via general master
|
|
14
|
+
* 3. Each entry has capture date and user for audit trail
|
|
15
|
+
* 4. Supports various units of measurement (configurable via general master)
|
|
16
|
+
* 5. Entity-based access control
|
|
17
|
+
*/
|
|
18
|
+
/* SCHEMA START */
|
|
19
|
+
var admission_vital_information = new mongoose_1.Schema({
|
|
20
|
+
admvi_admission_id_admap: {
|
|
21
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
22
|
+
ref: 'admission_application_main',
|
|
23
|
+
required: true,
|
|
24
|
+
comment: "Reference to admission application"
|
|
25
|
+
},
|
|
26
|
+
admvi_vital_type_id_sygms: {
|
|
27
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
28
|
+
ref: 'core_general_master',
|
|
29
|
+
required: true,
|
|
30
|
+
comment: "Vital information type (Height, Weight, Blood Pressure, etc.) - Reference to core_general_master with type 'VITAL_INFORMATION_TYPE'"
|
|
31
|
+
},
|
|
32
|
+
admvi_value: {
|
|
33
|
+
type: String,
|
|
34
|
+
maxlength: 100,
|
|
35
|
+
trim: true,
|
|
36
|
+
required: true,
|
|
37
|
+
comment: "Vital information value (stored as string to support various data types)"
|
|
38
|
+
},
|
|
39
|
+
admvi_unit_id_sygms: {
|
|
40
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
41
|
+
ref: 'core_general_master',
|
|
42
|
+
comment: "Unit of measurement (cm, kg, mmHg, bpm, etc.) - Reference to core_general_master with type 'VITAL_INFORMATION_UNIT'"
|
|
43
|
+
},
|
|
44
|
+
admvi_captured_date: {
|
|
45
|
+
type: Date,
|
|
46
|
+
required: true,
|
|
47
|
+
default: Date.now,
|
|
48
|
+
comment: "Date when vital information was captured"
|
|
49
|
+
},
|
|
50
|
+
admvi_captured_by_user: {
|
|
51
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
52
|
+
ref: 'auth_user_mst',
|
|
53
|
+
comment: "User who captured the vital information"
|
|
54
|
+
},
|
|
55
|
+
admvi_remarks: {
|
|
56
|
+
type: String,
|
|
57
|
+
maxlength: 500,
|
|
58
|
+
trim: true,
|
|
59
|
+
comment: "Additional remarks/notes about the vital information"
|
|
60
|
+
},
|
|
61
|
+
admvi_isactive: {
|
|
62
|
+
type: Boolean,
|
|
63
|
+
default: true,
|
|
64
|
+
comment: "Is active"
|
|
65
|
+
}
|
|
66
|
+
}, {
|
|
67
|
+
collection: 'admission_vital_information'
|
|
68
|
+
});
|
|
69
|
+
// Indexes for better performance
|
|
70
|
+
admission_vital_information.index({ admvi_admission_id_admap: 1 });
|
|
71
|
+
admission_vital_information.index({ admvi_vital_type_id_sygms: 1 });
|
|
72
|
+
admission_vital_information.index({ admvi_captured_date: 1 });
|
|
73
|
+
admission_vital_information.index({ admvi_isactive: 1 });
|
|
74
|
+
var CAdmissionVitalInformation = mongoose_1.default.model("admission_vital_information", admission_vital_information);
|
|
75
|
+
exports.CAdmissionVitalInformation = CAdmissionVitalInformation;
|
|
76
|
+
// Access pass for entity-based access control
|
|
77
|
+
var admission_entity_access_pass_management_admvi = new mongoose_1.Schema({
|
|
78
|
+
admepm_user_id_user: {
|
|
79
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
80
|
+
ref: 'auth_user_mst',
|
|
81
|
+
comment: "User who has access"
|
|
82
|
+
},
|
|
83
|
+
admepm_entity_id_syen: {
|
|
84
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
85
|
+
ref: 'core_system_entity',
|
|
86
|
+
comment: "Entity context"
|
|
87
|
+
},
|
|
88
|
+
admepm_access_pass_to: {
|
|
89
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
90
|
+
ref: 'admission_vital_information',
|
|
91
|
+
comment: "Vital information record access"
|
|
92
|
+
},
|
|
93
|
+
admepm_is_owner: {
|
|
94
|
+
type: Boolean,
|
|
95
|
+
default: true,
|
|
96
|
+
comment: "Is owner of record"
|
|
97
|
+
},
|
|
98
|
+
admepm_can_edit: {
|
|
99
|
+
type: Boolean,
|
|
100
|
+
default: true,
|
|
101
|
+
comment: "Can edit permission"
|
|
102
|
+
},
|
|
103
|
+
admepm_can_view: {
|
|
104
|
+
type: Boolean,
|
|
105
|
+
default: true,
|
|
106
|
+
comment: "Can view permission"
|
|
107
|
+
},
|
|
108
|
+
admepm_isactive: {
|
|
109
|
+
type: Boolean,
|
|
110
|
+
default: true,
|
|
111
|
+
comment: "Is access active"
|
|
112
|
+
},
|
|
113
|
+
admepm_actions_allowed: {
|
|
114
|
+
type: Object,
|
|
115
|
+
default: {},
|
|
116
|
+
comment: "Specific actions allowed"
|
|
117
|
+
}
|
|
118
|
+
}, { collection: 'admission_entity_access_pass_management_admvi' });
|
|
119
|
+
var CAdmissionEntityAccessPassManagementAdmvi = mongoose_1.default.model("admission_entity_access_pass_management_admvi", admission_entity_access_pass_management_admvi);
|
|
120
|
+
exports.CAdmissionEntityAccessPassManagementAdmvi = CAdmissionEntityAccessPassManagementAdmvi;
|
|
@@ -5,3 +5,5 @@ export * from "./admission_document_uploads";
|
|
|
5
5
|
export * from "./admission_contact_addresses";
|
|
6
6
|
export * from "./admission_family_members";
|
|
7
7
|
export * from "./admission_fee_snapshot";
|
|
8
|
+
export * from "./admission_rte_details";
|
|
9
|
+
export * from "./admission_vital_information";
|
|
@@ -21,3 +21,5 @@ __exportStar(require("./admission_document_uploads"), exports);
|
|
|
21
21
|
__exportStar(require("./admission_contact_addresses"), exports);
|
|
22
22
|
__exportStar(require("./admission_family_members"), exports);
|
|
23
23
|
__exportStar(require("./admission_fee_snapshot"), exports);
|
|
24
|
+
__exportStar(require("./admission_rte_details"), exports);
|
|
25
|
+
__exportStar(require("./admission_vital_information"), exports);
|
|
@@ -75,5 +75,16 @@ var auth_user_mst = new mongoose_1.Schema({
|
|
|
75
75
|
type: Boolean
|
|
76
76
|
}
|
|
77
77
|
}, { collection: 'auth_user_mst' });
|
|
78
|
+
// Indexes for performance optimization
|
|
79
|
+
// Compound index for user listing queries (sorting and filtering)
|
|
80
|
+
auth_user_mst.index({ user_fullname: 1, user_username: 1 });
|
|
81
|
+
// Index for email search queries
|
|
82
|
+
auth_user_mst.index({ user_emailid: 1 });
|
|
83
|
+
// Index for username search (already unique, but explicit index for clarity)
|
|
84
|
+
auth_user_mst.index({ user_username: 1 });
|
|
85
|
+
// Index for fullname search
|
|
86
|
+
auth_user_mst.index({ user_fullname: 1 });
|
|
87
|
+
// Index for active user filtering
|
|
88
|
+
auth_user_mst.index({ user_isactive: 1 });
|
|
78
89
|
var CUser = mongoose_1.default.model('auth_user_mst', auth_user_mst);
|
|
79
90
|
exports.CUser = CUser;
|
|
@@ -39,5 +39,11 @@ var core_department = new mongoose_1.Schema({
|
|
|
39
39
|
required: true
|
|
40
40
|
}
|
|
41
41
|
}, { collection: 'core_department' });
|
|
42
|
+
// Indexes for performance optimization
|
|
43
|
+
// Index for entity-based department lookups
|
|
44
|
+
core_department.index({ sydept_entity_id_syen: 1, sydept_isactive: 1 });
|
|
45
|
+
// Index for active department filtering
|
|
46
|
+
core_department.index({ sydept_isactive: 1 });
|
|
47
|
+
// Note: _id is automatically indexed by MongoDB
|
|
42
48
|
var CCoreSydept = mongoose_1.default.model("core_department", core_department);
|
|
43
49
|
exports.CCoreSydept = CCoreSydept;
|
|
@@ -49,5 +49,11 @@ var core_designation = new mongoose_1.Schema({
|
|
|
49
49
|
required: true
|
|
50
50
|
}
|
|
51
51
|
}, { collection: 'core_designation' });
|
|
52
|
+
// Indexes for performance optimization
|
|
53
|
+
// Index for entity-based designation lookups
|
|
54
|
+
core_designation.index({ desg_entity_id_syen: 1, sydsg_isactive: 1 });
|
|
55
|
+
// Index for active designation filtering
|
|
56
|
+
core_designation.index({ sydsg_isactive: 1 });
|
|
57
|
+
// Note: _id is automatically indexed by MongoDB
|
|
52
58
|
var CCoreSydsg = mongoose_1.default.model("core_designation", core_designation);
|
|
53
59
|
exports.CCoreSydsg = CCoreSydsg;
|
|
@@ -49,5 +49,16 @@ var core_entity_mapping = new mongoose_1.Schema({
|
|
|
49
49
|
default: true
|
|
50
50
|
},
|
|
51
51
|
}, { collection: 'core_entity_mapping' });
|
|
52
|
+
// Indexes for performance optimization
|
|
53
|
+
// Compound index for user listing queries with entity filtering (most common query pattern)
|
|
54
|
+
core_entity_mapping.index({ syenm_id_user: 1, syenm_entity_id_syen: 1, syenm_isactive: 1 });
|
|
55
|
+
// Index for user-based lookups
|
|
56
|
+
core_entity_mapping.index({ syenm_id_user: 1, syenm_isactive: 1 });
|
|
57
|
+
// Index for entity-based lookups
|
|
58
|
+
core_entity_mapping.index({ syenm_entity_id_syen: 1, syenm_isactive: 1 });
|
|
59
|
+
// Index for role lookups
|
|
60
|
+
core_entity_mapping.index({ syenm_role_id_syusrol: 1 });
|
|
61
|
+
// Index for active mappings only
|
|
62
|
+
core_entity_mapping.index({ syenm_isactive: 1 });
|
|
52
63
|
var CCoreSyenm = mongoose_1.default.model("core_entity_mapping", core_entity_mapping);
|
|
53
64
|
exports.CCoreSyenm = CCoreSyenm;
|
|
@@ -26,5 +26,11 @@ var core_user_role = new mongoose_1.Schema({
|
|
|
26
26
|
default: true
|
|
27
27
|
}
|
|
28
28
|
}, { collection: 'core_user_role' });
|
|
29
|
+
// Indexes for performance optimization
|
|
30
|
+
// Index for active role filtering
|
|
31
|
+
core_user_role.index({ syusrol_isactive: 1 });
|
|
32
|
+
// Index for entity-based role lookups
|
|
33
|
+
core_user_role.index({ syusrol_role_entity_id_syen: 1, syusrol_isactive: 1 });
|
|
34
|
+
// Note: _id is automatically indexed by MongoDB
|
|
29
35
|
var CCoreUserRole = mongoose_1.default.model("core_user_role", core_user_role);
|
|
30
36
|
exports.CCoreUserRole = CCoreUserRole;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ICoreWorkflowApproverRules } from "cloud-ide-lms-model";
|
|
2
|
+
import mongoose from "mongoose";
|
|
3
|
+
declare const CCoreWorkflowApproverRules: mongoose.Model<ICoreWorkflowApproverRules, {}, {}, {}, mongoose.Document<unknown, {}, ICoreWorkflowApproverRules, {}> & ICoreWorkflowApproverRules & Required<{
|
|
4
|
+
_id: string;
|
|
5
|
+
}> & {
|
|
6
|
+
__v: number;
|
|
7
|
+
}, any>;
|
|
8
|
+
export { CCoreWorkflowApproverRules };
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CCoreWorkflowApproverRules = void 0;
|
|
4
|
+
var mongoose_1 = require("mongoose");
|
|
5
|
+
/* SCHEMA START */
|
|
6
|
+
var core_workflow_approver_rules = new mongoose_1.Schema({
|
|
7
|
+
wfar_workflow_config_id_wfcfg: {
|
|
8
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
9
|
+
ref: "core_workflow_config",
|
|
10
|
+
required: true,
|
|
11
|
+
comment: "Workflow config reference"
|
|
12
|
+
},
|
|
13
|
+
wfar_approval_group_id: {
|
|
14
|
+
type: String,
|
|
15
|
+
maxlength: 50,
|
|
16
|
+
trim: true,
|
|
17
|
+
comment: "Group identifier for complex approval logic (e.g., 'group_a', 'group_b')"
|
|
18
|
+
},
|
|
19
|
+
wfar_group_approval_type_id_sygms: {
|
|
20
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
21
|
+
ref: "core_general_master",
|
|
22
|
+
comment: "Approval type for this group (ANY, ALL, SEQUENTIAL)"
|
|
23
|
+
},
|
|
24
|
+
wfar_rule_type_id_sygms: {
|
|
25
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
26
|
+
ref: "core_general_master",
|
|
27
|
+
required: true,
|
|
28
|
+
comment: "Primary rule type (from WORKFLOW_RULE_TYPE)"
|
|
29
|
+
},
|
|
30
|
+
wfar_rule_value: {
|
|
31
|
+
type: String,
|
|
32
|
+
maxlength: 200,
|
|
33
|
+
trim: true,
|
|
34
|
+
comment: "ID or code based on rule_type"
|
|
35
|
+
},
|
|
36
|
+
wfar_rule_operator_id_sygms: {
|
|
37
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
38
|
+
ref: "core_general_master",
|
|
39
|
+
required: true,
|
|
40
|
+
comment: "Operator (from WORKFLOW_RULE_OPERATOR: include, exclude)"
|
|
41
|
+
},
|
|
42
|
+
wfar_combined_filters: {
|
|
43
|
+
type: Object,
|
|
44
|
+
comment: "Combined filters for targeted approver selection (designation + department, etc.)"
|
|
45
|
+
},
|
|
46
|
+
wfar_priority: {
|
|
47
|
+
type: Number,
|
|
48
|
+
default: 1,
|
|
49
|
+
comment: "Rule priority (lower = higher priority)"
|
|
50
|
+
},
|
|
51
|
+
wfar_condition: {
|
|
52
|
+
type: Object,
|
|
53
|
+
comment: "JSON condition for conditional routing"
|
|
54
|
+
},
|
|
55
|
+
wfar_is_optional: {
|
|
56
|
+
type: Boolean,
|
|
57
|
+
default: false,
|
|
58
|
+
comment: "Is this an optional approver group"
|
|
59
|
+
},
|
|
60
|
+
wfar_min_approvals: {
|
|
61
|
+
type: Number,
|
|
62
|
+
comment: "Minimum approvals required from this group (for optional groups)"
|
|
63
|
+
},
|
|
64
|
+
wfar_valid_from_date: {
|
|
65
|
+
type: Date,
|
|
66
|
+
comment: "Rule valid from date (for time-based approver assignment)"
|
|
67
|
+
},
|
|
68
|
+
wfar_valid_to_date: {
|
|
69
|
+
type: Date,
|
|
70
|
+
comment: "Rule valid to date (for time-based approver assignment)"
|
|
71
|
+
},
|
|
72
|
+
wfar_isactive: {
|
|
73
|
+
type: Boolean,
|
|
74
|
+
default: true,
|
|
75
|
+
comment: "Rule is active"
|
|
76
|
+
}
|
|
77
|
+
}, { collection: 'core_workflow_approver_rules' });
|
|
78
|
+
// Indexes for performance optimization
|
|
79
|
+
core_workflow_approver_rules.index({ wfar_workflow_config_id_wfcfg: 1, wfar_isactive: 1 });
|
|
80
|
+
core_workflow_approver_rules.index({ wfar_approval_group_id: 1 });
|
|
81
|
+
core_workflow_approver_rules.index({ wfar_rule_type_id_sygms: 1, wfar_rule_value: 1 });
|
|
82
|
+
var CCoreWorkflowApproverRules = mongoose_1.default.model("core_workflow_approver_rules", core_workflow_approver_rules);
|
|
83
|
+
exports.CCoreWorkflowApproverRules = CCoreWorkflowApproverRules;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ICoreWorkflowConfig } from "cloud-ide-lms-model";
|
|
2
|
+
import mongoose from "mongoose";
|
|
3
|
+
declare const CCoreWorkflowConfig: mongoose.Model<ICoreWorkflowConfig, {}, {}, {}, mongoose.Document<unknown, {}, ICoreWorkflowConfig, {}> & ICoreWorkflowConfig & Required<{
|
|
4
|
+
_id: string;
|
|
5
|
+
}> & {
|
|
6
|
+
__v: number;
|
|
7
|
+
}, any>;
|
|
8
|
+
export { CCoreWorkflowConfig };
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CCoreWorkflowConfig = void 0;
|
|
4
|
+
var mongoose_1 = require("mongoose");
|
|
5
|
+
/* SCHEMA START */
|
|
6
|
+
var core_workflow_config = new mongoose_1.Schema({
|
|
7
|
+
wfcfg_workflow_id_wfrg: {
|
|
8
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
9
|
+
ref: "core_workflow_registry",
|
|
10
|
+
required: true,
|
|
11
|
+
comment: "Workflow reference"
|
|
12
|
+
},
|
|
13
|
+
wfcfg_step_number: {
|
|
14
|
+
type: Number,
|
|
15
|
+
required: true,
|
|
16
|
+
comment: "Step sequence (1, 2, 3...)"
|
|
17
|
+
},
|
|
18
|
+
wfcfg_step_name: {
|
|
19
|
+
type: String,
|
|
20
|
+
required: true,
|
|
21
|
+
maxlength: 100,
|
|
22
|
+
trim: true,
|
|
23
|
+
comment: "Step display name"
|
|
24
|
+
},
|
|
25
|
+
wfcfg_approval_type_id_sygms: {
|
|
26
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
27
|
+
ref: "core_general_master",
|
|
28
|
+
comment: "Approval logic type (from WORKFLOW_APPROVAL_TYPE)"
|
|
29
|
+
},
|
|
30
|
+
wfcfg_approval_logic: {
|
|
31
|
+
type: Object,
|
|
32
|
+
comment: "Complex approval logic configuration (for group-based approvals)"
|
|
33
|
+
},
|
|
34
|
+
wfcfg_allow_edit: {
|
|
35
|
+
type: Boolean,
|
|
36
|
+
default: false,
|
|
37
|
+
comment: "Can approver edit component values"
|
|
38
|
+
},
|
|
39
|
+
wfcfg_allow_reject: {
|
|
40
|
+
type: Boolean,
|
|
41
|
+
default: true,
|
|
42
|
+
comment: "Can approver reject"
|
|
43
|
+
},
|
|
44
|
+
wfcfg_allow_request_changes: {
|
|
45
|
+
type: Boolean,
|
|
46
|
+
default: true,
|
|
47
|
+
comment: "Can approver request changes"
|
|
48
|
+
},
|
|
49
|
+
wfcfg_timeout_hours: {
|
|
50
|
+
type: Number,
|
|
51
|
+
comment: "Auto-escalation timeout in hours"
|
|
52
|
+
},
|
|
53
|
+
wfcfg_escalation_step: {
|
|
54
|
+
type: Number,
|
|
55
|
+
comment: "Step to escalate to if timeout"
|
|
56
|
+
},
|
|
57
|
+
wfcfg_use_fallback: {
|
|
58
|
+
type: Boolean,
|
|
59
|
+
default: false,
|
|
60
|
+
comment: "Use fallback rules if no rules match"
|
|
61
|
+
},
|
|
62
|
+
wfcfg_valid_from_date: {
|
|
63
|
+
type: Date,
|
|
64
|
+
comment: "Step valid from date (for time-based rules)"
|
|
65
|
+
},
|
|
66
|
+
wfcfg_valid_to_date: {
|
|
67
|
+
type: Date,
|
|
68
|
+
comment: "Step valid to date (for time-based rules)"
|
|
69
|
+
},
|
|
70
|
+
wfcfg_isactive: {
|
|
71
|
+
type: Boolean,
|
|
72
|
+
default: true,
|
|
73
|
+
comment: "Step is active"
|
|
74
|
+
},
|
|
75
|
+
wfcfg_fallback_user_id_auth: {
|
|
76
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
77
|
+
ref: "auth_user_mst",
|
|
78
|
+
comment: "Fallback approver user"
|
|
79
|
+
},
|
|
80
|
+
wfcfg_fallback_designation_id: {
|
|
81
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
82
|
+
comment: "Fallback approver designation"
|
|
83
|
+
},
|
|
84
|
+
wfcfg_fallback_department_id: {
|
|
85
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
86
|
+
comment: "Fallback approver department"
|
|
87
|
+
},
|
|
88
|
+
wfcfg_fallback_role_id: {
|
|
89
|
+
type: mongoose_1.default.Schema.Types.ObjectId,
|
|
90
|
+
ref: "core_user_role",
|
|
91
|
+
comment: "Fallback approver role"
|
|
92
|
+
},
|
|
93
|
+
wfcfg_notify_all_approvers: {
|
|
94
|
+
type: Boolean,
|
|
95
|
+
default: true,
|
|
96
|
+
comment: "Notify all matching approvers"
|
|
97
|
+
}
|
|
98
|
+
}, { collection: 'core_workflow_config' });
|
|
99
|
+
// Indexes for performance optimization
|
|
100
|
+
core_workflow_config.index({ wfcfg_workflow_id_wfrg: 1, wfcfg_step_number: 1 });
|
|
101
|
+
core_workflow_config.index({ wfcfg_workflow_id_wfrg: 1, wfcfg_isactive: 1 });
|
|
102
|
+
var CCoreWorkflowConfig = mongoose_1.default.model("core_workflow_config", core_workflow_config);
|
|
103
|
+
exports.CCoreWorkflowConfig = CCoreWorkflowConfig;
|