cloud-ide-model-schema 1.1.109 → 1.1.111

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.
@@ -24,7 +24,6 @@ var admission_application_main = new mongoose_1.Schema({
24
24
  // SECTION 1: STUDENT PERSONAL IDENTIFICATION
25
25
  admap_first_name: {
26
26
  type: String,
27
- required: true,
28
27
  minlength: 1,
29
28
  maxlength: 100,
30
29
  trim: true
@@ -36,7 +35,6 @@ var admission_application_main = new mongoose_1.Schema({
36
35
  },
37
36
  admap_last_name: {
38
37
  type: String,
39
- required: true,
40
38
  minlength: 1,
41
39
  maxlength: 100,
42
40
  trim: true
@@ -47,8 +45,7 @@ var admission_application_main = new mongoose_1.Schema({
47
45
  trim: true
48
46
  },
49
47
  admap_date_of_birth: {
50
- type: Date,
51
- required: true
48
+ type: Date
52
49
  },
53
50
  admap_place_of_birth: {
54
51
  type: String,
@@ -105,7 +102,6 @@ var admission_application_main = new mongoose_1.Schema({
105
102
  // SECTION 2: CONTACT & ADDRESS INFORMATION
106
103
  admap_primary_email: {
107
104
  type: String,
108
- required: true,
109
105
  maxlength: 255,
110
106
  trim: true,
111
107
  lowercase: true,
@@ -119,7 +115,6 @@ var admission_application_main = new mongoose_1.Schema({
119
115
  },
120
116
  admap_mobile_phone: {
121
117
  type: String,
122
- required: true,
123
118
  maxlength: 50,
124
119
  trim: true
125
120
  },
@@ -135,7 +130,6 @@ var admission_application_main = new mongoose_1.Schema({
135
130
  },
136
131
  admap_permanent_street_address: {
137
132
  type: String,
138
- required: true,
139
133
  maxlength: 255,
140
134
  trim: true
141
135
  },
@@ -151,7 +145,6 @@ var admission_application_main = new mongoose_1.Schema({
151
145
  },
152
146
  admap_zip_postal_code: {
153
147
  type: String,
154
- required: true,
155
148
  maxlength: 20,
156
149
  trim: true
157
150
  },
@@ -197,14 +190,12 @@ var admission_application_main = new mongoose_1.Schema({
197
190
  // SECTION 3: ACADEMIC HISTORY
198
191
  admap_program_applying_for: {
199
192
  type: String,
200
- required: true,
201
193
  maxlength: 255,
202
194
  trim: true,
203
195
  comment: "Program name (e.g., Kindergarten, Grade 10, BBA, Engineering)"
204
196
  },
205
197
  admap_program_category: {
206
198
  type: String,
207
- required: true,
208
199
  maxlength: 100,
209
200
  trim: true,
210
201
  enum: ["School", "MBBA/BBA", "Engineering", "Other"],
@@ -223,26 +214,22 @@ var admission_application_main = new mongoose_1.Schema({
223
214
  },
224
215
  admap_entry_semester_term: {
225
216
  type: String,
226
- required: true,
227
217
  maxlength: 50,
228
218
  trim: true,
229
219
  comment: "Entry semester/term (e.g., Fall 2026, Spring 2027)"
230
220
  },
231
221
  admap_academic_year_id_acayr: {
232
222
  type: mongoose_1.default.Schema.Types.ObjectId,
233
- ref: "aca_academic_year",
234
- required: true
223
+ ref: "aca_academic_year"
235
224
  },
236
225
  admap_highest_level_of_education: {
237
226
  type: String,
238
- required: true,
239
227
  maxlength: 100,
240
228
  trim: true,
241
229
  comment: "Previous education level (e.g., Pre-Kindergarten, Grade 9, High School Diploma)"
242
230
  },
243
231
  admap_previous_institution_name: {
244
232
  type: String,
245
- required: true,
246
233
  maxlength: 255,
247
234
  trim: true
248
235
  },
@@ -596,20 +583,17 @@ var admission_application_main = new mongoose_1.Schema({
596
583
  // SECTION 5: FINANCIAL & BILLING INFORMATION
597
584
  admap_tuition_payer_name: {
598
585
  type: String,
599
- required: true,
600
586
  maxlength: 255,
601
587
  trim: true
602
588
  },
603
589
  admap_tuition_payer_relationship: {
604
590
  type: String,
605
- required: true,
606
591
  maxlength: 100,
607
592
  trim: true,
608
593
  enum: ["Parent", "Guardian", "Self", "Sponsor", "Other"]
609
594
  },
610
595
  admap_billing_email_address: {
611
596
  type: String,
612
- required: true,
613
597
  maxlength: 255,
614
598
  trim: true,
615
599
  lowercase: true
@@ -621,14 +605,12 @@ var admission_application_main = new mongoose_1.Schema({
621
605
  },
622
606
  admap_intended_payment_method: {
623
607
  type: String,
624
- required: true,
625
608
  maxlength: 100,
626
609
  trim: true,
627
610
  enum: ["Monthly Installments", "Single Payment", "Quarterly", "Semester", "Public School (No Fee)", "Other"]
628
611
  },
629
612
  admap_application_fee_payment_status: {
630
613
  type: Boolean,
631
- required: true,
632
614
  default: false
633
615
  },
634
616
  admap_application_fee_amount: {
@@ -699,7 +681,6 @@ var admission_application_main = new mongoose_1.Schema({
699
681
  },
700
682
  admap_insurance_provider: {
701
683
  type: String,
702
- required: true,
703
684
  maxlength: 255,
704
685
  trim: true
705
686
  },
@@ -713,7 +694,6 @@ var admission_application_main = new mongoose_1.Schema({
713
694
  },
714
695
  admap_emergency_health_consent: {
715
696
  type: Boolean,
716
- required: true,
717
697
  default: false
718
698
  },
719
699
  admap_disability_status: {
@@ -795,7 +775,6 @@ var admission_application_main = new mongoose_1.Schema({
795
775
  },
796
776
  admap_prerequisite_acknowledgment: {
797
777
  type: Boolean,
798
- required: true,
799
778
  default: false
800
779
  },
801
780
  admap_maximum_electives_allowed: {
@@ -922,7 +901,6 @@ var admission_application_main = new mongoose_1.Schema({
922
901
  // SECTION 9: SUPPLEMENTARY & CONSENT
923
902
  admap_language_of_instruction: {
924
903
  type: String,
925
- required: true,
926
904
  maxlength: 100,
927
905
  trim: true,
928
906
  default: "English"
@@ -949,27 +927,22 @@ var admission_application_main = new mongoose_1.Schema({
949
927
  trim: true
950
928
  },
951
929
  admap_signature_date: {
952
- type: Date,
953
- required: true
930
+ type: Date
954
931
  },
955
932
  admap_declaration_of_accuracy: {
956
933
  type: Boolean,
957
- required: true,
958
934
  default: false
959
935
  },
960
936
  admap_privacy_policy_consent: {
961
937
  type: Boolean,
962
- required: true,
963
938
  default: false
964
939
  },
965
940
  admap_terms_and_conditions_consent: {
966
941
  type: Boolean,
967
- required: true,
968
942
  default: false
969
943
  },
970
944
  admap_applicant_signature: {
971
945
  type: String,
972
- required: true,
973
946
  maxlength: 255,
974
947
  trim: true
975
948
  },
@@ -991,7 +964,6 @@ var admission_application_main = new mongoose_1.Schema({
991
964
  // SECTION 10: APPLICATION STATUS & WORKFLOW
992
965
  admap_application_status: {
993
966
  type: String,
994
- required: true,
995
967
  maxlength: 50,
996
968
  trim: true,
997
969
  default: "Draft",
@@ -1046,7 +1018,6 @@ var admission_application_main = new mongoose_1.Schema({
1046
1018
  admap_entity_id_syen: {
1047
1019
  type: mongoose_1.default.Schema.Types.ObjectId,
1048
1020
  ref: "core_system_entity",
1049
- required: true,
1050
1021
  comment: "Entity/School ID"
1051
1022
  },
1052
1023
  admap_program_id_sygms: {
@@ -0,0 +1,39 @@
1
+ import { AdmissionAdmissionContactAddresses, AdmissionEntityAccessPassManagement } from "cloud-ide-lms-model";
2
+ import mongoose from "mongoose";
3
+ declare const CAdmissionContactAddresses: mongoose.Model<AdmissionAdmissionContactAddresses, {}, {}, {}, mongoose.Document<unknown, {}, AdmissionAdmissionContactAddresses, {}> & Omit<import("cloud-ide-lms-model").AdmissionContactAddressesBase, "admca_admission_id_admap" | "admca_address_type_id_sygms" | "admca_contact_pin_sypin" | "admca_contact_country_syctr"> & {
4
+ admca_admission_id_admap?: {
5
+ _id: string;
6
+ admap_application_number?: string;
7
+ admap_first_name?: string;
8
+ admap_last_name?: string;
9
+ } | string;
10
+ admca_address_type_id_sygms?: {
11
+ _id: string;
12
+ sygms_code: string;
13
+ sygms_title: string;
14
+ } | string;
15
+ admca_contact_pin_sypin?: {
16
+ _id: string;
17
+ sypin_pincode: number;
18
+ sypin_city: string;
19
+ sypin_state: string;
20
+ } | string;
21
+ admca_contact_country_syctr?: {
22
+ _id: string;
23
+ syctr_country_iso_name: string;
24
+ syctr_country_iso_code: string;
25
+ syctr_country_code: string;
26
+ } | string;
27
+ admission_entity_access_pass_management?: import("cloud-ide-lms-model").AdmissionEntityAccessPassManagementBase;
28
+ } & Required<{
29
+ _id: string;
30
+ }> & {
31
+ __v: number;
32
+ }, any>;
33
+ declare const CAdmissionEntityAccessPassManagementAdmca: mongoose.Model<AdmissionEntityAccessPassManagement, {}, {}, {}, mongoose.Document<unknown, {}, AdmissionEntityAccessPassManagement, {}> & AdmissionEntityAccessPassManagement & Required<{
34
+ _id: string;
35
+ }> & {
36
+ __v: number;
37
+ }, any>;
38
+ export { CAdmissionEntityAccessPassManagementAdmca, // collection
39
+ CAdmissionContactAddresses };
@@ -0,0 +1,193 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CAdmissionContactAddresses = exports.CAdmissionEntityAccessPassManagementAdmca = void 0;
4
+ var mongoose_1 = require("mongoose");
5
+ /**
6
+ * Admission Contact Addresses Schema
7
+ *
8
+ * Purpose: Store multiple contact addresses for admission applications
9
+ * Cloned from: core_user_contact_addresses
10
+ * Prefix: admca_ (admission contact addresses)
11
+ *
12
+ * BUSINESS LOGIC:
13
+ * 1. Multiple addresses per admission application
14
+ * 2. Different address types (Permanent, Correspondence, Emergency, etc.)
15
+ * 3. Contact person details for each address
16
+ * 4. Complete address with pin code, city, state, country
17
+ * 5. Phone, email, and fax details
18
+ * 6. Entity-based access control
19
+ */
20
+ /* SCHEMA START */
21
+ var admission_contact_addresses = new mongoose_1.Schema({
22
+ admca_admission_id_admap: {
23
+ type: mongoose_1.default.Schema.Types.ObjectId,
24
+ ref: 'admission_application_main',
25
+ comment: "Reference to admission application"
26
+ },
27
+ admca_address_type_id_sygms: {
28
+ type: mongoose_1.default.Schema.Types.ObjectId,
29
+ ref: 'core_general_master',
30
+ comment: "Address type (Permanent, Correspondence, Emergency, etc.)"
31
+ },
32
+ admca_contact_person_name: {
33
+ type: String,
34
+ default: "",
35
+ maxlength: 200,
36
+ trim: true,
37
+ comment: "Name of contact person at this address"
38
+ },
39
+ admca_contact_person_relation: {
40
+ type: String,
41
+ default: "",
42
+ maxlength: 100,
43
+ trim: true,
44
+ comment: "Relation to student (Parent, Guardian, etc.)"
45
+ },
46
+ admca_contact_address: {
47
+ type: String,
48
+ default: "",
49
+ maxlength: 500,
50
+ trim: true,
51
+ comment: "Street address line 1 and 2"
52
+ },
53
+ admca_contact_pin_sypin: {
54
+ type: mongoose_1.default.Schema.Types.ObjectId,
55
+ ref: 'core_pin_code',
56
+ comment: "Reference to pin code master"
57
+ },
58
+ admca_contact_city_sypin: {
59
+ type: String,
60
+ default: "",
61
+ maxlength: 100,
62
+ trim: true,
63
+ comment: "City/Town name"
64
+ },
65
+ admca_contact_state_sypin: {
66
+ type: String,
67
+ default: "",
68
+ maxlength: 100,
69
+ trim: true,
70
+ comment: "State/Province name"
71
+ },
72
+ admca_contact_country_syctr: {
73
+ type: mongoose_1.default.Schema.Types.ObjectId,
74
+ ref: 'core_system_country',
75
+ comment: "Country reference"
76
+ },
77
+ admca_contact_phone: {
78
+ type: Number,
79
+ default: null,
80
+ comment: "Primary phone number"
81
+ },
82
+ admca_contact_phone_country_code: {
83
+ type: String,
84
+ default: "",
85
+ maxlength: 10,
86
+ trim: true,
87
+ comment: "Country code for phone"
88
+ },
89
+ admca_contact_phone_alt: {
90
+ type: Number,
91
+ default: null,
92
+ comment: "Alternative phone number"
93
+ },
94
+ admca_contact_phone_alt_country_code: {
95
+ type: String,
96
+ default: "",
97
+ maxlength: 10,
98
+ trim: true,
99
+ comment: "Country code for alternative phone"
100
+ },
101
+ admca_contact_fax: {
102
+ type: String,
103
+ default: "",
104
+ maxlength: 50,
105
+ trim: true,
106
+ comment: "Fax number"
107
+ },
108
+ admca_contact_email: {
109
+ type: String,
110
+ default: "",
111
+ maxlength: 255,
112
+ trim: true,
113
+ lowercase: true,
114
+ comment: "Primary email address"
115
+ },
116
+ admca_contact_email_alt: {
117
+ type: String,
118
+ default: "",
119
+ maxlength: 255,
120
+ trim: true,
121
+ lowercase: true,
122
+ comment: "Alternative email address"
123
+ },
124
+ admca_is_primary: {
125
+ type: Boolean,
126
+ default: false,
127
+ comment: "Is this the primary address"
128
+ },
129
+ admca_same_as_permanent: {
130
+ type: Boolean,
131
+ default: false,
132
+ comment: "Is this same as permanent address"
133
+ },
134
+ admca_isactive: {
135
+ type: Boolean,
136
+ default: true,
137
+ comment: "Is address active"
138
+ }
139
+ }, {
140
+ collection: 'admission_contact_addresses'
141
+ });
142
+ // Indexes for better performance
143
+ admission_contact_addresses.index({ admca_admission_id_admap: 1 });
144
+ admission_contact_addresses.index({ admca_address_type_id_sygms: 1 });
145
+ admission_contact_addresses.index({ admca_is_primary: 1 });
146
+ admission_contact_addresses.index({ admca_isactive: 1 });
147
+ var CAdmissionContactAddresses = mongoose_1.default.model("admission_contact_addresses", admission_contact_addresses);
148
+ exports.CAdmissionContactAddresses = CAdmissionContactAddresses;
149
+ // Access pass for entity-based access control
150
+ var admission_entity_access_pass_management_admca = new mongoose_1.Schema({
151
+ admepm_user_id_user: {
152
+ type: mongoose_1.default.Schema.Types.ObjectId,
153
+ ref: 'auth_user_mst',
154
+ comment: "User who has access"
155
+ },
156
+ admepm_entity_id_syen: {
157
+ type: mongoose_1.default.Schema.Types.ObjectId,
158
+ ref: 'core_system_entity',
159
+ comment: "Entity context"
160
+ },
161
+ admepm_access_pass_to: {
162
+ type: mongoose_1.default.Schema.Types.ObjectId,
163
+ ref: 'admission_contact_addresses',
164
+ comment: "Address record access"
165
+ },
166
+ admepm_is_owner: {
167
+ type: Boolean,
168
+ default: true,
169
+ comment: "Is owner of record"
170
+ },
171
+ admepm_can_edit: {
172
+ type: Boolean,
173
+ default: true,
174
+ comment: "Can edit permission"
175
+ },
176
+ admepm_can_view: {
177
+ type: Boolean,
178
+ default: true,
179
+ comment: "Can view permission"
180
+ },
181
+ admepm_isactive: {
182
+ type: Boolean,
183
+ default: true,
184
+ comment: "Is access active"
185
+ },
186
+ admepm_actions_allowed: {
187
+ type: Object,
188
+ default: {},
189
+ comment: "Specific actions allowed"
190
+ }
191
+ }, { collection: 'admission_entity_access_pass_management_admca' });
192
+ var CAdmissionEntityAccessPassManagementAdmca = mongoose_1.default.model("admission_entity_access_pass_management_admca", admission_entity_access_pass_management_admca);
193
+ exports.CAdmissionEntityAccessPassManagementAdmca = CAdmissionEntityAccessPassManagementAdmca;
@@ -0,0 +1,82 @@
1
+ import { AdmissionAdmissionFamilyMembers, AdmissionEntityAccessPassManagement } from "cloud-ide-lms-model";
2
+ import mongoose from "mongoose";
3
+ declare const CAdmissionFamilyMembers: mongoose.Model<AdmissionAdmissionFamilyMembers, {}, {}, {}, mongoose.Document<unknown, {}, AdmissionAdmissionFamilyMembers, {}> & Omit<import("cloud-ide-lms-model").AdmissionFamilyMembersBase, "admfm_admission_id_admap" | "admfm_relationship_id_sygms" | "admfm_gender_id_sygms" | "admfm_blood_group_sygms" | "admfm_nationality_id_synty" | "admfm_occupation_type_id_sygms" | "admfm_annual_income_currency_id_syic" | "admfm_education_level_id_sygms" | "admfm_identification_type_id_sygms" | "admfm_country_syctr" | "admfm_pin_code_sypin" | "admfm_family_member_id_user"> & {
4
+ admfm_admission_id_admap?: {
5
+ _id: string;
6
+ admap_application_number?: string;
7
+ admap_first_name?: string;
8
+ admap_last_name?: string;
9
+ } | string;
10
+ admfm_relationship_id_sygms?: {
11
+ _id: string;
12
+ sygms_code: string;
13
+ sygms_title: string;
14
+ } | string;
15
+ admfm_gender_id_sygms?: {
16
+ _id: string;
17
+ sygms_code: string;
18
+ sygms_title: string;
19
+ } | string;
20
+ admfm_blood_group_sygms?: {
21
+ _id: string;
22
+ sygms_code: string;
23
+ sygms_title: string;
24
+ } | string;
25
+ admfm_nationality_id_synty?: {
26
+ _id: string;
27
+ synty_nationality_name: string;
28
+ synty_nationality_code: string;
29
+ } | string;
30
+ admfm_occupation_type_id_sygms?: {
31
+ _id: string;
32
+ sygms_code: string;
33
+ sygms_title: string;
34
+ } | string;
35
+ admfm_annual_income_currency_id_syic?: {
36
+ _id: string;
37
+ syic_currency_code: string;
38
+ syic_currency_name: string;
39
+ syic_currency_symbol: string;
40
+ } | string;
41
+ admfm_education_level_id_sygms?: {
42
+ _id: string;
43
+ sygms_code: string;
44
+ sygms_title: string;
45
+ } | string;
46
+ admfm_identification_type_id_sygms?: {
47
+ _id: string;
48
+ sygms_code: string;
49
+ sygms_title: string;
50
+ } | string;
51
+ admfm_country_syctr?: {
52
+ _id: string;
53
+ syctr_country_iso_name: string;
54
+ syctr_country_iso_code: string;
55
+ syctr_country_code: string;
56
+ } | string;
57
+ admfm_pin_code_sypin?: {
58
+ _id: string;
59
+ sypin_pincode: number;
60
+ sypin_city: string;
61
+ sypin_state: string;
62
+ } | string;
63
+ admfm_family_member_id_user?: {
64
+ _id: string;
65
+ user_first_name: string;
66
+ user_last_name: string;
67
+ user_fullname: string;
68
+ user_email: string;
69
+ } | string;
70
+ admission_entity_access_pass_management?: import("cloud-ide-lms-model").AdmissionEntityAccessPassManagementBase;
71
+ } & Required<{
72
+ _id: string;
73
+ }> & {
74
+ __v: number;
75
+ }, any>;
76
+ declare const CAdmissionEntityAccessPassManagementAdmfm: mongoose.Model<AdmissionEntityAccessPassManagement, {}, {}, {}, mongoose.Document<unknown, {}, AdmissionEntityAccessPassManagement, {}> & AdmissionEntityAccessPassManagement & Required<{
77
+ _id: string;
78
+ }> & {
79
+ __v: number;
80
+ }, any>;
81
+ export { CAdmissionEntityAccessPassManagementAdmfm, // collection
82
+ CAdmissionFamilyMembers };
@@ -0,0 +1,314 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CAdmissionFamilyMembers = exports.CAdmissionEntityAccessPassManagementAdmfm = void 0;
4
+ var mongoose_1 = require("mongoose");
5
+ /**
6
+ * Admission Family Members / Guardians Schema
7
+ *
8
+ * Purpose: Store family members and guardian details for admission applications
9
+ * Cloned from: core_user_family_details
10
+ * Prefix: admfm_ (admission family member)
11
+ *
12
+ * BUSINESS LOGIC:
13
+ * 1. Multiple family members per admission application
14
+ * 2. Mark family member as guardian (admfm_is_guardian)
15
+ * 3. Different relationships (Father, Mother, Sibling, Guardian, etc.)
16
+ * 4. Contact details for each family member
17
+ * 5. Occupation and income details for financial assessment
18
+ * 6. Entity-based access control
19
+ */
20
+ /* SCHEMA START */
21
+ var admission_family_members = new mongoose_1.Schema({
22
+ admfm_admission_id_admap: {
23
+ type: mongoose_1.default.Schema.Types.ObjectId,
24
+ ref: 'admission_application_main',
25
+ required: true,
26
+ comment: "Reference to admission application"
27
+ },
28
+ admfm_is_guardian: {
29
+ type: Boolean,
30
+ default: true,
31
+ comment: "Is this person a guardian of the student"
32
+ },
33
+ admfm_is_primary_guardian: {
34
+ type: Boolean,
35
+ default: false,
36
+ comment: "Is this the primary guardian"
37
+ },
38
+ admfm_relationship_id_sygms: {
39
+ type: mongoose_1.default.Schema.Types.ObjectId,
40
+ ref: 'core_general_master',
41
+ comment: "Relationship type (Father, Mother, Guardian, Sibling, etc.)"
42
+ },
43
+ admfm_family_member_name: {
44
+ type: String,
45
+ default: "",
46
+ maxlength: 200,
47
+ trim: true,
48
+ comment: "Full name of family member"
49
+ },
50
+ admfm_first_name: {
51
+ type: String,
52
+ default: "",
53
+ maxlength: 100,
54
+ trim: true,
55
+ comment: "First name"
56
+ },
57
+ admfm_middle_name: {
58
+ type: String,
59
+ default: "",
60
+ maxlength: 100,
61
+ trim: true,
62
+ comment: "Middle name"
63
+ },
64
+ admfm_last_name: {
65
+ type: String,
66
+ default: "",
67
+ maxlength: 100,
68
+ trim: true,
69
+ comment: "Last name"
70
+ },
71
+ admfm_family_member_dob: {
72
+ type: Date,
73
+ default: null,
74
+ comment: "Date of birth"
75
+ },
76
+ admfm_gender_id_sygms: {
77
+ type: mongoose_1.default.Schema.Types.ObjectId,
78
+ ref: 'core_general_master',
79
+ comment: "Gender"
80
+ },
81
+ admfm_blood_group_sygms: {
82
+ type: mongoose_1.default.Schema.Types.ObjectId,
83
+ ref: 'core_general_master',
84
+ comment: "Blood group"
85
+ },
86
+ admfm_nationality_id_synty: {
87
+ type: mongoose_1.default.Schema.Types.ObjectId,
88
+ ref: 'core_system_nationality',
89
+ comment: "Nationality"
90
+ },
91
+ admfm_contact_number: {
92
+ type: Number,
93
+ default: null,
94
+ comment: "Primary phone number"
95
+ },
96
+ admfm_contact_number_country_code: {
97
+ type: String,
98
+ default: "",
99
+ maxlength: 10,
100
+ trim: true,
101
+ comment: "Country code for phone"
102
+ },
103
+ admfm_contact_number_alt: {
104
+ type: Number,
105
+ default: null,
106
+ comment: "Alternative phone number"
107
+ },
108
+ admfm_contact_number_alt_country_code: {
109
+ type: String,
110
+ default: "",
111
+ maxlength: 10,
112
+ trim: true,
113
+ comment: "Country code for alternative phone"
114
+ },
115
+ admfm_contact_email_id: {
116
+ type: String,
117
+ default: "",
118
+ maxlength: 255,
119
+ trim: true,
120
+ lowercase: true,
121
+ comment: "Primary email address"
122
+ },
123
+ admfm_contact_email_alt: {
124
+ type: String,
125
+ default: "",
126
+ maxlength: 255,
127
+ trim: true,
128
+ lowercase: true,
129
+ comment: "Alternative email address"
130
+ },
131
+ admfm_occupation: {
132
+ type: String,
133
+ default: "",
134
+ maxlength: 200,
135
+ trim: true,
136
+ comment: "Occupation/Profession"
137
+ },
138
+ admfm_occupation_type_id_sygms: {
139
+ type: mongoose_1.default.Schema.Types.ObjectId,
140
+ ref: 'core_general_master',
141
+ comment: "Occupation type reference"
142
+ },
143
+ admfm_employer_name: {
144
+ type: String,
145
+ default: "",
146
+ maxlength: 200,
147
+ trim: true,
148
+ comment: "Employer name"
149
+ },
150
+ admfm_employer_address: {
151
+ type: String,
152
+ default: "",
153
+ maxlength: 500,
154
+ trim: true,
155
+ comment: "Employer address"
156
+ },
157
+ admfm_annual_income: {
158
+ type: Number,
159
+ default: null,
160
+ comment: "Annual income"
161
+ },
162
+ admfm_annual_income_currency_id_syic: {
163
+ type: mongoose_1.default.Schema.Types.ObjectId,
164
+ ref: 'core_iso_currency',
165
+ comment: "Currency for income"
166
+ },
167
+ admfm_education_level_id_sygms: {
168
+ type: mongoose_1.default.Schema.Types.ObjectId,
169
+ ref: 'core_general_master',
170
+ comment: "Highest education level"
171
+ },
172
+ admfm_identification_type_id_sygms: {
173
+ type: mongoose_1.default.Schema.Types.ObjectId,
174
+ ref: 'core_general_master',
175
+ comment: "ID type (Passport, National ID, etc.)"
176
+ },
177
+ admfm_identification_number: {
178
+ type: String,
179
+ default: "",
180
+ maxlength: 100,
181
+ trim: true,
182
+ comment: "Identification number"
183
+ },
184
+ admfm_identification_expiry_date: {
185
+ type: Date,
186
+ default: null,
187
+ comment: "ID expiry date"
188
+ },
189
+ admfm_address: {
190
+ type: String,
191
+ default: "",
192
+ maxlength: 500,
193
+ trim: true,
194
+ comment: "Residential address"
195
+ },
196
+ admfm_city: {
197
+ type: String,
198
+ default: "",
199
+ maxlength: 100,
200
+ trim: true,
201
+ comment: "City"
202
+ },
203
+ admfm_state: {
204
+ type: String,
205
+ default: "",
206
+ maxlength: 100,
207
+ trim: true,
208
+ comment: "State/Province"
209
+ },
210
+ admfm_country_syctr: {
211
+ type: mongoose_1.default.Schema.Types.ObjectId,
212
+ ref: 'core_system_country',
213
+ comment: "Country"
214
+ },
215
+ admfm_pin_code_sypin: {
216
+ type: mongoose_1.default.Schema.Types.ObjectId,
217
+ ref: 'core_pin_code',
218
+ comment: "Pin/Zip code"
219
+ },
220
+ admfm_lives_with_student: {
221
+ type: Boolean,
222
+ default: true,
223
+ comment: "Lives with student"
224
+ },
225
+ admfm_emergency_contact: {
226
+ type: Boolean,
227
+ default: false,
228
+ comment: "Is emergency contact"
229
+ },
230
+ admfm_can_pickup_student: {
231
+ type: Boolean,
232
+ default: false,
233
+ comment: "Authorized to pick up student"
234
+ },
235
+ admfm_financial_responsibility: {
236
+ type: Boolean,
237
+ default: false,
238
+ comment: "Financially responsible for student"
239
+ },
240
+ admfm_family_member_id_user: {
241
+ type: mongoose_1.default.Schema.Types.ObjectId,
242
+ ref: 'auth_user_mst',
243
+ comment: "If family member is also a system user"
244
+ },
245
+ admfm_remarks: {
246
+ type: String,
247
+ default: "",
248
+ maxlength: 1000,
249
+ trim: true,
250
+ comment: "Additional remarks/notes"
251
+ },
252
+ admfm_isactive: {
253
+ type: Boolean,
254
+ default: true,
255
+ comment: "Is active"
256
+ }
257
+ }, {
258
+ collection: 'admission_family_members'
259
+ });
260
+ // Indexes for better performance
261
+ admission_family_members.index({ admfm_admission_id_admap: 1 });
262
+ admission_family_members.index({ admfm_is_guardian: 1 });
263
+ admission_family_members.index({ admfm_is_primary_guardian: 1 });
264
+ admission_family_members.index({ admfm_relationship_id_sygms: 1 });
265
+ admission_family_members.index({ admfm_emergency_contact: 1 });
266
+ admission_family_members.index({ admfm_isactive: 1 });
267
+ admission_family_members.index({ admfm_contact_email_id: 1 });
268
+ var CAdmissionFamilyMembers = mongoose_1.default.model("admission_family_members", admission_family_members);
269
+ exports.CAdmissionFamilyMembers = CAdmissionFamilyMembers;
270
+ // Access pass for entity-based access control
271
+ var admission_entity_access_pass_management_admfm = new mongoose_1.Schema({
272
+ admepm_user_id_user: {
273
+ type: mongoose_1.default.Schema.Types.ObjectId,
274
+ ref: 'auth_user_mst',
275
+ comment: "User who has access"
276
+ },
277
+ admepm_entity_id_syen: {
278
+ type: mongoose_1.default.Schema.Types.ObjectId,
279
+ ref: 'core_system_entity',
280
+ comment: "Entity context"
281
+ },
282
+ admepm_access_pass_to: {
283
+ type: mongoose_1.default.Schema.Types.ObjectId,
284
+ ref: 'admission_family_members',
285
+ comment: "Family member record access"
286
+ },
287
+ admepm_is_owner: {
288
+ type: Boolean,
289
+ default: true,
290
+ comment: "Is owner of record"
291
+ },
292
+ admepm_can_edit: {
293
+ type: Boolean,
294
+ default: true,
295
+ comment: "Can edit permission"
296
+ },
297
+ admepm_can_view: {
298
+ type: Boolean,
299
+ default: true,
300
+ comment: "Can view permission"
301
+ },
302
+ admepm_isactive: {
303
+ type: Boolean,
304
+ default: true,
305
+ comment: "Is access active"
306
+ },
307
+ admepm_actions_allowed: {
308
+ type: Object,
309
+ default: {},
310
+ comment: "Specific actions allowed"
311
+ }
312
+ }, { collection: 'admission_entity_access_pass_management_admfm' });
313
+ var CAdmissionEntityAccessPassManagementAdmfm = mongoose_1.default.model("admission_entity_access_pass_management_admfm", admission_entity_access_pass_management_admfm);
314
+ exports.CAdmissionEntityAccessPassManagementAdmfm = CAdmissionEntityAccessPassManagementAdmfm;
@@ -2,3 +2,5 @@ export * from "./admission_application_main";
2
2
  export * from "./admission_elective_detail";
3
3
  export * from "./admission_status_history";
4
4
  export * from "./admission_document_uploads";
5
+ export * from "./admission_contact_addresses";
6
+ export * from "./admission_family_members";
@@ -18,3 +18,5 @@ __exportStar(require("./admission_application_main"), exports);
18
18
  __exportStar(require("./admission_elective_detail"), exports);
19
19
  __exportStar(require("./admission_status_history"), exports);
20
20
  __exportStar(require("./admission_document_uploads"), exports);
21
+ __exportStar(require("./admission_contact_addresses"), exports);
22
+ __exportStar(require("./admission_family_members"), exports);
@@ -47,8 +47,7 @@ var api_keys = new mongoose_1.Schema({
47
47
  type: String,
48
48
  required: true,
49
49
  enum: ['active', 'revoked', 'expired'],
50
- default: 'active',
51
- index: true
50
+ default: 'active'
52
51
  },
53
52
  akey_created_by: {
54
53
  type: mongoose_1.default.Schema.Types.ObjectId,
@@ -6,8 +6,7 @@ var backup_records = new mongoose_1.Schema({
6
6
  brec_backup_job_id: {
7
7
  type: mongoose_1.default.Schema.Types.ObjectId,
8
8
  ref: "backup_jobs",
9
- required: true,
10
- index: true
9
+ required: true
11
10
  },
12
11
  brec_backup_type: {
13
12
  type: String,
@@ -33,8 +32,7 @@ var backup_records = new mongoose_1.Schema({
33
32
  type: String,
34
33
  required: true,
35
34
  enum: ['in_progress', 'completed', 'failed', 'cancelled'],
36
- default: 'in_progress',
37
- index: true
35
+ default: 'in_progress'
38
36
  },
39
37
  brec_verification_status: {
40
38
  type: String,
@@ -62,8 +60,7 @@ var backup_records = new mongoose_1.Schema({
62
60
  },
63
61
  brec_created_at: {
64
62
  type: Date,
65
- default: Date.now,
66
- index: true
63
+ default: Date.now
67
64
  },
68
65
  brec_isactive: {
69
66
  type: Boolean,
@@ -5,21 +5,18 @@ var mongoose_1 = require("mongoose");
5
5
  var integration_logs = new mongoose_1.Schema({
6
6
  ilog_integration_id: {
7
7
  type: mongoose_1.default.Schema.Types.ObjectId,
8
- ref: "integrations",
9
- index: true
8
+ ref: "integrations"
10
9
  },
11
10
  ilog_operation: {
12
11
  type: String,
13
12
  required: true,
14
- maxlength: 100,
15
- index: true
13
+ maxlength: 100
16
14
  },
17
15
  ilog_status: {
18
16
  type: String,
19
17
  required: true,
20
18
  enum: ['success', 'failed', 'pending'],
21
- default: 'pending',
22
- index: true
19
+ default: 'pending'
23
20
  },
24
21
  ilog_request_data: {
25
22
  type: Object
@@ -46,8 +43,7 @@ var integration_logs = new mongoose_1.Schema({
46
43
  },
47
44
  ilog_created_at: {
48
45
  type: Date,
49
- default: Date.now,
50
- index: true
46
+ default: Date.now
51
47
  },
52
48
  ilog_isactive: {
53
49
  type: Boolean,
@@ -12,8 +12,7 @@ var integrations = new mongoose_1.Schema({
12
12
  intg_type: {
13
13
  type: String,
14
14
  required: true,
15
- enum: ['payment_gateway', 'shipping_carrier', 'accounting_software', 'ecommerce_platform', 'sms_gateway', 'email_service', 'bank', 'tax_service', 'custom'],
16
- index: true
15
+ enum: ['payment_gateway', 'shipping_carrier', 'accounting_software', 'ecommerce_platform', 'sms_gateway', 'email_service', 'bank', 'tax_service', 'custom']
17
16
  },
18
17
  intg_provider: {
19
18
  type: String,
@@ -37,8 +36,7 @@ var integrations = new mongoose_1.Schema({
37
36
  type: String,
38
37
  required: true,
39
38
  enum: ['active', 'inactive', 'testing'],
40
- default: 'testing',
41
- index: true
39
+ default: 'testing'
42
40
  },
43
41
  intg_configuration: {
44
42
  type: Object
@@ -6,8 +6,7 @@ var recovery_operations = new mongoose_1.Schema({
6
6
  recv_backup_record_id: {
7
7
  type: mongoose_1.default.Schema.Types.ObjectId,
8
8
  ref: "backup_records",
9
- required: true,
10
- index: true
9
+ required: true
11
10
  },
12
11
  recv_recovery_type: {
13
12
  type: String,
@@ -18,8 +17,7 @@ var recovery_operations = new mongoose_1.Schema({
18
17
  type: String,
19
18
  required: true,
20
19
  enum: ['pending', 'in_progress', 'completed', 'failed', 'cancelled'],
21
- default: 'pending',
22
- index: true
20
+ default: 'pending'
23
21
  },
24
22
  recv_target_date: {
25
23
  type: Date
@@ -50,8 +48,7 @@ var recovery_operations = new mongoose_1.Schema({
50
48
  },
51
49
  recv_created_at: {
52
50
  type: Date,
53
- default: Date.now,
54
- index: true
51
+ default: Date.now
55
52
  },
56
53
  recv_isactive: {
57
54
  type: Boolean,
@@ -24,8 +24,7 @@ var subscription_features = new mongoose_1.Schema({
24
24
  sfea_category: {
25
25
  type: String,
26
26
  required: true,
27
- enum: ['users', 'storage', 'api', 'features', 'support', 'custom'],
28
- index: true
27
+ enum: ['users', 'storage', 'api', 'features', 'support', 'custom']
29
28
  },
30
29
  sfea_value: {
31
30
  type: mongoose_1.Schema.Types.Mixed
@@ -6,8 +6,7 @@ var subscription_payments = new mongoose_1.Schema({
6
6
  spay_subscription_id: {
7
7
  type: mongoose_1.default.Schema.Types.ObjectId,
8
8
  ref: "subscriptions",
9
- required: true,
10
- index: true
9
+ required: true
11
10
  },
12
11
  spay_amount: {
13
12
  type: Number,
@@ -28,8 +27,7 @@ var subscription_payments = new mongoose_1.Schema({
28
27
  },
29
28
  spay_transaction_id: {
30
29
  type: String,
31
- maxlength: 200,
32
- index: true
30
+ maxlength: 200
33
31
  },
34
32
  spay_payment_gateway: {
35
33
  type: String,
@@ -39,8 +37,7 @@ var subscription_payments = new mongoose_1.Schema({
39
37
  type: String,
40
38
  required: true,
41
39
  enum: ['pending', 'completed', 'failed', 'refunded'],
42
- default: 'pending',
43
- index: true
40
+ default: 'pending'
44
41
  },
45
42
  spay_billing_period_start: {
46
43
  type: Date,
@@ -67,8 +64,7 @@ var subscription_payments = new mongoose_1.Schema({
67
64
  },
68
65
  spay_created_at: {
69
66
  type: Date,
70
- default: Date.now,
71
- index: true
67
+ default: Date.now
72
68
  },
73
69
  spay_isactive: {
74
70
  type: Boolean,
@@ -5,21 +5,18 @@ var mongoose_1 = require("mongoose");
5
5
  var subscriptions = new mongoose_1.Schema({
6
6
  subs_entity_id: {
7
7
  type: mongoose_1.default.Schema.Types.ObjectId,
8
- ref: "core_system_entity",
9
- index: true
8
+ ref: "core_system_entity"
10
9
  },
11
10
  subs_plan_id: {
12
11
  type: mongoose_1.default.Schema.Types.ObjectId,
13
12
  ref: "subscription_plans",
14
- required: true,
15
- index: true
13
+ required: true
16
14
  },
17
15
  subs_status: {
18
16
  type: String,
19
17
  required: true,
20
18
  enum: ['active', 'cancelled', 'expired', 'suspended', 'trial'],
21
- default: 'trial',
22
- index: true
19
+ default: 'trial'
23
20
  },
24
21
  subs_start_date: {
25
22
  type: Date,
@@ -12,8 +12,7 @@ var webhooks = new mongoose_1.Schema({
12
12
  whk_event_type: {
13
13
  type: String,
14
14
  required: true,
15
- maxlength: 100,
16
- index: true
15
+ maxlength: 100
17
16
  },
18
17
  whk_secret: {
19
18
  type: String,
@@ -32,8 +31,7 @@ var webhooks = new mongoose_1.Schema({
32
31
  type: String,
33
32
  required: true,
34
33
  enum: ['active', 'inactive', 'failed'],
35
- default: 'active',
36
- index: true
34
+ default: 'active'
37
35
  },
38
36
  whk_last_triggered: {
39
37
  type: Date
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "dependencies": {
3
- "cloud-ide-lms-model": "^1.0.329",
3
+ "cloud-ide-lms-model": "^1.0.334",
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.109",
12
+ "version": "1.1.111",
13
13
  "description": "Pachage for schema management of Cloud IDEsys LMS",
14
14
  "main": "lib/index.js",
15
15
  "types": "lib/index.d.ts",