@platform-modules/foreign-ministry 1.1.74 → 1.1.76

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 (119) hide show
  1. package/dist/data-source.js +16 -32
  2. package/dist/index.d.ts +8 -24
  3. package/dist/index.js +8 -38
  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/DiplomaticClubCardAttachmentModel.js +44 -0
  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 +53 -0
  27. package/dist/models/DiplomaticRequestsModel.js +182 -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 +13 -0
  35. package/dist/models/{StationeryMaterialMasterModel.js → DiplomaticTitlesMasterModel.js} +23 -25
  36. package/dist/models/DiplomaticWorkFlowModel.d.ts +18 -0
  37. package/dist/models/DiplomaticWorkFlowModel.js +69 -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/LeaveTypesModel.d.ts +1 -7
  45. package/dist/models/LeaveTypesModel.js +5 -20
  46. package/dist/models/PassportRequestApprovalModel.d.ts +22 -0
  47. package/dist/models/PassportRequestApprovalModel.js +91 -0
  48. package/dist/models/PassportRequestAttachmentModel.d.ts +10 -0
  49. package/dist/models/PassportRequestAttachmentModel.js +54 -0
  50. package/dist/models/PassportRequestChatModel.d.ts +8 -0
  51. package/dist/models/{LeaveBalanceModel.js → PassportRequestChatModel.js} +23 -23
  52. package/dist/models/PassportRequestDependentModel.d.ts +20 -0
  53. package/dist/models/PassportRequestDependentModel.js +85 -0
  54. package/dist/models/PassportRequestModel.d.ts +40 -0
  55. package/dist/models/PassportRequestModel.js +128 -0
  56. package/dist/models/PassportRequestWorkFlowModel.d.ts +15 -0
  57. package/dist/models/PassportRequestWorkFlowModel.js +60 -0
  58. package/dist/models/SubscriptionAmountModel.d.ts +67 -0
  59. package/dist/models/SubscriptionAmountModel.js +114 -0
  60. package/package.json +1 -1
  61. package/src/data-source.ts +17 -35
  62. package/src/index.ts +8 -24
  63. package/src/models/DiplomaticApprovalsModel.ts +77 -0
  64. package/src/models/DiplomaticAttachmentsModel.ts +37 -0
  65. package/src/models/DiplomaticChatsModel.ts +53 -0
  66. package/src/models/DiplomaticClubCardMembersModel.ts +71 -0
  67. package/src/models/DiplomaticClubSubscriptionMasterModel.ts +50 -0
  68. package/src/models/DiplomaticRequestsModel.ts +151 -0
  69. package/src/models/DiplomaticTitlesMasterModel.ts +39 -0
  70. package/src/models/DiplomaticWorkFlowModel.ts +53 -0
  71. package/src/models/FinancialApprovalsModel.ts +0 -4
  72. package/src/models/FinancialGradeModel.ts +8 -13
  73. package/src/models/GeneralServiceApprovalsModel.ts +1 -10
  74. package/src/models/LeaveTypesModel.ts +11 -27
  75. package/dist/models/EarlyCheckoutBalanceModel.d.ts +0 -7
  76. package/dist/models/EarlyCheckoutConfigModel.d.ts +0 -18
  77. package/dist/models/EarlyCheckoutConfigModel.js +0 -80
  78. package/dist/models/EarlyCheckoutTransactionModel.d.ts +0 -19
  79. package/dist/models/EarlyCheckoutTransactionModel.js +0 -66
  80. package/dist/models/LeaveBalanceModel.d.ts +0 -8
  81. package/dist/models/LeaveConfigGradesModel.d.ts +0 -19
  82. package/dist/models/LeaveConfigGradesModel.js +0 -100
  83. package/dist/models/LeaveConfigModel.d.ts +0 -20
  84. package/dist/models/LeaveConfigModel.js +0 -90
  85. package/dist/models/LeaveTransactionModel.d.ts +0 -20
  86. package/dist/models/LeaveTransactionModel.js +0 -71
  87. package/dist/models/M&CMasterModel.d.ts +0 -9
  88. package/dist/models/M&CMasterModel.js +0 -49
  89. package/dist/models/ProfileUpdateRequestsModel.d.ts +0 -106
  90. package/dist/models/ProfileUpdateRequestsModel.js +0 -409
  91. package/dist/models/StationeryMaterialMasterModel.d.ts +0 -11
  92. package/dist/models/StationeryRequestsModel.d.ts +0 -27
  93. package/dist/models/StationeryRequestsModel.js +0 -93
  94. package/dist/models/StayAfterHoursBalanceModel.d.ts +0 -7
  95. package/dist/models/StayAfterHoursBalanceModel.js +0 -39
  96. package/dist/models/StayAfterHoursTransactionModel.d.ts +0 -19
  97. package/dist/models/StayAfterHoursTransactionModel.js +0 -66
  98. package/dist/models/UserEducationDetailsModel.d.ts +0 -12
  99. package/dist/models/UserEducationDetailsModel.js +0 -44
  100. package/dist/models/UserEmploymentDetailsModel.d.ts +0 -50
  101. package/dist/models/UserEmploymentDetailsModel.js +0 -193
  102. package/dist/models/UserPersonalDetailsModel.d.ts +0 -48
  103. package/dist/models/UserPersonalDetailsModel.js +0 -185
  104. package/src/models/EarlyCheckoutBalanceModel.ts +0 -22
  105. package/src/models/EarlyCheckoutConfigModel.ts +0 -57
  106. package/src/models/EarlyCheckoutTransactionModel.ts +0 -53
  107. package/src/models/LeaveBalanceModel.ts +0 -26
  108. package/src/models/LeaveConfigGradesModel.Ts +0 -72
  109. package/src/models/LeaveConfigModel.ts +0 -64
  110. package/src/models/LeaveTransactionModel.ts +0 -58
  111. package/src/models/M&CMasterModel.ts +0 -37
  112. package/src/models/ProfileUpdateRequestsModel.ts +0 -317
  113. package/src/models/StationeryMaterialMasterModel.ts +0 -35
  114. package/src/models/StationeryRequestsModel.ts +0 -65
  115. package/src/models/StayAfterHoursBalanceModel.ts +0 -22
  116. package/src/models/StayAfterHoursTransactionModel.ts +0 -53
  117. package/src/models/UserEducationDetailsModel.ts +0 -26
  118. package/src/models/UserEmploymentDetailsModel.ts +0 -141
  119. package/src/models/UserPersonalDetailsModel.ts +0 -137
@@ -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
- }
@@ -1,137 +0,0 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- /**
5
- * User Personal 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_personal_details' })
10
- export class UserPersonalDetails extends BaseModel {
11
- @Column({ type: 'int', nullable: false })
12
- user_id: number; // Foreign key to users table
13
-
14
- // Name fields
15
- @Column({ type: 'varchar', length: 255, nullable: true })
16
- title: string | null;
17
-
18
- @Column({ type: 'varchar', length: 255, nullable: true })
19
- first_name: string | null;
20
-
21
- @Column({ type: 'varchar', length: 255, nullable: true })
22
- second_name: string | null;
23
-
24
- @Column({ type: 'varchar', length: 255, nullable: true })
25
- third_name: string | null;
26
-
27
- @Column({ type: 'varchar', length: 255, nullable: true })
28
- fourth_name: string | null;
29
-
30
- @Column({ type: 'varchar', length: 255, nullable: true })
31
- family_name_tribe: string | null;
32
-
33
- @Column({ type: 'varchar', length: 255, nullable: true })
34
- previous_name: string | null;
35
-
36
- // Personal Information
37
- @Column({ type: 'varchar', length: 100, nullable: true })
38
- religion: string | null;
39
-
40
- @Column({ type: 'varchar', length: 100, nullable: true })
41
- sect: string | null;
42
-
43
- @Column({ type: 'date', nullable: true })
44
- date_of_birth: Date | null;
45
-
46
- @Column({ type: 'varchar', length: 255, nullable: true })
47
- place_of_birth: string | null;
48
-
49
- @Column({ type: 'varchar', length: 100, nullable: true })
50
- nationality: string | null;
51
-
52
- @Column({ type: 'varchar', length: 50, nullable: true })
53
- gender: string | null;
54
-
55
- @Column({ type: 'varchar', length: 50, nullable: true })
56
- marital_status: string | null;
57
-
58
- @Column({ type: 'int', nullable: true })
59
- number_of_dependents: number | null;
60
-
61
- // Passport Information
62
- @Column({ type: 'varchar', length: 100, nullable: true })
63
- passport_number: string | null;
64
-
65
- @Column({ type: 'varchar', length: 50, nullable: true })
66
- passport_type: string | null;
67
-
68
- @Column({ type: 'date', nullable: true })
69
- issue_date: Date | null; // Passport Issue Date
70
-
71
- @Column({ type: 'varchar', length: 255, nullable: true })
72
- place_of_issue: string | null; // Passport Place of Issue
73
-
74
- @Column({ type: 'date', nullable: true })
75
- expiry_date: Date | null; // Passport Expiry Date
76
-
77
- // ID Card Information
78
- @Column({ type: 'varchar', length: 100, nullable: true })
79
- id_card_number: string | null;
80
-
81
- @Column({ type: 'varchar', length: 255, nullable: true })
82
- id_card_place_of_issue: string | null;
83
-
84
- @Column({ type: 'date', nullable: true })
85
- id_card_expiry_date: Date | null;
86
-
87
- // Address Information
88
- @Column({ type: 'text', nullable: true })
89
- permanent_address: string | null;
90
-
91
- @Column({ type: 'varchar', length: 255, nullable: true })
92
- governorate_wilaya: string | null;
93
-
94
- @Column({ type: 'varchar', length: 100, nullable: true })
95
- po_box: string | null; // P.O. Box
96
-
97
- @Column({ type: 'varchar', length: 50, nullable: true })
98
- zip_code: string | null;
99
-
100
- @Column({ type: 'varchar', length: 100, nullable: true })
101
- house_number: string | null;
102
-
103
- @Column({ type: 'varchar', length: 100, nullable: true })
104
- railway_number: string | null;
105
-
106
- @Column({ type: 'varchar', length: 255, nullable: true })
107
- governorate: string | null;
108
-
109
- @Column({ type: 'varchar', length: 255, nullable: true })
110
- wilayat: string | null;
111
-
112
- @Column({ type: 'varchar', length: 255, nullable: true })
113
- locality: string | null;
114
-
115
- @Column({ type: 'varchar', length: 100, nullable: true })
116
- country: string | null;
117
-
118
- // Contact Information
119
- @Column({ type: 'varchar', length: 50, nullable: true })
120
- phone_number: string | null;
121
-
122
- @Column({ type: 'varchar', length: 50, nullable: true })
123
- fax_number: string | null;
124
-
125
- @Column({ type: 'varchar', length: 255, nullable: true })
126
- email: string | null;
127
-
128
- @Column({ type: 'varchar', length: 255, nullable: true })
129
- email_address_personal: string | null; // Email Address (Personal)
130
-
131
- // Additional Personal Information
132
- @Column({ type: 'varchar', length: 255, nullable: true })
133
- sheikh_name: string | null; // Sheikh's Name
134
-
135
- @Column({ type: 'varchar', length: 500, nullable: true })
136
- photo: string | null;
137
- }