@platform-modules/foreign-ministry 1.1.101 → 1.1.102

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.
Files changed (141) hide show
  1. package/dist/data-source.js +14 -36
  2. package/dist/index.d.ts +7 -27
  3. package/dist/index.js +7 -42
  4. package/dist/models/DiplomaticApprovalsModel.d.ts +24 -0
  5. package/dist/models/DiplomaticApprovalsModel.js +94 -0
  6. package/dist/models/DiplomaticAttachmentsModel.d.ts +11 -0
  7. package/dist/models/DiplomaticAttachmentsModel.js +53 -0
  8. package/dist/models/DiplomaticChatsModel.d.ts +20 -0
  9. package/dist/models/DiplomaticChatsModel.js +70 -0
  10. package/dist/models/DiplomaticClubCardApprovalModel.d.ts +16 -0
  11. package/dist/models/DiplomaticClubCardApprovalModel.js +58 -0
  12. package/dist/models/DiplomaticClubCardAttachmentModel.d.ts +9 -0
  13. package/dist/models/{NationalityMasterModel.js → DiplomaticClubCardAttachmentModel.js} +22 -29
  14. package/dist/models/DiplomaticClubCardChatModel.d.ts +7 -0
  15. package/dist/models/{EarlyCheckoutBalanceModel.js → DiplomaticClubCardChatModel.js} +18 -21
  16. package/dist/models/DiplomaticClubCardMemberModel.d.ts +13 -0
  17. package/dist/models/DiplomaticClubCardMemberModel.js +60 -0
  18. package/dist/models/DiplomaticClubCardMembersModel.d.ts +26 -0
  19. package/dist/models/DiplomaticClubCardMembersModel.js +85 -0
  20. package/dist/models/DiplomaticClubCardRequestModel.d.ts +33 -0
  21. package/dist/models/DiplomaticClubCardRequestModel.js +98 -0
  22. package/dist/models/DiplomaticClubCardWorkFlowModel.d.ts +12 -0
  23. package/dist/models/DiplomaticClubCardWorkFlowModel.js +42 -0
  24. package/dist/models/DiplomaticClubSubscriptionMasterModel.d.ts +12 -0
  25. package/dist/models/DiplomaticClubSubscriptionMasterModel.js +64 -0
  26. package/dist/models/DiplomaticRequestsModel.d.ts +54 -0
  27. package/dist/models/DiplomaticRequestsModel.js +186 -0
  28. package/dist/models/DiplomaticServiceDetailsModel.d.ts +20 -0
  29. package/dist/models/DiplomaticServiceDetailsModel.js +65 -0
  30. package/dist/models/DiplomaticSettingsModel.d.ts +11 -0
  31. package/dist/models/DiplomaticSettingsModel.js +59 -0
  32. package/dist/models/DiplomaticTitleModel.d.ts +12 -0
  33. package/dist/models/DiplomaticTitleModel.js +45 -0
  34. package/dist/models/DiplomaticTitlesMasterModel.d.ts +7 -3
  35. package/dist/models/DiplomaticTitlesMasterModel.js +16 -9
  36. package/dist/models/DiplomaticWorkFlowModel.d.ts +20 -0
  37. package/dist/models/DiplomaticWorkFlowModel.js +77 -0
  38. package/dist/models/FinancialApprovalsModel.d.ts +0 -1
  39. package/dist/models/FinancialApprovalsModel.js +0 -4
  40. package/dist/models/FinancialGradeModel.d.ts +3 -4
  41. package/dist/models/FinancialGradeModel.js +7 -12
  42. package/dist/models/GeneralServiceApprovalsModel.d.ts +1 -4
  43. package/dist/models/GeneralServiceApprovalsModel.js +0 -9
  44. package/dist/models/LeaveApprovalsModel.d.ts +2 -4
  45. package/dist/models/LeaveApprovalsModel.js +2 -8
  46. package/dist/models/LeaveTypesModel.d.ts +1 -7
  47. package/dist/models/LeaveTypesModel.js +5 -20
  48. package/dist/models/PassportRequestApprovalModel.d.ts +22 -0
  49. package/dist/models/PassportRequestApprovalModel.js +91 -0
  50. package/dist/models/PassportRequestAttachmentModel.d.ts +10 -0
  51. package/dist/models/PassportRequestAttachmentModel.js +54 -0
  52. package/dist/models/PassportRequestChatModel.d.ts +8 -0
  53. package/dist/models/{LeaveBalanceModel.js → PassportRequestChatModel.js} +23 -23
  54. package/dist/models/PassportRequestDependentModel.d.ts +20 -0
  55. package/dist/models/PassportRequestDependentModel.js +85 -0
  56. package/dist/models/PassportRequestModel.d.ts +40 -0
  57. package/dist/models/PassportRequestModel.js +128 -0
  58. package/dist/models/PassportRequestWorkFlowModel.d.ts +15 -0
  59. package/dist/models/PassportRequestWorkFlowModel.js +60 -0
  60. package/dist/models/SubscriptionAmountModel.d.ts +67 -0
  61. package/dist/models/SubscriptionAmountModel.js +114 -0
  62. package/dist/models/TelephoneDirectoryModel.d.ts +2 -3
  63. package/dist/models/TelephoneDirectoryModel.js +6 -11
  64. package/dist/models/TransferMissionApprovalModel.d.ts +0 -2
  65. package/dist/models/TransferMissionApprovalModel.js +0 -8
  66. package/dist/models/UpdateAttendanceApprovalModel.d.ts +0 -1
  67. package/dist/models/UpdateAttendanceApprovalModel.js +0 -4
  68. package/dist/models/user.d.ts +1 -2
  69. package/dist/models/user.js +2 -7
  70. package/package.json +1 -1
  71. package/src/data-source.ts +16 -40
  72. package/src/index.ts +7 -27
  73. package/src/models/DiplomaticApprovalsModel.ts +77 -0
  74. package/src/models/DiplomaticAttachmentsModel.ts +37 -0
  75. package/src/models/DiplomaticChatsModel.ts +53 -0
  76. package/src/models/DiplomaticClubCardMembersModel.ts +71 -0
  77. package/src/models/DiplomaticClubSubscriptionMasterModel.ts +50 -0
  78. package/src/models/DiplomaticRequestsModel.ts +154 -0
  79. package/src/models/DiplomaticTitlesMasterModel.ts +20 -9
  80. package/src/models/DiplomaticWorkFlowModel.ts +59 -0
  81. package/src/models/FinancialApprovalsModel.ts +0 -4
  82. package/src/models/FinancialGradeModel.ts +8 -13
  83. package/src/models/GeneralServiceApprovalsModel.ts +1 -10
  84. package/src/models/LeaveApprovalsModel.ts +2 -7
  85. package/src/models/LeaveTypesModel.ts +11 -27
  86. package/src/models/TelephoneDirectoryModel.ts +4 -8
  87. package/src/models/TransferMissionApprovalModel.ts +0 -6
  88. package/src/models/TransferMissionRequestModel.ts +0 -1
  89. package/src/models/UpdateAttendanceApprovalModel.ts +0 -3
  90. package/src/models/user.ts +0 -5
  91. package/dist/models/CountryMasterModel.d.ts +0 -11
  92. package/dist/models/CountryMasterModel.js +0 -55
  93. package/dist/models/EarlyCheckoutBalanceModel.d.ts +0 -7
  94. package/dist/models/EarlyCheckoutConfigModel.d.ts +0 -18
  95. package/dist/models/EarlyCheckoutConfigModel.js +0 -80
  96. package/dist/models/EarlyCheckoutTransactionModel.d.ts +0 -19
  97. package/dist/models/EarlyCheckoutTransactionModel.js +0 -66
  98. package/dist/models/LeaveBalanceModel.d.ts +0 -8
  99. package/dist/models/LeaveConfigGradesModel.d.ts +0 -19
  100. package/dist/models/LeaveConfigGradesModel.js +0 -100
  101. package/dist/models/LeaveConfigModel.d.ts +0 -20
  102. package/dist/models/LeaveConfigModel.js +0 -90
  103. package/dist/models/LeaveTransactionModel.d.ts +0 -20
  104. package/dist/models/LeaveTransactionModel.js +0 -71
  105. package/dist/models/M&CMasterModel.d.ts +0 -9
  106. package/dist/models/M&CMasterModel.js +0 -49
  107. package/dist/models/NationalityMasterModel.d.ts +0 -10
  108. package/dist/models/ProfileUpdateRequestsModel.d.ts +0 -106
  109. package/dist/models/ProfileUpdateRequestsModel.js +0 -409
  110. package/dist/models/StationeryMaterialMasterModel.d.ts +0 -11
  111. package/dist/models/StationeryMaterialMasterModel.js +0 -56
  112. package/dist/models/StationeryRequestsModel.d.ts +0 -27
  113. package/dist/models/StationeryRequestsModel.js +0 -93
  114. package/dist/models/StayAfterHoursBalanceModel.d.ts +0 -7
  115. package/dist/models/StayAfterHoursBalanceModel.js +0 -39
  116. package/dist/models/StayAfterHoursTransactionModel.d.ts +0 -19
  117. package/dist/models/StayAfterHoursTransactionModel.js +0 -66
  118. package/dist/models/UserEducationDetailsModel.d.ts +0 -12
  119. package/dist/models/UserEducationDetailsModel.js +0 -44
  120. package/dist/models/UserEmploymentDetailsModel.d.ts +0 -50
  121. package/dist/models/UserEmploymentDetailsModel.js +0 -193
  122. package/dist/models/UserPersonalDetailsModel.d.ts +0 -48
  123. package/dist/models/UserPersonalDetailsModel.js +0 -185
  124. package/src/models/CountryMasterModel.ts +0 -34
  125. package/src/models/EarlyCheckoutBalanceModel.ts +0 -22
  126. package/src/models/EarlyCheckoutConfigModel.ts +0 -57
  127. package/src/models/EarlyCheckoutTransactionModel.ts +0 -53
  128. package/src/models/LeaveBalanceModel.ts +0 -26
  129. package/src/models/LeaveConfigGradesModel.Ts +0 -72
  130. package/src/models/LeaveConfigModel.ts +0 -64
  131. package/src/models/LeaveTransactionModel.ts +0 -58
  132. package/src/models/M&CMasterModel.ts +0 -37
  133. package/src/models/NationalityMasterModel.ts +0 -31
  134. package/src/models/ProfileUpdateRequestsModel.ts +0 -317
  135. package/src/models/StationeryMaterialMasterModel.ts +0 -35
  136. package/src/models/StationeryRequestsModel.ts +0 -65
  137. package/src/models/StayAfterHoursBalanceModel.ts +0 -22
  138. package/src/models/StayAfterHoursTransactionModel.ts +0 -53
  139. package/src/models/UserEducationDetailsModel.ts +0 -26
  140. package/src/models/UserEmploymentDetailsModel.ts +0 -141
  141. package/src/models/UserPersonalDetailsModel.ts +0 -137
@@ -1,317 +0,0 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- export enum ProfileUpdateRequestStatus {
5
- PENDING = "Pending",
6
- ASSIGNED = "Assigned",
7
- IN_PROGRESS = "In Progress",
8
- APPROVED = "Approved",
9
- REJECTED = "Rejected",
10
- COMPLETED = "Completed"
11
- }
12
-
13
- @Entity({ name: 'user_profile_update_requests' })
14
- export class ProfileUpdateRequests extends BaseModel {
15
- @Column({ type: 'int', nullable: true })
16
- req_user_department_id: number | null;
17
-
18
- @Column({ type: 'int', nullable: true })
19
- req_user_section_id: number | null;
20
-
21
- @Column({ type: 'int', nullable: true })
22
- service_id: number | null;
23
-
24
- @Column({ type: 'int', nullable: true })
25
- sub_service_id: number | null;
26
-
27
- @Column({ type: 'int', nullable: false })
28
- user_id: number;
29
-
30
- @Column({ type: 'enum', enum: ProfileUpdateRequestStatus, default: ProfileUpdateRequestStatus.PENDING, nullable: false })
31
- status: ProfileUpdateRequestStatus;
32
-
33
- @Column({ type: 'varchar', nullable: true })
34
- workflow_execution_id: string | null;
35
-
36
- // Decision workflow fields
37
- @Column({ type: 'varchar', length: 50, nullable: true })
38
- employee_type: string | null; // 'FM', 'M&C'
39
-
40
- @Column({ type: 'boolean', default: false, nullable: true })
41
- is_diplomatic: boolean | null;
42
-
43
- @Column({ type: 'varchar', length: 255, nullable: true })
44
- assigned_to_department: string | null; // 'HR_FM' or 'M&C_Admin_Finance'
45
-
46
- @Column({ type: 'varchar', length: 500, nullable: true })
47
- comments: string | null;
48
-
49
- // ========== PERSONAL DETAILS FIELDS (all nullable) ==========
50
- // Name fields
51
- @Column({ type: 'varchar', length: 255, nullable: true })
52
- title: string | null;
53
-
54
- @Column({ type: 'varchar', length: 255, nullable: true })
55
- first_name: string | null;
56
-
57
- @Column({ type: 'varchar', length: 255, nullable: true })
58
- second_name: string | null;
59
-
60
- @Column({ type: 'varchar', length: 255, nullable: true })
61
- third_name: string | null;
62
-
63
- @Column({ type: 'varchar', length: 255, nullable: true })
64
- fourth_name: string | null;
65
-
66
- @Column({ type: 'varchar', length: 255, nullable: true })
67
- family_name_tribe: string | null;
68
-
69
- @Column({ type: 'varchar', length: 255, nullable: true })
70
- previous_name: string | null;
71
-
72
- // Personal Information
73
- @Column({ type: 'varchar', length: 100, nullable: true })
74
- religion: string | null;
75
-
76
- @Column({ type: 'varchar', length: 100, nullable: true })
77
- sect: string | null;
78
-
79
- @Column({ type: 'date', nullable: true })
80
- date_of_birth: Date | null;
81
-
82
- @Column({ type: 'varchar', length: 255, nullable: true })
83
- place_of_birth: string | null;
84
-
85
- @Column({ type: 'varchar', length: 100, nullable: true })
86
- nationality: string | null;
87
-
88
- @Column({ type: 'varchar', length: 50, nullable: true })
89
- gender: string | null;
90
-
91
- @Column({ type: 'varchar', length: 50, nullable: true })
92
- marital_status: string | null;
93
-
94
- @Column({ type: 'int', nullable: true })
95
- number_of_dependents: number | null;
96
-
97
- // Passport Information
98
- @Column({ type: 'varchar', length: 100, nullable: true })
99
- passport_number: string | null;
100
-
101
- @Column({ type: 'varchar', length: 50, nullable: true })
102
- passport_type: string | null;
103
-
104
- @Column({ type: 'date', nullable: true })
105
- issue_date: Date | null; // Passport Issue Date
106
-
107
- @Column({ type: 'varchar', length: 255, nullable: true })
108
- place_of_issue: string | null; // Passport Place of Issue
109
-
110
- @Column({ type: 'date', nullable: true })
111
- expiry_date: Date | null; // Passport Expiry Date
112
-
113
- // ID Card Information
114
- @Column({ type: 'varchar', length: 100, nullable: true })
115
- id_card_number: string | null;
116
-
117
- @Column({ type: 'varchar', length: 255, nullable: true })
118
- id_card_place_of_issue: string | null;
119
-
120
- @Column({ type: 'date', nullable: true })
121
- id_card_expiry_date: Date | null;
122
-
123
- // Address Information
124
- @Column({ type: 'text', nullable: true })
125
- permanent_address: string | null;
126
-
127
- @Column({ type: 'varchar', length: 255, nullable: true })
128
- governorate_wilaya: string | null;
129
-
130
- @Column({ type: 'varchar', length: 100, nullable: true })
131
- po_box: string | null; // P.O. Box
132
-
133
- @Column({ type: 'varchar', length: 50, nullable: true })
134
- zip_code: string | null;
135
-
136
- @Column({ type: 'varchar', length: 100, nullable: true })
137
- house_number: string | null;
138
-
139
- @Column({ type: 'varchar', length: 100, nullable: true })
140
- railway_number: string | null;
141
-
142
- @Column({ type: 'varchar', length: 255, nullable: true })
143
- governorate: string | null;
144
-
145
- @Column({ type: 'varchar', length: 255, nullable: true })
146
- wilayat: string | null;
147
-
148
- @Column({ type: 'varchar', length: 255, nullable: true })
149
- locality: string | null;
150
-
151
- @Column({ type: 'varchar', length: 100, nullable: true })
152
- country: string | null;
153
-
154
- // Contact Information
155
- @Column({ type: 'varchar', length: 50, nullable: true })
156
- phone_number: string | null;
157
-
158
- @Column({ type: 'varchar', length: 50, nullable: true })
159
- fax_number: string | null;
160
-
161
- @Column({ type: 'varchar', length: 255, nullable: true })
162
- email: string | null;
163
-
164
- @Column({ type: 'varchar', length: 255, nullable: true })
165
- email_address_personal: string | null; // Email Address (Personal)
166
-
167
- // Additional Personal Information
168
- @Column({ type: 'varchar', length: 255, nullable: true })
169
- sheikh_name: string | null; // Sheikh's Name
170
-
171
- @Column({ type: 'varchar', length: 500, nullable: true })
172
- photo: string | null;
173
-
174
- // ========== EMPLOYMENT DETAILS FIELDS (all nullable) ==========
175
- // Job Information
176
- @Column({ type: 'varchar', length: 255, nullable: true })
177
- job_title: string | null;
178
-
179
- @Column({ type: 'date', nullable: true })
180
- date_of_decree_issuance: Date | null;
181
-
182
- @Column({ type: 'varchar', length: 100, nullable: true })
183
- civil_service_number: string | null;
184
-
185
- @Column({ type: 'varchar', length: 100, nullable: true })
186
- information_number: string | null;
187
-
188
- @Column({ type: 'varchar', length: 100, nullable: true })
189
- manpower_number: string | null;
190
-
191
- @Column({ type: 'varchar', length: 100, nullable: true })
192
- computer_number: string | null;
193
-
194
- @Column({ type: 'boolean', nullable: true })
195
- contract_employee: boolean | null;
196
-
197
- @Column({ type: 'varchar', length: 255, nullable: true })
198
- nature_of_work: string | null;
199
-
200
- @Column({ type: 'date', nullable: true })
201
- retirement_date: Date | null;
202
-
203
- @Column({ type: 'varchar', length: 255, nullable: true })
204
- proposed_position: string | null;
205
-
206
- @Column({ type: 'varchar', length: 100, nullable: true })
207
- proposed_financial_grade: string | null;
208
-
209
- @Column({ type: 'date', nullable: true })
210
- secondment_start_date: Date | null;
211
-
212
- @Column({ type: 'date', nullable: true })
213
- secondment_end_date: Date | null;
214
-
215
- @Column({ type: 'varchar', length: 100, nullable: true })
216
- disability_type: string | null;
217
-
218
- @Column({ type: 'date', nullable: true })
219
- retirement_start_date: Date | null;
220
-
221
- @Column({ type: 'date', nullable: true })
222
- contract_end_date: Date | null;
223
-
224
- @Column({ type: 'varchar', length: 255, nullable: true })
225
- job_type_group: string | null;
226
-
227
- // Transfer Information
228
- @Column({ type: 'varchar', length: 255, nullable: true })
229
- entity_transferred_from: string | null;
230
-
231
- @Column({ type: 'date', nullable: true })
232
- date_of_transfer: Date | null; // Date of Transfer (from)
233
-
234
- @Column({ type: 'varchar', length: 255, nullable: true })
235
- entity_transferred_to: string | null;
236
-
237
- @Column({ type: 'date', nullable: true })
238
- date_of_transfer_to: Date | null; // Date of Transfer (to)
239
-
240
- @Column({ type: 'text', nullable: true })
241
- job_description: string | null;
242
-
243
- // Appointment Information
244
- @Column({ type: 'varchar', length: 255, nullable: true })
245
- country_appointment: string | null;
246
-
247
- @Column({ type: 'date', nullable: true })
248
- date_of_appointment: Date | null;
249
-
250
- @Column({ type: 'varchar', length: 100, nullable: true })
251
- appointment_grade: string | null;
252
-
253
- @Column({ type: 'varchar', length: 100, nullable: true })
254
- type_of_appointment: string | null;
255
-
256
- @Column({ type: 'varchar', length: 100, nullable: true })
257
- unit_code: string | null;
258
-
259
- @Column({ type: 'boolean', nullable: true })
260
- mc_work: boolean | null; // M&C Work
261
-
262
- @Column({ type: 'varchar', length: 255, nullable: true })
263
- office: string | null;
264
-
265
- @Column({ type: 'varchar', length: 255, nullable: true })
266
- governorate_name: string | null;
267
-
268
- @Column({ type: 'varchar', length: 255, nullable: true })
269
- department: string | null;
270
-
271
- @Column({ type: 'varchar', length: 255, nullable: true })
272
- works_in_department: string | null;
273
-
274
- // Mission Information
275
- @Column({ type: 'varchar', length: 255, nullable: true })
276
- full_name_of_mission: string | null;
277
-
278
- @Column({ type: 'varchar', length: 255, nullable: true })
279
- mission: string | null;
280
-
281
- @Column({ type: 'text', nullable: true })
282
- description_of_mission: string | null;
283
-
284
- @Column({ type: 'date', nullable: true })
285
- date_of_last_transfer_to_mission: Date | null;
286
-
287
- @Column({ type: 'date', nullable: true })
288
- date_of_last_transfer_from_mission: Date | null;
289
-
290
- @Column({ type: 'boolean', nullable: true })
291
- diplomat: boolean | null;
292
-
293
- // Performance and Termination
294
- @Column({ type: 'varchar', length: 100, nullable: true })
295
- efficiency_rating_for_the_year_month: string | null; // Efficiency rating for the year/month
296
-
297
- @Column({ type: 'date', nullable: true })
298
- retirement_termination_of_service_date: Date | null; // Retirement/Termination of Service Date
299
-
300
- @Column({ type: 'text', nullable: true })
301
- reason_for_leaving_service: string | null;
302
-
303
- // ========== EDUCATION DETAILS FIELDS (all nullable) ==========
304
- // Education Information
305
- @Column({ type: 'date', nullable: true })
306
- study_start_date: Date | null;
307
-
308
- @Column({ type: 'date', nullable: true })
309
- study_end_date: Date | null;
310
-
311
- // Training Information
312
- @Column({ type: 'date', nullable: true })
313
- training_course_start_date: Date | null;
314
-
315
- @Column({ type: 'date', nullable: true })
316
- training_course_end_date: Date | null;
317
- }
@@ -1,35 +0,0 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- @Entity({ name: 'stationery_material_master' })
5
- export class StationeryMaterialMaster extends BaseModel {
6
- @Column({ type: 'varchar', length: 255, nullable: false })
7
- material_type: string; // e.g., "Paper", "Pen", "Folder"
8
-
9
- @Column({ type: 'varchar', length: 255, nullable: false })
10
- material_name: string; // e.g., "A4 Paper", "Blue Pen", "File Folder"
11
-
12
- @Column({ type: 'varchar', length: 100, nullable: true })
13
- material_code: string | null; // Optional material code for identification
14
-
15
- @Column({ type: 'text', nullable: true })
16
- description: string | null; // Description of the material
17
-
18
- @Column({ type: 'varchar', length: 100, nullable: true })
19
- unit_of_measure: string | null; // e.g., "Pack", "Box", "Piece", "Ream"
20
-
21
- @Column({ type: 'boolean', default: true })
22
- is_active: boolean; // Whether the material is active/available
23
-
24
- @Column({ type: 'int', default: 0 })
25
- display_order: number; // Order for display in dropdowns
26
-
27
- constructor(material_type: string, material_name: string) {
28
- super();
29
- this.material_type = material_type;
30
- this.material_name = material_name;
31
- this.is_active = true;
32
- this.display_order = 0;
33
- }
34
- }
35
-
@@ -1,65 +0,0 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- export enum StationeryRequestStatus {
5
- PENDING = "Pending",
6
- ASSIGNED = "Assigned",
7
- IN_PROGRESS = "In Progress",
8
- APPROVED = "Approved",
9
- REJECTED = "Rejected",
10
- COMPLETED = "Completed"
11
- }
12
-
13
-
14
- @Entity({ name: 'stationery_requests' })
15
- export class StationeryRequests extends BaseModel {
16
- @Column({ type: 'int', nullable: true })
17
- req_user_department_id: number | null;
18
-
19
- @Column({ type: 'int', nullable: true })
20
- req_user_section_id: number | null;
21
-
22
- @Column({ type: 'int', nullable: true })
23
- service_id: number | null;
24
-
25
- @Column({ type: 'int', nullable: true })
26
- sub_service_id: number | null;
27
-
28
- @Column({ type: 'int', nullable: false })
29
- user_id: number;
30
-
31
- @Column({ type: 'date', nullable: false })
32
- date_of_request_preparation: Date;
33
-
34
- @Column({ type: 'varchar', length: 255, nullable: false })
35
- office: string;
36
-
37
- @Column({ type: 'varchar', length: 255, nullable: false })
38
- material_type: string;
39
-
40
- @Column({ type: 'varchar', length: 255, nullable: false })
41
- material_name: string;
42
-
43
- @Column({ type: 'int', nullable: false })
44
- quantity_required: number;
45
-
46
- @Column({ type: 'varchar', length: 500, nullable: true })
47
- comments: string | null;
48
-
49
- @Column({ type: 'enum', enum: StationeryRequestStatus, default: StationeryRequestStatus.PENDING, nullable: false })
50
- status: StationeryRequestStatus;
51
-
52
- @Column({ type: 'varchar', nullable: true })
53
- workflow_execution_id: string | null;
54
-
55
- // Business logic fields
56
- @Column({ type: 'boolean', default: false, nullable: true })
57
- stock_available: boolean | null; // Whether stock is available in Stores Office
58
-
59
- @Column({ type: 'varchar', length: 100, nullable: true })
60
- po_number: string | null; // Purchase Order number from Finance
61
-
62
- @Column({ type: 'date', nullable: true })
63
- stock_available_date: Date | null; // When stock becomes available
64
- }
65
-
@@ -1,22 +0,0 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- @Entity({ name: 'stay_after_hours_balance' })
5
- export class StayAfterHoursBalance extends BaseModel {
6
-
7
- @Column({ nullable: true })
8
- user_id: string;
9
-
10
- @Column({ nullable: true })
11
- balance: number;
12
-
13
- @Column({ nullable: true })
14
- total_balance: number;
15
-
16
- constructor(user_id: string, balance: number, total_balance: number) {
17
- super();
18
- this.user_id = user_id;
19
- this.balance = balance;
20
- this.total_balance = total_balance;
21
- }
22
- }
@@ -1,53 +0,0 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- export enum StayAfterHoursTransactionStatus {
5
- GRANTED = 'GRANTED',
6
- TAKEN = 'TAKEN',
7
- ADJUSTMENT = 'ADJUSTMENT',
8
- CARRY_FORWARD = 'CARRY_FORWARD',
9
- ENCASHMENT = 'ENCASHMENT',
10
- AVAILED = 'AVAILED',
11
- ELAPSED = 'ELAPSED'
12
- }
13
-
14
- //This model is used to store early checkout transactions for users
15
- @Entity({ name: 'stay_after_hours_transactions' })
16
- export class StayAfterHoursTransaction extends BaseModel {
17
-
18
- @Column({ type: 'int', nullable: false })
19
- user_id: number;
20
-
21
- @Column({ type: 'varchar', nullable: true })
22
- hours_count: string;
23
-
24
- @Column({ type: 'date', nullable: true })
25
- from_date: Date;
26
-
27
- @Column({ type: 'date', nullable: true })
28
- to_date: Date;
29
-
30
- @Column({ type: 'int', nullable: true })
31
- year: number;
32
-
33
- @Column({ type: 'varchar', nullable: false })
34
- status: StayAfterHoursTransactionStatus;
35
-
36
- constructor(
37
- user_id: number,
38
- hours_count: string,
39
- from_date: Date,
40
- to_date: Date,
41
- year: number,
42
- status: StayAfterHoursTransactionStatus
43
- ) {
44
- super();
45
- this.user_id = user_id;
46
- this.hours_count = hours_count;
47
- this.from_date = from_date;
48
- this.to_date = to_date;
49
- this.year = year;
50
- this.status = status;
51
- }
52
- }
53
-
@@ -1,26 +0,0 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- /**
5
- * User Education Details - only fields from business requirements
6
- * Linked by user_id (not request_id)
7
- */
8
- @Entity({ name: 'user_education_details' })
9
- export class UserEducationDetails extends BaseModel {
10
- @Column({ type: 'int', nullable: false })
11
- user_id: number; // Foreign key to users table
12
-
13
- // Education Information
14
- @Column({ type: 'date', nullable: true })
15
- study_start_date: Date | null;
16
-
17
- @Column({ type: 'date', nullable: true })
18
- study_end_date: Date | null;
19
-
20
- // Training Information
21
- @Column({ type: 'date', nullable: true })
22
- training_course_start_date: Date | null;
23
-
24
- @Column({ type: 'date', nullable: true })
25
- training_course_end_date: Date | null;
26
- }
@@ -1,141 +0,0 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- /**
5
- * User Employment Details - only fields from business requirements
6
- * Linked by user_id (not request_id)
7
- * When profile update is approved, data from this table updates users table
8
- */
9
- @Entity({ name: 'user_employment_details' })
10
- export class UserEmploymentDetails extends BaseModel {
11
- @Column({ type: 'int', nullable: false })
12
- user_id: number; // Foreign key to users table
13
-
14
- // Job Information
15
- @Column({ type: 'varchar', length: 255, nullable: true })
16
- job_title: string | null;
17
-
18
- @Column({ type: 'date', nullable: true })
19
- date_of_decree_issuance: Date | null;
20
-
21
- @Column({ type: 'varchar', length: 100, nullable: true })
22
- civil_service_number: string | null;
23
-
24
- @Column({ type: 'varchar', length: 100, nullable: true })
25
- information_number: string | null;
26
-
27
- @Column({ type: 'varchar', length: 100, nullable: true })
28
- manpower_number: string | null;
29
-
30
- @Column({ type: 'varchar', length: 100, nullable: true })
31
- computer_number: string | null;
32
-
33
- @Column({ type: 'boolean', nullable: true })
34
- contract_employee: boolean | null;
35
-
36
- @Column({ type: 'varchar', length: 255, nullable: true })
37
- nature_of_work: string | null;
38
-
39
- @Column({ type: 'date', nullable: true })
40
- retirement_date: Date | null;
41
-
42
- @Column({ type: 'varchar', length: 255, nullable: true })
43
- proposed_position: string | null;
44
-
45
- @Column({ type: 'varchar', length: 100, nullable: true })
46
- proposed_financial_grade: string | null;
47
-
48
- @Column({ type: 'date', nullable: true })
49
- secondment_start_date: Date | null;
50
-
51
- @Column({ type: 'date', nullable: true })
52
- secondment_end_date: Date | null;
53
-
54
- @Column({ type: 'varchar', length: 100, nullable: true })
55
- disability_type: string | null;
56
-
57
- @Column({ type: 'date', nullable: true })
58
- retirement_start_date: Date | null;
59
-
60
- @Column({ type: 'date', nullable: true })
61
- contract_end_date: Date | null;
62
-
63
- @Column({ type: 'varchar', length: 255, nullable: true })
64
- job_type_group: string | null;
65
-
66
- // Transfer Information
67
- @Column({ type: 'varchar', length: 255, nullable: true })
68
- entity_transferred_from: string | null;
69
-
70
- @Column({ type: 'date', nullable: true })
71
- date_of_transfer: Date | null; // Date of Transfer (from)
72
-
73
- @Column({ type: 'varchar', length: 255, nullable: true })
74
- entity_transferred_to: string | null;
75
-
76
- @Column({ type: 'date', nullable: true })
77
- date_of_transfer_to: Date | null; // Date of Transfer (to)
78
-
79
- @Column({ type: 'text', nullable: true })
80
- job_description: string | null;
81
-
82
- // Appointment Information
83
- @Column({ type: 'varchar', length: 255, nullable: true })
84
- country_appointment: string | null;
85
-
86
- @Column({ type: 'date', nullable: true })
87
- date_of_appointment: Date | null;
88
-
89
- @Column({ type: 'varchar', length: 100, nullable: true })
90
- appointment_grade: string | null;
91
-
92
- @Column({ type: 'varchar', length: 100, nullable: true })
93
- type_of_appointment: string | null;
94
-
95
- @Column({ type: 'varchar', length: 100, nullable: true })
96
- unit_code: string | null;
97
-
98
- @Column({ type: 'boolean', nullable: true })
99
- mc_work: boolean | null; // M&C Work
100
-
101
- @Column({ type: 'varchar', length: 255, nullable: true })
102
- office: string | null;
103
-
104
- @Column({ type: 'varchar', length: 255, nullable: true })
105
- governorate_name: string | null;
106
-
107
- @Column({ type: 'varchar', length: 255, nullable: true })
108
- department: string | null;
109
-
110
- @Column({ type: 'varchar', length: 255, nullable: true })
111
- works_in_department: string | null;
112
-
113
- // Mission Information
114
- @Column({ type: 'varchar', length: 255, nullable: true })
115
- full_name_of_mission: string | null;
116
-
117
- @Column({ type: 'varchar', length: 255, nullable: true })
118
- mission: string | null;
119
-
120
- @Column({ type: 'text', nullable: true })
121
- description_of_mission: string | null;
122
-
123
- @Column({ type: 'date', nullable: true })
124
- date_of_last_transfer_to_mission: Date | null;
125
-
126
- @Column({ type: 'date', nullable: true })
127
- date_of_last_transfer_from_mission: Date | null;
128
-
129
- @Column({ type: 'boolean', nullable: true })
130
- diplomat: boolean | null;
131
-
132
- // Performance and Termination
133
- @Column({ type: 'varchar', length: 100, nullable: true })
134
- efficiency_rating_for_the_year_month: string | null; // Efficiency rating for the year/month
135
-
136
- @Column({ type: 'date', nullable: true })
137
- retirement_termination_of_service_date: Date | null; // Retirement/Termination of Service Date
138
-
139
- @Column({ type: 'text', nullable: true })
140
- reason_for_leaving_service: string | null;
141
- }