@platform-modules/foreign-ministry 1.2.100 → 1.3.1

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 (68) hide show
  1. package/.env +17 -3
  2. package/dist/data-source.js +5 -1
  3. package/dist/index.d.ts +11 -0
  4. package/dist/index.js +18 -1
  5. package/dist/models/DiplomaticRequestsModel.d.ts +1 -0
  6. package/dist/models/DiplomaticRequestsModel.js +4 -0
  7. package/dist/models/GeneralServiceChatsModel.d.ts +3 -1
  8. package/dist/models/GeneralServiceChatsModel.js +12 -2
  9. package/dist/models/HelpContentMappedCategoriesModel.d.ts +6 -0
  10. package/dist/models/HelpContentMappedCategoriesModel.js +34 -0
  11. package/dist/models/HelpContentMappedTagsModel.d.ts +6 -0
  12. package/dist/models/HelpContentMappedTagsModel.js +34 -0
  13. package/dist/models/HelpContentTagsModel.d.ts +5 -0
  14. package/dist/models/HelpContentTagsModel.js +29 -0
  15. package/dist/models/HelpdeskAutoClosureConfig.d.ts +12 -0
  16. package/dist/models/HelpdeskAutoClosureConfig.js +59 -0
  17. package/dist/models/HelpdeskKnowledgeBase.d.ts +13 -0
  18. package/dist/models/HelpdeskKnowledgeBase.js +61 -0
  19. package/dist/models/MissionTravelApprovalModel.d.ts +1 -2
  20. package/dist/models/MissionTravelApprovalModel.js +1 -2
  21. package/dist/models/RegisterVacancyRequestModel.d.ts +1 -0
  22. package/dist/models/RegisterVacancyRequestModel.js +4 -0
  23. package/dist/models/RequestParcelRequestModel.d.ts +7 -1
  24. package/dist/models/RequestParcelRequestModel.js +9 -0
  25. package/dist/models/RequestPassportRequestModel.d.ts +0 -11
  26. package/dist/models/RequestPassportRequestModel.js +0 -44
  27. package/dist/models/RetiredCardApprovalsModel.d.ts +33 -0
  28. package/dist/models/RetiredCardApprovalsModel.js +110 -0
  29. package/dist/models/RetiredCardAttachmentsModel.d.ts +16 -0
  30. package/dist/models/RetiredCardAttachmentsModel.js +60 -0
  31. package/dist/models/RetiredCardChatsModel.d.ts +26 -0
  32. package/dist/models/RetiredCardChatsModel.js +84 -0
  33. package/dist/models/RetiredCardRequestsModel.d.ts +39 -0
  34. package/dist/models/RetiredCardRequestsModel.js +117 -0
  35. package/dist/models/RetiredCardWorkFlowModel.d.ts +33 -0
  36. package/dist/models/RetiredCardWorkFlowModel.js +93 -0
  37. package/dist/models/SectionModel.d.ts +2 -1
  38. package/dist/models/SectionModel.js +7 -2
  39. package/dist/models/questionTagsModel.d.ts +6 -0
  40. package/dist/models/questionTagsModel.js +34 -0
  41. package/package.json +1 -1
  42. package/src/data-source.ts +273 -268
  43. package/src/index.ts +12 -0
  44. package/src/models/DiplomaticRequestsModel.ts +3 -0
  45. package/src/models/GeneralServiceChatsModel.ts +11 -1
  46. package/src/models/HelpdeskAutoClosureConfig.ts +41 -0
  47. package/src/models/HelpdeskKnowledgeBase.ts +46 -0
  48. package/src/models/LeaveConfigModel.ts +71 -71
  49. package/src/models/MissionTravelApprovalModel.ts +94 -95
  50. package/src/models/MissionTravelAttachmentModel.ts +56 -56
  51. package/src/models/MissionTravelChatModel.ts +52 -52
  52. package/src/models/MissionTravelPersonModel.ts +105 -105
  53. package/src/models/MissionTravelRequestModel.ts +0 -1
  54. package/src/models/MissionTravelWorkflowModel.ts +54 -54
  55. package/src/models/RegisterVacancyRequestModel.ts +3 -0
  56. package/src/models/RequestParcelRequestModel.ts +8 -0
  57. package/src/models/RequestPassportRequestModel.ts +22 -22
  58. package/src/models/RetiredCardApprovalsModel.ts +98 -0
  59. package/src/models/RetiredCardAttachmentsModel.ts +38 -0
  60. package/src/models/RetiredCardChatsModel.ts +72 -0
  61. package/src/models/RetiredCardRequestsModel.ts +109 -0
  62. package/src/models/RetiredCardWorkFlowModel.ts +66 -0
  63. package/src/models/SectionModel.ts +6 -1
  64. package/dist/models/MissionTravelClassConfigModel.d.ts +0 -10
  65. package/dist/models/MissionTravelClassConfigModel.js +0 -50
  66. package/dist/models/MissionTravelPerdiemModel.d.ts +0 -10
  67. package/dist/models/MissionTravelPerdiemModel.js +0 -54
  68. /package/src/models/{LeaveConfigGradesModel.Ts → LeaveConfigGradesModel.ts} +0 -0
@@ -0,0 +1,109 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ /**
5
+ * Retired Card Request Status Enum
6
+ */
7
+ export enum RetiredCardRequestStatus {
8
+ PENDING = "Pending",
9
+ APPROVED = "Approved",
10
+ REJECTED = "Rejected",
11
+ CANCELLED = "Cancelled",
12
+ IN_PROGRESS = "In Progress"
13
+ }
14
+
15
+ /**
16
+ * Access Type Enum - Normal or Special
17
+ */
18
+ export enum RetiredCardAccessType {
19
+ NORMAL = "Normal"
20
+ }
21
+
22
+ /**
23
+ * Main Retired Card Request Table (FM021)
24
+ * This table stores the primary retired card request data
25
+ * Only for people with "Ambassador" diplomatic title
26
+ */
27
+ @Entity({ name: 'retired_card_requests' })
28
+ export class RetiredCardRequests extends BaseModel {
29
+
30
+ // User and Department Information
31
+ @Column({ type: 'int', nullable: false })
32
+ user_id: number;
33
+
34
+ @Column({ type: 'int', nullable: true })
35
+ req_user_department_id: number | null;
36
+
37
+ @Column({ type: 'int', nullable: true })
38
+ req_user_section_id: number | null;
39
+
40
+ @Column({ type: 'int', nullable: true })
41
+ service_id: number | null;
42
+
43
+ @Column({ type: 'int', nullable: true })
44
+ sub_service_id: number | null;
45
+
46
+ // Request Status and Workflow
47
+ @Column({ type: 'enum', enum: RetiredCardRequestStatus, default: RetiredCardRequestStatus.PENDING, nullable: false })
48
+ status: RetiredCardRequestStatus;
49
+
50
+ @Column({ type: 'varchar', length: 255, nullable: true })
51
+ workflow_execution_id: string | null;
52
+
53
+ // Retired Card Specific Fields
54
+ @Column({ type: 'varchar', length: 255, nullable: true })
55
+ ex_job_title: string | null; // الوظيفة (Ex-Job Title)
56
+
57
+ @Column({ type: 'date', nullable: true })
58
+ date_of_retirement: Date | null; // تاريخ التعيين (Date of Retirement)
59
+
60
+ @Column({ type: 'date', nullable: true })
61
+ date_of_issue: Date | null; // تاريخ الاصدار (Date of Issue)
62
+
63
+ @Column({ type: 'text', nullable: true })
64
+ reason_for_request: string | null; // Reason for Request
65
+
66
+ @Column({ type: 'enum', enum: RetiredCardAccessType, default: RetiredCardAccessType.NORMAL, nullable: false })
67
+ access_type: RetiredCardAccessType; // Normal (default)
68
+
69
+ // Photo from Profile (URL or reference)
70
+ @Column({ type: 'varchar', length: 500, nullable: true })
71
+ photo_url: string | null; // Photo pulled from profile data if exists
72
+
73
+ @Column({ type: 'varchar', length: 255, nullable: true })
74
+ photo_file_name: string | null;
75
+
76
+ constructor(
77
+ user_id: number,
78
+ req_user_department_id: number | null,
79
+ req_user_section_id: number | null,
80
+ service_id: number | null,
81
+ sub_service_id: number | null,
82
+ status: RetiredCardRequestStatus,
83
+ workflow_execution_id: string | null,
84
+ ex_job_title: string | null,
85
+ date_of_retirement: Date | null,
86
+ date_of_issue: Date | null,
87
+ reason_for_request: string | null,
88
+ access_type: RetiredCardAccessType,
89
+ photo_url: string | null,
90
+ photo_file_name: string | null
91
+ ) {
92
+ super();
93
+ this.user_id = user_id;
94
+ this.req_user_department_id = req_user_department_id;
95
+ this.req_user_section_id = req_user_section_id;
96
+ this.service_id = service_id;
97
+ this.sub_service_id = sub_service_id;
98
+ this.status = status;
99
+ this.workflow_execution_id = workflow_execution_id;
100
+ this.ex_job_title = ex_job_title;
101
+ this.date_of_retirement = date_of_retirement;
102
+ this.date_of_issue = date_of_issue;
103
+ this.reason_for_request = reason_for_request;
104
+ this.access_type = access_type;
105
+ this.photo_url = photo_url;
106
+ this.photo_file_name = photo_file_name;
107
+ }
108
+ }
109
+
@@ -0,0 +1,66 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ /**
5
+ * Retired Card Workflow Status Enum
6
+ */
7
+ export enum RetiredCardWorkFlowStatus {
8
+ COMPLETED = "Completed",
9
+ NOT_YET_STARTED = "Not Yet Started",
10
+ PENDING = "Pending",
11
+ IN_PROGRESS = "In Progress"
12
+ }
13
+
14
+ /**
15
+ * Retired Card Workflow Table
16
+ * Tracks the progress of the request through different workflow stages
17
+ * Provides a timeline/audit trail of the process
18
+ *
19
+ * Workflow: Employee → Security Department (no approval cycle, but workflow tracking for consistency)
20
+ */
21
+ @Entity({ name: 'retired_card_workflows' })
22
+ export class RetiredCardWorkFlow extends BaseModel {
23
+
24
+ @Column({ type: 'int', nullable: false })
25
+ retired_card_request_id: number; // Foreign key to retired_card_requests
26
+
27
+ @Column({ type: 'int', nullable: false, default: 0 })
28
+ retired_card_approval_details_id: number; // Foreign key to retired_card_approvals
29
+
30
+ @Column({ type: 'varchar', length: 255, nullable: false })
31
+ content: string; // Description of the workflow step (e.g., "Pending Security Department Processing")
32
+
33
+ @Column({ type: 'enum', enum: RetiredCardWorkFlowStatus, default: RetiredCardWorkFlowStatus.NOT_YET_STARTED, nullable: false })
34
+ status: RetiredCardWorkFlowStatus; // Current status of this workflow step
35
+
36
+ @Column({ type: 'integer', nullable: true })
37
+ user_id: number | null; // User responsible for this step
38
+
39
+ @Column({ type: 'integer', nullable: true })
40
+ role_id: number | null; // Role responsible for this step
41
+
42
+ @Column({ type: 'integer', nullable: true })
43
+ department_id: number | null; // Department involved in this step
44
+
45
+ @Column({ type: 'integer', nullable: true })
46
+ section_id: number | null; // Section involved in this step
47
+
48
+ @Column({ type: 'integer', nullable: false, default: 1 })
49
+ level: number; // Workflow level (1: Security Department)
50
+
51
+ @Column({ type: 'varchar', length: 50, nullable: true })
52
+ access_type: string | null; // Normal - to track workflow path
53
+
54
+ @Column({ type: 'varchar', length: 255, nullable: true })
55
+ action_taken: string | null; // Action taken (e.g., "Card Generated", "Card Provided")
56
+
57
+ @Column({ type: 'timestamptz', nullable: true })
58
+ action_date: Date | null; // Date when action was taken
59
+
60
+ @Column({ type: 'integer', nullable: true })
61
+ service_id: number | null;
62
+
63
+ @Column({ type: 'integer', nullable: true })
64
+ sub_service_id: number | null;
65
+ }
66
+
@@ -16,16 +16,21 @@ export class Sections extends BaseModel {
16
16
  @Column({ type: 'bigint', nullable: true })
17
17
  department_id: number;
18
18
 
19
+ @Column({ nullable: true , default: false})
20
+ is_followup_sec?: boolean;
21
+
19
22
  constructor(
20
23
  section_name: string,
21
24
  section_code: string,
22
25
  section_description: string,
23
- department_id: number
26
+ department_id: number,
27
+ is_followup_sec: boolean
24
28
  ) {
25
29
  super();
26
30
  this.section_name = section_name
27
31
  this.section_code = section_code
28
32
  this.section_description = section_description
29
33
  this.department_id = department_id
34
+ this.is_followup_sec = is_followup_sec
30
35
  }
31
36
  }
@@ -1,10 +0,0 @@
1
- import { BaseModel } from './BaseModel';
2
- import { TravelClass } from './MissionTravelPersonModel';
3
- export declare class MissionTravelClassConfig extends BaseModel {
4
- grade: number | null;
5
- position: string | null;
6
- travel_class: TravelClass;
7
- is_active: boolean;
8
- description: string | null;
9
- constructor(grade: number | null, position: string | null, travel_class: TravelClass, description: string | null);
10
- }
@@ -1,50 +0,0 @@
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.MissionTravelClassConfig = void 0;
13
- const typeorm_1 = require("typeorm");
14
- const BaseModel_1 = require("./BaseModel");
15
- const MissionTravelPersonModel_1 = require("./MissionTravelPersonModel");
16
- let MissionTravelClassConfig = class MissionTravelClassConfig extends BaseModel_1.BaseModel {
17
- constructor(grade, position, travel_class, description) {
18
- super();
19
- this.grade = grade;
20
- this.position = position;
21
- this.travel_class = travel_class;
22
- this.description = description;
23
- this.is_active = true;
24
- }
25
- };
26
- exports.MissionTravelClassConfig = MissionTravelClassConfig;
27
- __decorate([
28
- (0, typeorm_1.Column)({ type: 'int', nullable: true }),
29
- __metadata("design:type", Object)
30
- ], MissionTravelClassConfig.prototype, "grade", void 0);
31
- __decorate([
32
- (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
33
- __metadata("design:type", Object)
34
- ], MissionTravelClassConfig.prototype, "position", void 0);
35
- __decorate([
36
- (0, typeorm_1.Column)({ type: 'enum', enum: MissionTravelPersonModel_1.TravelClass, nullable: false }),
37
- __metadata("design:type", String)
38
- ], MissionTravelClassConfig.prototype, "travel_class", void 0);
39
- __decorate([
40
- (0, typeorm_1.Column)({ type: 'boolean', default: true }),
41
- __metadata("design:type", Boolean)
42
- ], MissionTravelClassConfig.prototype, "is_active", void 0);
43
- __decorate([
44
- (0, typeorm_1.Column)({ type: 'text', nullable: true }),
45
- __metadata("design:type", Object)
46
- ], MissionTravelClassConfig.prototype, "description", void 0);
47
- exports.MissionTravelClassConfig = MissionTravelClassConfig = __decorate([
48
- (0, typeorm_1.Entity)({ name: 'mission_travel_class_config' }),
49
- __metadata("design:paramtypes", [Object, Object, String, Object])
50
- ], MissionTravelClassConfig);
@@ -1,10 +0,0 @@
1
- import { BaseModel } from './BaseModel';
2
- export declare class MissionTravelPerdiem extends BaseModel {
3
- grade: number;
4
- perdiem_amount: number;
5
- currency: string | null;
6
- effective_from: Date | null;
7
- effective_to: Date | null;
8
- is_active: boolean;
9
- constructor(grade: number, perdiem_amount: number, currency: string | null, effective_from: Date | null, effective_to: Date | null);
10
- }
@@ -1,54 +0,0 @@
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.MissionTravelPerdiem = void 0;
13
- const typeorm_1 = require("typeorm");
14
- const BaseModel_1 = require("./BaseModel");
15
- let MissionTravelPerdiem = class MissionTravelPerdiem extends BaseModel_1.BaseModel {
16
- constructor(grade, perdiem_amount, currency, effective_from, effective_to) {
17
- super();
18
- this.grade = grade;
19
- this.perdiem_amount = perdiem_amount;
20
- this.currency = currency;
21
- this.effective_from = effective_from;
22
- this.effective_to = effective_to;
23
- this.is_active = true;
24
- }
25
- };
26
- exports.MissionTravelPerdiem = MissionTravelPerdiem;
27
- __decorate([
28
- (0, typeorm_1.Column)({ type: 'int', nullable: false }),
29
- __metadata("design:type", Number)
30
- ], MissionTravelPerdiem.prototype, "grade", void 0);
31
- __decorate([
32
- (0, typeorm_1.Column)({ type: 'decimal', precision: 10, scale: 2, nullable: false }),
33
- __metadata("design:type", Number)
34
- ], MissionTravelPerdiem.prototype, "perdiem_amount", void 0);
35
- __decorate([
36
- (0, typeorm_1.Column)({ type: 'varchar', length: 50, nullable: true }),
37
- __metadata("design:type", Object)
38
- ], MissionTravelPerdiem.prototype, "currency", void 0);
39
- __decorate([
40
- (0, typeorm_1.Column)({ type: 'date', nullable: true }),
41
- __metadata("design:type", Object)
42
- ], MissionTravelPerdiem.prototype, "effective_from", void 0);
43
- __decorate([
44
- (0, typeorm_1.Column)({ type: 'date', nullable: true }),
45
- __metadata("design:type", Object)
46
- ], MissionTravelPerdiem.prototype, "effective_to", void 0);
47
- __decorate([
48
- (0, typeorm_1.Column)({ type: 'boolean', default: true }),
49
- __metadata("design:type", Boolean)
50
- ], MissionTravelPerdiem.prototype, "is_active", void 0);
51
- exports.MissionTravelPerdiem = MissionTravelPerdiem = __decorate([
52
- (0, typeorm_1.Entity)({ name: 'mission_travel_perdiem' }),
53
- __metadata("design:paramtypes", [Number, Number, Object, Object, Object])
54
- ], MissionTravelPerdiem);