@platform-modules/foreign-ministry 1.3.200 → 1.3.202

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 (55) hide show
  1. package/.env +15 -6
  2. package/dist/data-source.js +10 -0
  3. package/dist/index.d.ts +5 -0
  4. package/dist/index.js +6 -0
  5. package/dist/models/GatePassVisitorsModel.d.ts +1 -0
  6. package/dist/models/GatePassVisitorsModel.js +5 -0
  7. package/dist/models/HelpContentMappedCategoriesModel.d.ts +6 -0
  8. package/dist/models/HelpContentMappedCategoriesModel.js +34 -0
  9. package/dist/models/HelpContentMappedTagsModel.d.ts +6 -0
  10. package/dist/models/HelpContentMappedTagsModel.js +34 -0
  11. package/dist/models/HelpContentTagsModel.d.ts +5 -0
  12. package/dist/models/HelpContentTagsModel.js +29 -0
  13. package/dist/models/MediaApprovalModel.d.ts +23 -0
  14. package/dist/models/MediaApprovalModel.js +88 -0
  15. package/dist/models/MediaAttachmentModel.d.ts +11 -0
  16. package/dist/models/MediaAttachmentModel.js +52 -0
  17. package/dist/models/MediaChatModel.d.ts +19 -0
  18. package/dist/models/MediaChatModel.js +77 -0
  19. package/dist/models/MediaRequestModel.d.ts +75 -0
  20. package/dist/models/MediaRequestModel.js +162 -0
  21. package/dist/models/MediaWorkflowModel.d.ts +17 -0
  22. package/dist/models/MediaWorkflowModel.js +62 -0
  23. package/dist/models/questionTagsModel.d.ts +6 -0
  24. package/dist/models/questionTagsModel.js +34 -0
  25. package/package.json +1 -1
  26. package/src/data-source.ts +10 -0
  27. package/src/index.ts +6 -0
  28. package/src/models/DiplomaticAcademyRequestModel.ts +80 -80
  29. package/src/models/GatePassVisitorsModel.ts +4 -0
  30. package/src/models/LanguageCourseRequestModel.ts +67 -67
  31. package/src/models/LeaveConfigModel.ts +71 -71
  32. package/src/models/MediaApprovalModel.ts +59 -0
  33. package/src/models/MediaAttachmentModel.ts +29 -0
  34. package/src/models/MediaChatModel.ts +63 -0
  35. package/src/models/MediaRequestModel.ts +135 -0
  36. package/src/models/MediaWorkflowModel.ts +38 -0
  37. package/src/models/MissionTravelApprovalModel.ts +101 -101
  38. package/src/models/MissionTravelAttachmentModel.ts +56 -56
  39. package/src/models/MissionTravelChatModel.ts +52 -52
  40. package/src/models/MissionTravelPersonModel.ts +105 -105
  41. package/src/models/MissionTravelWorkflowModel.ts +54 -54
  42. package/src/models/ProjectMilestoneDocumentsModel.ts +40 -40
  43. package/src/models/ProjectMilestonesModel.ts +65 -65
  44. package/src/models/ProjectModel.ts +65 -65
  45. package/src/models/ProjectTaskActivityModel.ts +35 -35
  46. package/src/models/ProjectTaskCommentsModel.ts +17 -17
  47. package/src/models/ProjectTasksModel.ts +80 -80
  48. package/src/models/RegisterCandidateRequestModel.ts +183 -183
  49. package/src/models/SectionModel.ts +35 -35
  50. package/src/models/ServicesNotificationConfigsModel.ts +55 -55
  51. package/dist/models/MissionTravelClassConfigModel.d.ts +0 -10
  52. package/dist/models/MissionTravelClassConfigModel.js +0 -50
  53. package/dist/models/MissionTravelPerdiemModel.d.ts +0 -10
  54. package/dist/models/MissionTravelPerdiemModel.js +0 -54
  55. /package/src/models/{LeaveConfigGradesModel.Ts → LeaveConfigGradesModel.ts} +0 -0
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MediaRequests = exports.MediaYesNo = exports.MediaNotificationType = exports.MediaClassification = exports.MediaRequestType = exports.MediaCategory = exports.MediaAuthorPublisher = exports.MediaRequestStatus = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var MediaRequestStatus;
16
+ (function (MediaRequestStatus) {
17
+ MediaRequestStatus["DRAFT"] = "Draft";
18
+ MediaRequestStatus["PENDING_REVIEW"] = "Pending Review";
19
+ MediaRequestStatus["APPROVED"] = "Approved";
20
+ MediaRequestStatus["REJECTED"] = "Rejected";
21
+ MediaRequestStatus["PUBLISHED"] = "Published";
22
+ MediaRequestStatus["ARCHIVED"] = "Archived";
23
+ })(MediaRequestStatus || (exports.MediaRequestStatus = MediaRequestStatus = {}));
24
+ var MediaAuthorPublisher;
25
+ (function (MediaAuthorPublisher) {
26
+ MediaAuthorPublisher["MEDIA_TEAM"] = "Media Team";
27
+ MediaAuthorPublisher["HR"] = "HR";
28
+ MediaAuthorPublisher["EMBASSY"] = "Embassy";
29
+ MediaAuthorPublisher["DEPARTMENT"] = "department";
30
+ })(MediaAuthorPublisher || (exports.MediaAuthorPublisher = MediaAuthorPublisher = {}));
31
+ var MediaCategory;
32
+ (function (MediaCategory) {
33
+ MediaCategory["WORLDWIDE"] = "Worldwide";
34
+ MediaCategory["IT"] = "IT";
35
+ MediaCategory["HR"] = "HR";
36
+ MediaCategory["DIPLOMATIC_MC"] = "Diplomatic M&C's";
37
+ })(MediaCategory || (exports.MediaCategory = MediaCategory = {}));
38
+ var MediaRequestType;
39
+ (function (MediaRequestType) {
40
+ MediaRequestType["EXTERNAL_MEDIA_COVERAGE"] = "External media coverage";
41
+ MediaRequestType["EXTERNAL_ARTICLES_PUBLISH"] = "External articles publish";
42
+ MediaRequestType["INTERNAL_MEDIA_COVERAGE"] = "Internal media coverage";
43
+ MediaRequestType["INTERNAL_ARTICLES_PUBLISH"] = "Internal articles publish";
44
+ MediaRequestType["PURCHASE_ORDERS"] = "Purchase orders";
45
+ MediaRequestType["POST_ADVERTISEMENT_DIPLOMATIC_CAR"] = "Post an advertisement for selling a diplomatic car";
46
+ MediaRequestType["INTERNAL_EVENTS_NATIONAL_DAY"] = "Internal Events requirements (National Day) for Omani embassies";
47
+ MediaRequestType["MINISTRY_DEPARTMENTS_REQUESTS"] = "Ministry Departments Requests";
48
+ })(MediaRequestType || (exports.MediaRequestType = MediaRequestType = {}));
49
+ var MediaClassification;
50
+ (function (MediaClassification) {
51
+ MediaClassification["CLASSIFIED"] = "Classified, Private";
52
+ MediaClassification["PUBLIC"] = "Public";
53
+ })(MediaClassification || (exports.MediaClassification = MediaClassification = {}));
54
+ var MediaNotificationType;
55
+ (function (MediaNotificationType) {
56
+ MediaNotificationType["REGULAR_UPDATE"] = "Regular update";
57
+ MediaNotificationType["URGENT_POPUP"] = "urgent popup";
58
+ })(MediaNotificationType || (exports.MediaNotificationType = MediaNotificationType = {}));
59
+ var MediaYesNo;
60
+ (function (MediaYesNo) {
61
+ MediaYesNo["YES"] = "Yes";
62
+ MediaYesNo["NO"] = "No";
63
+ })(MediaYesNo || (exports.MediaYesNo = MediaYesNo = {}));
64
+ let MediaRequests = class MediaRequests extends BaseModel_1.BaseModel {
65
+ };
66
+ exports.MediaRequests = MediaRequests;
67
+ __decorate([
68
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
69
+ __metadata("design:type", Object)
70
+ ], MediaRequests.prototype, "req_user_department_id", void 0);
71
+ __decorate([
72
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
73
+ __metadata("design:type", Object)
74
+ ], MediaRequests.prototype, "req_user_section_id", void 0);
75
+ __decorate([
76
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
77
+ __metadata("design:type", Object)
78
+ ], MediaRequests.prototype, "service_id", void 0);
79
+ __decorate([
80
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
81
+ __metadata("design:type", Object)
82
+ ], MediaRequests.prototype, "sub_service_id", void 0);
83
+ __decorate([
84
+ (0, typeorm_1.Column)({ type: 'int', nullable: false }),
85
+ __metadata("design:type", Number)
86
+ ], MediaRequests.prototype, "user_id", void 0);
87
+ __decorate([
88
+ (0, typeorm_1.Column)({
89
+ type: 'enum',
90
+ enum: MediaRequestStatus,
91
+ default: MediaRequestStatus.DRAFT,
92
+ nullable: false,
93
+ }),
94
+ __metadata("design:type", String)
95
+ ], MediaRequests.prototype, "status", void 0);
96
+ __decorate([
97
+ (0, typeorm_1.Column)({ type: 'varchar', nullable: true }),
98
+ __metadata("design:type", Object)
99
+ ], MediaRequests.prototype, "workflow_execution_id", void 0);
100
+ __decorate([
101
+ (0, typeorm_1.Column)({ type: 'varchar', length: 500, nullable: true }),
102
+ __metadata("design:type", Object)
103
+ ], MediaRequests.prototype, "title", void 0);
104
+ __decorate([
105
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
106
+ __metadata("design:type", Object)
107
+ ], MediaRequests.prototype, "summary_abstract", void 0);
108
+ __decorate([
109
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
110
+ __metadata("design:type", Object)
111
+ ], MediaRequests.prototype, "description", void 0);
112
+ __decorate([
113
+ (0, typeorm_1.Column)({ type: 'enum', enum: MediaAuthorPublisher, nullable: true }),
114
+ __metadata("design:type", Object)
115
+ ], MediaRequests.prototype, "author_publisher", void 0);
116
+ __decorate([
117
+ (0, typeorm_1.Column)({ type: 'enum', enum: MediaCategory, nullable: true }),
118
+ __metadata("design:type", Object)
119
+ ], MediaRequests.prototype, "category", void 0);
120
+ __decorate([
121
+ (0, typeorm_1.Column)({ type: 'enum', enum: MediaRequestType, nullable: true }),
122
+ __metadata("design:type", Object)
123
+ ], MediaRequests.prototype, "request_type", void 0);
124
+ __decorate([
125
+ (0, typeorm_1.Column)({ type: 'enum', enum: MediaClassification, nullable: true }),
126
+ __metadata("design:type", Object)
127
+ ], MediaRequests.prototype, "classification", void 0);
128
+ __decorate([
129
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
130
+ __metadata("design:type", Object)
131
+ ], MediaRequests.prototype, "target_audience", void 0);
132
+ __decorate([
133
+ (0, typeorm_1.Column)({ type: 'date', nullable: true }),
134
+ __metadata("design:type", Object)
135
+ ], MediaRequests.prototype, "publish_date", void 0);
136
+ __decorate([
137
+ (0, typeorm_1.Column)({ type: 'date', nullable: true }),
138
+ __metadata("design:type", Object)
139
+ ], MediaRequests.prototype, "expiry_date", void 0);
140
+ __decorate([
141
+ (0, typeorm_1.Column)({ type: 'boolean', default: false, nullable: true }),
142
+ __metadata("design:type", Object)
143
+ ], MediaRequests.prototype, "hide_flag", void 0);
144
+ __decorate([
145
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
146
+ __metadata("design:type", Object)
147
+ ], MediaRequests.prototype, "reason_for_hiding", void 0);
148
+ __decorate([
149
+ (0, typeorm_1.Column)({ type: 'enum', enum: MediaNotificationType, nullable: true }),
150
+ __metadata("design:type", Object)
151
+ ], MediaRequests.prototype, "notification_type", void 0);
152
+ __decorate([
153
+ (0, typeorm_1.Column)({ type: 'enum', enum: MediaYesNo, nullable: true }),
154
+ __metadata("design:type", Object)
155
+ ], MediaRequests.prototype, "popup_mandatory", void 0);
156
+ __decorate([
157
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: true }),
158
+ __metadata("design:type", Object)
159
+ ], MediaRequests.prototype, "popup_duration", void 0);
160
+ exports.MediaRequests = MediaRequests = __decorate([
161
+ (0, typeorm_1.Entity)({ name: 'media_requests' })
162
+ ], MediaRequests);
@@ -0,0 +1,17 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare enum MediaWorkFlowStatus {
3
+ COMPLETED = "Completed",
4
+ NOT_YET_STARTED = "Not Yet Started",
5
+ PENDING = "Pending"
6
+ }
7
+ export declare class MediaWorkFlow extends BaseModel {
8
+ request_id: number;
9
+ service_id: number | null;
10
+ sub_service_id: number | null;
11
+ content: string;
12
+ status: MediaWorkFlowStatus;
13
+ user_id: number | null;
14
+ role_id: number | null;
15
+ department_id: number | null;
16
+ section_id: number | null;
17
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MediaWorkFlow = exports.MediaWorkFlowStatus = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var MediaWorkFlowStatus;
16
+ (function (MediaWorkFlowStatus) {
17
+ MediaWorkFlowStatus["COMPLETED"] = "Completed";
18
+ MediaWorkFlowStatus["NOT_YET_STARTED"] = "Not Yet Started";
19
+ MediaWorkFlowStatus["PENDING"] = "Pending";
20
+ })(MediaWorkFlowStatus || (exports.MediaWorkFlowStatus = MediaWorkFlowStatus = {}));
21
+ let MediaWorkFlow = class MediaWorkFlow extends BaseModel_1.BaseModel {
22
+ };
23
+ exports.MediaWorkFlow = MediaWorkFlow;
24
+ __decorate([
25
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
26
+ __metadata("design:type", Number)
27
+ ], MediaWorkFlow.prototype, "request_id", void 0);
28
+ __decorate([
29
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
30
+ __metadata("design:type", Object)
31
+ ], MediaWorkFlow.prototype, "service_id", void 0);
32
+ __decorate([
33
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
34
+ __metadata("design:type", Object)
35
+ ], MediaWorkFlow.prototype, "sub_service_id", void 0);
36
+ __decorate([
37
+ (0, typeorm_1.Column)({ type: 'varchar', length: 500, nullable: false }),
38
+ __metadata("design:type", String)
39
+ ], MediaWorkFlow.prototype, "content", void 0);
40
+ __decorate([
41
+ (0, typeorm_1.Column)({ type: 'enum', enum: MediaWorkFlowStatus, default: MediaWorkFlowStatus.NOT_YET_STARTED, nullable: false }),
42
+ __metadata("design:type", String)
43
+ ], MediaWorkFlow.prototype, "status", void 0);
44
+ __decorate([
45
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
46
+ __metadata("design:type", Object)
47
+ ], MediaWorkFlow.prototype, "user_id", void 0);
48
+ __decorate([
49
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
50
+ __metadata("design:type", Object)
51
+ ], MediaWorkFlow.prototype, "role_id", void 0);
52
+ __decorate([
53
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
54
+ __metadata("design:type", Object)
55
+ ], MediaWorkFlow.prototype, "department_id", void 0);
56
+ __decorate([
57
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
58
+ __metadata("design:type", Object)
59
+ ], MediaWorkFlow.prototype, "section_id", void 0);
60
+ exports.MediaWorkFlow = MediaWorkFlow = __decorate([
61
+ (0, typeorm_1.Entity)({ name: 'media_workflows' })
62
+ ], MediaWorkFlow);
@@ -0,0 +1,6 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare class QuestionTags extends BaseModel {
3
+ name: string;
4
+ question_Id: number;
5
+ constructor(name: string, question_Id: number);
6
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.QuestionTags = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ let QuestionTags = class QuestionTags extends BaseModel_1.BaseModel {
16
+ constructor(name, question_Id) {
17
+ super();
18
+ this.name = name,
19
+ this.question_Id = question_Id;
20
+ }
21
+ };
22
+ exports.QuestionTags = QuestionTags;
23
+ __decorate([
24
+ (0, typeorm_1.Column)({ nullable: true }),
25
+ __metadata("design:type", String)
26
+ ], QuestionTags.prototype, "name", void 0);
27
+ __decorate([
28
+ (0, typeorm_1.Column)({ nullable: true }),
29
+ __metadata("design:type", Number)
30
+ ], QuestionTags.prototype, "question_Id", void 0);
31
+ exports.QuestionTags = QuestionTags = __decorate([
32
+ (0, typeorm_1.Entity)({ name: 'question_tags' }),
33
+ __metadata("design:paramtypes", [String, Number])
34
+ ], QuestionTags);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platform-modules/foreign-ministry",
3
- "version": "1.3.200",
3
+ "version": "1.3.202",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -201,6 +201,11 @@ import { FoodWorkFlow } from './models/FoodWorkflowModel';
201
201
  import { FoodHistory } from './models/FoodHistoryModel';
202
202
  import { Gifts } from './models/GiftsModel';
203
203
  import { GiftAttachments } from './models/GiftAttachmentModel';
204
+ import { MediaRequests } from './models/MediaRequestModel';
205
+ import { MediaApprovalDetails } from './models/MediaApprovalModel';
206
+ import { MediaRequestAttachment } from './models/MediaAttachmentModel';
207
+ import { MediaRequestChat } from './models/MediaChatModel';
208
+ import { MediaWorkFlow } from './models/MediaWorkflowModel';
204
209
  import { Projects } from './models/ProjectModel';
205
210
  import { Templates } from './models/TemplateModel';
206
211
  import { ProjectMilestoneDocuments } from './models/ProjectMilestoneDocumentsModel';
@@ -412,6 +417,11 @@ export const AppDataSource = new DataSource({
412
417
  FoodHistory,
413
418
  Gifts,
414
419
  GiftAttachments,
420
+ MediaRequests,
421
+ MediaApprovalDetails,
422
+ MediaRequestAttachment,
423
+ MediaRequestChat,
424
+ MediaWorkFlow,
415
425
  Projects,
416
426
  Templates,
417
427
  ProjectMilestoneDocuments,
package/src/index.ts CHANGED
@@ -303,6 +303,12 @@ export * from './models/FoodWorkflowModel';
303
303
  export * from './models/FoodHistoryModel';
304
304
  export * from './models/GiftsModel';
305
305
  export * from './models/GiftAttachmentModel';
306
+ // Media Models
307
+ export * from './models/MediaRequestModel';
308
+ export * from './models/MediaApprovalModel';
309
+ export * from './models/MediaAttachmentModel';
310
+ export * from './models/MediaChatModel';
311
+ export * from './models/MediaWorkflowModel';
306
312
  export * from './models/ProjectModel';
307
313
  export * from './models/TemplateModel';
308
314
  export * from './models/ProjectScopeModel';
@@ -1,80 +1,80 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- export enum DiplomaticAcademyStatus {
5
- SUBMITTED = "Submitted",
6
- PENDING = "Pending",
7
- ASSIGNED = "Assigned",
8
- IN_PROGRESS = "In Progress",
9
- APPROVED = "Approved",
10
- REJECTED = "Rejected"
11
- }
12
-
13
- @Entity({ name: 'diplomatic_academy_requests' })
14
- export class DiplomaticAcademyRequests extends BaseModel {
15
-
16
- // Common columns
17
- @Column({ type: 'int', nullable: true })
18
- req_user_department_id: number | null;
19
-
20
- @Column({ type: 'int', nullable: true })
21
- req_user_section_id: number | null;
22
-
23
- @Column({ type: 'int', nullable: true })
24
- service_id: number | null;
25
-
26
- @Column({ type: 'int', nullable: true })
27
- sub_service_id: number | null;
28
-
29
- @Column({ type: 'int', nullable: false })
30
- user_id: number;
31
-
32
- // Diplomatic Academy specific columns
33
- @Column({ type: 'varchar', length: 500, nullable: false })
34
- course_name: string;
35
-
36
- @Column({ type: 'jsonb', nullable: true })
37
- cost_details: {
38
- material_price?: number;
39
- transportation?: number;
40
- accommodation?: number;
41
- allowances?: number;
42
- food?: number;
43
- present?: number;
44
- } | null;
45
-
46
- @Column({ type: 'int', nullable: false })
47
- estimated_participants: number;
48
-
49
- @Column({ type: 'date', nullable: false })
50
- timeline_date_from: Date;
51
-
52
- @Column({ type: 'date', nullable: false })
53
- timeline_date_to: Date;
54
-
55
- @Column({ type: 'time', nullable: true })
56
- timeline_time_from: string | null;
57
-
58
- @Column({ type: 'time', nullable: true })
59
- timeline_time_to: string | null;
60
-
61
- @Column({ type: 'jsonb', nullable: false })
62
- participants_details: Array<{
63
- full_name: string;
64
- passport: string;
65
- age: number;
66
- qualifications: string;
67
- experience: string;
68
- institution: string;
69
- }>;
70
-
71
- @Column({ type: 'enum', enum: DiplomaticAcademyStatus, default: DiplomaticAcademyStatus.PENDING, nullable: false })
72
- status: DiplomaticAcademyStatus;
73
-
74
- @Column({ type: 'int', nullable: true })
75
- course_id: number | null;
76
-
77
- @Column({ type: 'varchar', nullable: true })
78
- workflow_execution_id: string | null;
79
-
80
- }
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum DiplomaticAcademyStatus {
5
+ SUBMITTED = "Submitted",
6
+ PENDING = "Pending",
7
+ ASSIGNED = "Assigned",
8
+ IN_PROGRESS = "In Progress",
9
+ APPROVED = "Approved",
10
+ REJECTED = "Rejected"
11
+ }
12
+
13
+ @Entity({ name: 'diplomatic_academy_requests' })
14
+ export class DiplomaticAcademyRequests extends BaseModel {
15
+
16
+ // Common columns
17
+ @Column({ type: 'int', nullable: true })
18
+ req_user_department_id: number | null;
19
+
20
+ @Column({ type: 'int', nullable: true })
21
+ req_user_section_id: number | null;
22
+
23
+ @Column({ type: 'int', nullable: true })
24
+ service_id: number | null;
25
+
26
+ @Column({ type: 'int', nullable: true })
27
+ sub_service_id: number | null;
28
+
29
+ @Column({ type: 'int', nullable: false })
30
+ user_id: number;
31
+
32
+ // Diplomatic Academy specific columns
33
+ @Column({ type: 'varchar', length: 500, nullable: false })
34
+ course_name: string;
35
+
36
+ @Column({ type: 'jsonb', nullable: true })
37
+ cost_details: {
38
+ material_price?: number;
39
+ transportation?: number;
40
+ accommodation?: number;
41
+ allowances?: number;
42
+ food?: number;
43
+ present?: number;
44
+ } | null;
45
+
46
+ @Column({ type: 'int', nullable: false })
47
+ estimated_participants: number;
48
+
49
+ @Column({ type: 'date', nullable: false })
50
+ timeline_date_from: Date;
51
+
52
+ @Column({ type: 'date', nullable: false })
53
+ timeline_date_to: Date;
54
+
55
+ @Column({ type: 'time', nullable: true })
56
+ timeline_time_from: string | null;
57
+
58
+ @Column({ type: 'time', nullable: true })
59
+ timeline_time_to: string | null;
60
+
61
+ @Column({ type: 'jsonb', nullable: false })
62
+ participants_details: Array<{
63
+ full_name: string;
64
+ passport: string;
65
+ age: number;
66
+ qualifications: string;
67
+ experience: string;
68
+ institution: string;
69
+ }>;
70
+
71
+ @Column({ type: 'enum', enum: DiplomaticAcademyStatus, default: DiplomaticAcademyStatus.PENDING, nullable: false })
72
+ status: DiplomaticAcademyStatus;
73
+
74
+ @Column({ type: 'int', nullable: true })
75
+ course_id: number | null;
76
+
77
+ @Column({ type: 'varchar', nullable: true })
78
+ workflow_execution_id: string | null;
79
+
80
+ }
@@ -85,6 +85,9 @@ export class GatePassVisitors extends BaseModel {
85
85
  @Column({ type: 'varchar', length: 255, nullable: true })
86
86
  visiting_person_in_department: string | null; // زائر في القسم (Visiting Person in Department)
87
87
 
88
+ @Column({ type: 'int', nullable: true, unique: true })
89
+ serial_number: number | null;
90
+
88
91
  // QR Code for Gate Pass
89
92
  @Column({ type: 'text', nullable: true })
90
93
  qr_code_url: string | null; // QR code URL for this visitor (data URL can be 6000+ characters)
@@ -132,6 +135,7 @@ export class GatePassVisitors extends BaseModel {
132
135
  this.visitor_mobile_number = visitor_mobile_number;
133
136
  this.visitor_photo_url = visitor_photo_url;
134
137
  this.visitor_photo_file_name = visitor_photo_file_name;
138
+ this.serial_number = null;
135
139
  this.gate_pass_generated = false;
136
140
  this.email_sent = false;
137
141
  }
@@ -1,67 +1,67 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- export enum LanguageCourseStatus {
5
- SUBMITTED = "Submitted",
6
- PENDING = "Pending",
7
- ASSIGNED = "Assigned",
8
- IN_PROGRESS = "In Progress",
9
- APPROVED = "Approved",
10
- REJECTED = "Rejected"
11
- }
12
-
13
- @Entity({ name: 'language_course_requests' })
14
- export class LanguageCourseRequests extends BaseModel {
15
-
16
- // Common columns
17
- @Column({ type: 'int', nullable: true })
18
- req_user_department_id: number | null;
19
-
20
- @Column({ type: 'int', nullable: true })
21
- req_user_section_id: number | null;
22
-
23
- @Column({ type: 'int', nullable: true })
24
- service_id: number | null;
25
-
26
- @Column({ type: 'int', nullable: true })
27
- sub_service_id: number | null;
28
-
29
- @Column({ type: 'int', nullable: false })
30
- user_id: number;
31
-
32
- // Language Course specific columns
33
- @Column({ type: 'varchar', length: 255, nullable: false })
34
- course_name: string;
35
-
36
- @Column({ type: 'varchar', length: 100, nullable: false })
37
- course_level: string;
38
-
39
- @Column({ type: 'varchar', length: 255, nullable: false })
40
- institution: string;
41
-
42
- @Column({ type: 'text', nullable: false })
43
- reason_of_course: string;
44
-
45
- @Column({ type: 'int', nullable: false })
46
- estimated_number_of_participants: number;
47
-
48
- // Timeline
49
- @Column({ type: 'date', nullable: false })
50
- date_from: Date;
51
-
52
- @Column({ type: 'date', nullable: false })
53
- date_to: Date;
54
-
55
- @Column({ type: 'time', nullable: false })
56
- time_from: string;
57
-
58
- @Column({ type: 'time', nullable: false })
59
- time_to: string;
60
-
61
- @Column({ type: 'enum', enum: LanguageCourseStatus, default: LanguageCourseStatus.PENDING, nullable: false })
62
- status: LanguageCourseStatus;
63
-
64
- @Column({ type: 'varchar', nullable: true })
65
- workflow_execution_id: string | null;
66
-
67
- }
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum LanguageCourseStatus {
5
+ SUBMITTED = "Submitted",
6
+ PENDING = "Pending",
7
+ ASSIGNED = "Assigned",
8
+ IN_PROGRESS = "In Progress",
9
+ APPROVED = "Approved",
10
+ REJECTED = "Rejected"
11
+ }
12
+
13
+ @Entity({ name: 'language_course_requests' })
14
+ export class LanguageCourseRequests extends BaseModel {
15
+
16
+ // Common columns
17
+ @Column({ type: 'int', nullable: true })
18
+ req_user_department_id: number | null;
19
+
20
+ @Column({ type: 'int', nullable: true })
21
+ req_user_section_id: number | null;
22
+
23
+ @Column({ type: 'int', nullable: true })
24
+ service_id: number | null;
25
+
26
+ @Column({ type: 'int', nullable: true })
27
+ sub_service_id: number | null;
28
+
29
+ @Column({ type: 'int', nullable: false })
30
+ user_id: number;
31
+
32
+ // Language Course specific columns
33
+ @Column({ type: 'varchar', length: 255, nullable: false })
34
+ course_name: string;
35
+
36
+ @Column({ type: 'varchar', length: 100, nullable: false })
37
+ course_level: string;
38
+
39
+ @Column({ type: 'varchar', length: 255, nullable: false })
40
+ institution: string;
41
+
42
+ @Column({ type: 'text', nullable: false })
43
+ reason_of_course: string;
44
+
45
+ @Column({ type: 'int', nullable: false })
46
+ estimated_number_of_participants: number;
47
+
48
+ // Timeline
49
+ @Column({ type: 'date', nullable: false })
50
+ date_from: Date;
51
+
52
+ @Column({ type: 'date', nullable: false })
53
+ date_to: Date;
54
+
55
+ @Column({ type: 'time', nullable: false })
56
+ time_from: string;
57
+
58
+ @Column({ type: 'time', nullable: false })
59
+ time_to: string;
60
+
61
+ @Column({ type: 'enum', enum: LanguageCourseStatus, default: LanguageCourseStatus.PENDING, nullable: false })
62
+ status: LanguageCourseStatus;
63
+
64
+ @Column({ type: 'varchar', nullable: true })
65
+ workflow_execution_id: string | null;
66
+
67
+ }