@platform-modules/foreign-ministry 1.1.22 → 1.1.24

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.
@@ -86,6 +86,12 @@ const DiplomaticClubCardWorkFlowModel_1 = require("./models/DiplomaticClubCardWo
86
86
  const DiplomaticClubCardChatModel_1 = require("./models/DiplomaticClubCardChatModel");
87
87
  const DiplomaticTitleModel_1 = require("./models/DiplomaticTitleModel");
88
88
  const SubscriptionAmountModel_1 = require("./models/SubscriptionAmountModel");
89
+ const PassportRequestModel_1 = require("./models/PassportRequestModel");
90
+ const PassportRequestChatModel_1 = require("./models/PassportRequestChatModel");
91
+ const PassportRequestAttachmentModel_1 = require("./models/PassportRequestAttachmentModel");
92
+ const PassportRequestWorkFlowModel_1 = require("./models/PassportRequestWorkFlowModel");
93
+ const PassportRequestApprovalModel_1 = require("./models/PassportRequestApprovalModel");
94
+ const PassportRequestDependentModel_1 = require("./models/PassportRequestDependentModel");
89
95
  const WorkflowTask_1 = require("./models/WorkflowTask");
90
96
  const WorkflowTaskNames_1 = require("./models/WorkflowTaskNames");
91
97
  const WorkflowDefinitions_1 = require("./models/WorkflowDefinitions");
@@ -188,6 +194,12 @@ exports.AppDataSource = new typeorm_1.DataSource({
188
194
  DiplomaticClubCardWorkFlowModel_1.DiplomaticClubCardWorkFlow,
189
195
  DiplomaticClubCardChatModel_1.DiplomaticClubCardChat,
190
196
  DiplomaticTitleModel_1.DiplomaticTitles,
191
- SubscriptionAmountModel_1.SubscriptionAmounts
197
+ SubscriptionAmountModel_1.SubscriptionAmounts,
198
+ PassportRequestModel_1.PassportRequests,
199
+ PassportRequestChatModel_1.PassportRequestChat,
200
+ PassportRequestAttachmentModel_1.PassportRequestAttachments,
201
+ PassportRequestWorkFlowModel_1.PassportRequestWorkFlow,
202
+ PassportRequestApprovalModel_1.PassportRequestApprovals,
203
+ PassportRequestDependentModel_1.PassportRequestDependents
192
204
  ],
193
205
  });
package/dist/index.d.ts CHANGED
@@ -85,3 +85,9 @@ export * from './models/DiplomaticClubCardWorkFlowModel';
85
85
  export * from './models/DiplomaticClubCardChatModel';
86
86
  export * from './models/DiplomaticTitleModel';
87
87
  export * from './models/SubscriptionAmountModel';
88
+ export * from './models/PassportRequestModel';
89
+ export * from './models/PassportRequestChatModel';
90
+ export * from './models/PassportRequestAttachmentModel';
91
+ export * from './models/PassportRequestWorkFlowModel';
92
+ export * from './models/PassportRequestApprovalModel';
93
+ export * from './models/PassportRequestDependentModel';
package/dist/index.js CHANGED
@@ -101,3 +101,9 @@ __exportStar(require("./models/DiplomaticClubCardWorkFlowModel"), exports);
101
101
  __exportStar(require("./models/DiplomaticClubCardChatModel"), exports);
102
102
  __exportStar(require("./models/DiplomaticTitleModel"), exports);
103
103
  __exportStar(require("./models/SubscriptionAmountModel"), exports);
104
+ __exportStar(require("./models/PassportRequestModel"), exports);
105
+ __exportStar(require("./models/PassportRequestChatModel"), exports);
106
+ __exportStar(require("./models/PassportRequestAttachmentModel"), exports);
107
+ __exportStar(require("./models/PassportRequestWorkFlowModel"), exports);
108
+ __exportStar(require("./models/PassportRequestApprovalModel"), exports);
109
+ __exportStar(require("./models/PassportRequestDependentModel"), exports);
@@ -0,0 +1,22 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare enum PassportRequestApprovalStatus {
3
+ PENDING = "Pending",
4
+ APPROVED = "Approved",
5
+ REJECTED = "Rejected",
6
+ IN_PROGRESS = "In Progress"
7
+ }
8
+ export declare class PassportRequestApprovals extends BaseModel {
9
+ request_id: number;
10
+ approver_user_id: number | null;
11
+ approver_role_id: number | null;
12
+ level: number;
13
+ department_id: number | null;
14
+ section_id: number | null;
15
+ delegate_user_id: number | null;
16
+ approved_by: string | null;
17
+ comment: string | null;
18
+ approval_status: PassportRequestApprovalStatus;
19
+ service_id: number | null;
20
+ sub_service_id: number | null;
21
+ constructor(request_id: number, level: number, approver_user_id?: number | null, approver_role_id?: number | null, department_id?: number | null, section_id?: number | null, delegate_user_id?: number | null, approved_by?: string | null, comment?: string | null, approval_status?: PassportRequestApprovalStatus, service_id?: number | null, sub_service_id?: number | null);
22
+ }
@@ -0,0 +1,91 @@
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.PassportRequestApprovals = exports.PassportRequestApprovalStatus = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var PassportRequestApprovalStatus;
16
+ (function (PassportRequestApprovalStatus) {
17
+ PassportRequestApprovalStatus["PENDING"] = "Pending";
18
+ PassportRequestApprovalStatus["APPROVED"] = "Approved";
19
+ PassportRequestApprovalStatus["REJECTED"] = "Rejected";
20
+ PassportRequestApprovalStatus["IN_PROGRESS"] = "In Progress";
21
+ })(PassportRequestApprovalStatus || (exports.PassportRequestApprovalStatus = PassportRequestApprovalStatus = {}));
22
+ let PassportRequestApprovals = class PassportRequestApprovals extends BaseModel_1.BaseModel {
23
+ constructor(request_id, level, approver_user_id, approver_role_id, department_id, section_id, delegate_user_id, approved_by, comment, approval_status, service_id, sub_service_id) {
24
+ super();
25
+ this.request_id = request_id;
26
+ this.approver_user_id = approver_user_id || null;
27
+ this.approver_role_id = approver_role_id || null;
28
+ this.level = level;
29
+ this.department_id = department_id || null;
30
+ this.section_id = section_id || null;
31
+ this.delegate_user_id = delegate_user_id || null;
32
+ this.approved_by = approved_by || null;
33
+ this.comment = comment || null;
34
+ this.approval_status = approval_status || PassportRequestApprovalStatus.PENDING;
35
+ this.service_id = service_id || null;
36
+ this.sub_service_id = sub_service_id || null;
37
+ }
38
+ };
39
+ exports.PassportRequestApprovals = PassportRequestApprovals;
40
+ __decorate([
41
+ (0, typeorm_1.Column)({ type: 'int', nullable: false }),
42
+ __metadata("design:type", Number)
43
+ ], PassportRequestApprovals.prototype, "request_id", void 0);
44
+ __decorate([
45
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
46
+ __metadata("design:type", Object)
47
+ ], PassportRequestApprovals.prototype, "approver_user_id", void 0);
48
+ __decorate([
49
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
50
+ __metadata("design:type", Object)
51
+ ], PassportRequestApprovals.prototype, "approver_role_id", void 0);
52
+ __decorate([
53
+ (0, typeorm_1.Column)({ type: 'int', nullable: false, default: 0 }),
54
+ __metadata("design:type", Number)
55
+ ], PassportRequestApprovals.prototype, "level", void 0);
56
+ __decorate([
57
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
58
+ __metadata("design:type", Object)
59
+ ], PassportRequestApprovals.prototype, "department_id", void 0);
60
+ __decorate([
61
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
62
+ __metadata("design:type", Object)
63
+ ], PassportRequestApprovals.prototype, "section_id", void 0);
64
+ __decorate([
65
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
66
+ __metadata("design:type", Object)
67
+ ], PassportRequestApprovals.prototype, "delegate_user_id", void 0);
68
+ __decorate([
69
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
70
+ __metadata("design:type", Object)
71
+ ], PassportRequestApprovals.prototype, "approved_by", void 0);
72
+ __decorate([
73
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
74
+ __metadata("design:type", Object)
75
+ ], PassportRequestApprovals.prototype, "comment", void 0);
76
+ __decorate([
77
+ (0, typeorm_1.Column)({ type: 'enum', enum: PassportRequestApprovalStatus, default: PassportRequestApprovalStatus.PENDING, nullable: false }),
78
+ __metadata("design:type", String)
79
+ ], PassportRequestApprovals.prototype, "approval_status", void 0);
80
+ __decorate([
81
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
82
+ __metadata("design:type", Object)
83
+ ], PassportRequestApprovals.prototype, "service_id", void 0);
84
+ __decorate([
85
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
86
+ __metadata("design:type", Object)
87
+ ], PassportRequestApprovals.prototype, "sub_service_id", void 0);
88
+ exports.PassportRequestApprovals = PassportRequestApprovals = __decorate([
89
+ (0, typeorm_1.Entity)({ name: 'passport_request_approvals' }),
90
+ __metadata("design:paramtypes", [Number, Number, Object, Object, Object, Object, Object, Object, Object, String, Object, Object])
91
+ ], PassportRequestApprovals);
@@ -0,0 +1,10 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare class PassportRequestAttachments extends BaseModel {
3
+ request_id: number;
4
+ dependent_id: number | null;
5
+ file_name: string;
6
+ file_path: string;
7
+ file_type: string | null;
8
+ attachment_type: string | null;
9
+ constructor(request_id: number, file_name: string, file_path: string, dependent_id?: number | null, file_type?: string | null, attachment_type?: string | null);
10
+ }
@@ -0,0 +1,54 @@
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.PassportRequestAttachments = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ let PassportRequestAttachments = class PassportRequestAttachments extends BaseModel_1.BaseModel {
16
+ constructor(request_id, file_name, file_path, dependent_id, file_type, attachment_type) {
17
+ super();
18
+ this.request_id = request_id;
19
+ this.dependent_id = dependent_id || null;
20
+ this.file_name = file_name;
21
+ this.file_path = file_path;
22
+ this.file_type = file_type || null;
23
+ this.attachment_type = attachment_type || null;
24
+ }
25
+ };
26
+ exports.PassportRequestAttachments = PassportRequestAttachments;
27
+ __decorate([
28
+ (0, typeorm_1.Column)({ type: 'int', nullable: false }),
29
+ __metadata("design:type", Number)
30
+ ], PassportRequestAttachments.prototype, "request_id", void 0);
31
+ __decorate([
32
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
33
+ __metadata("design:type", Object)
34
+ ], PassportRequestAttachments.prototype, "dependent_id", void 0);
35
+ __decorate([
36
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: false }),
37
+ __metadata("design:type", String)
38
+ ], PassportRequestAttachments.prototype, "file_name", void 0);
39
+ __decorate([
40
+ (0, typeorm_1.Column)({ type: 'varchar', length: 500, nullable: false }),
41
+ __metadata("design:type", String)
42
+ ], PassportRequestAttachments.prototype, "file_path", void 0);
43
+ __decorate([
44
+ (0, typeorm_1.Column)({ type: 'varchar', length: 50, nullable: true }),
45
+ __metadata("design:type", Object)
46
+ ], PassportRequestAttachments.prototype, "file_type", void 0);
47
+ __decorate([
48
+ (0, typeorm_1.Column)({ type: 'varchar', length: 50, nullable: true }),
49
+ __metadata("design:type", Object)
50
+ ], PassportRequestAttachments.prototype, "attachment_type", void 0);
51
+ exports.PassportRequestAttachments = PassportRequestAttachments = __decorate([
52
+ (0, typeorm_1.Entity)({ name: 'passport_request_attachments' }),
53
+ __metadata("design:paramtypes", [Number, String, String, Object, Object, Object])
54
+ ], PassportRequestAttachments);
@@ -0,0 +1,8 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare class PassportRequestChat extends BaseModel {
3
+ request_id: number;
4
+ user_id: number;
5
+ message: string;
6
+ message_type: string | null;
7
+ constructor(request_id: number, user_id: number, message: string, message_type?: string | null);
8
+ }
@@ -0,0 +1,44 @@
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.PassportRequestChat = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ let PassportRequestChat = class PassportRequestChat extends BaseModel_1.BaseModel {
16
+ constructor(request_id, user_id, message, message_type) {
17
+ super();
18
+ this.request_id = request_id;
19
+ this.user_id = user_id;
20
+ this.message = message;
21
+ this.message_type = message_type || null;
22
+ }
23
+ };
24
+ exports.PassportRequestChat = PassportRequestChat;
25
+ __decorate([
26
+ (0, typeorm_1.Column)({ type: 'int', nullable: false }),
27
+ __metadata("design:type", Number)
28
+ ], PassportRequestChat.prototype, "request_id", void 0);
29
+ __decorate([
30
+ (0, typeorm_1.Column)({ type: 'int', nullable: false }),
31
+ __metadata("design:type", Number)
32
+ ], PassportRequestChat.prototype, "user_id", void 0);
33
+ __decorate([
34
+ (0, typeorm_1.Column)({ type: 'text', nullable: false }),
35
+ __metadata("design:type", String)
36
+ ], PassportRequestChat.prototype, "message", void 0);
37
+ __decorate([
38
+ (0, typeorm_1.Column)({ type: 'varchar', length: 50, nullable: true }),
39
+ __metadata("design:type", Object)
40
+ ], PassportRequestChat.prototype, "message_type", void 0);
41
+ exports.PassportRequestChat = PassportRequestChat = __decorate([
42
+ (0, typeorm_1.Entity)({ name: 'passport_request_chats' }),
43
+ __metadata("design:paramtypes", [Number, Number, String, Object])
44
+ ], PassportRequestChat);
@@ -0,0 +1,20 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare enum DependentRelation {
3
+ SELF = "Self",
4
+ SPOUSE = "Spouse",
5
+ CHILD = "Child"
6
+ }
7
+ export declare class PassportRequestDependents extends BaseModel {
8
+ request_id: number;
9
+ first_name: string;
10
+ family_name: string;
11
+ last_name: string;
12
+ gender: string;
13
+ nationality: string;
14
+ place_of_birth: string;
15
+ job_occupation: string;
16
+ relation: DependentRelation;
17
+ age: number;
18
+ passport_request_type: string;
19
+ constructor(request_id: number, first_name: string, family_name: string, last_name: string, gender: string, nationality: string, place_of_birth: string, job_occupation: string, relation: DependentRelation, age: number, passport_request_type: string);
20
+ }
@@ -0,0 +1,85 @@
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.PassportRequestDependents = exports.DependentRelation = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var DependentRelation;
16
+ (function (DependentRelation) {
17
+ DependentRelation["SELF"] = "Self";
18
+ DependentRelation["SPOUSE"] = "Spouse";
19
+ DependentRelation["CHILD"] = "Child";
20
+ })(DependentRelation || (exports.DependentRelation = DependentRelation = {}));
21
+ let PassportRequestDependents = class PassportRequestDependents extends BaseModel_1.BaseModel {
22
+ constructor(request_id, first_name, family_name, last_name, gender, nationality, place_of_birth, job_occupation, relation, age, passport_request_type) {
23
+ super();
24
+ this.request_id = request_id;
25
+ this.first_name = first_name;
26
+ this.family_name = family_name;
27
+ this.last_name = last_name;
28
+ this.gender = gender;
29
+ this.nationality = nationality;
30
+ this.place_of_birth = place_of_birth;
31
+ this.job_occupation = job_occupation;
32
+ this.relation = relation;
33
+ this.age = age;
34
+ this.passport_request_type = passport_request_type;
35
+ }
36
+ };
37
+ exports.PassportRequestDependents = PassportRequestDependents;
38
+ __decorate([
39
+ (0, typeorm_1.Column)({ type: 'int', nullable: false }),
40
+ __metadata("design:type", Number)
41
+ ], PassportRequestDependents.prototype, "request_id", void 0);
42
+ __decorate([
43
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: false }),
44
+ __metadata("design:type", String)
45
+ ], PassportRequestDependents.prototype, "first_name", void 0);
46
+ __decorate([
47
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: false }),
48
+ __metadata("design:type", String)
49
+ ], PassportRequestDependents.prototype, "family_name", void 0);
50
+ __decorate([
51
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: false }),
52
+ __metadata("design:type", String)
53
+ ], PassportRequestDependents.prototype, "last_name", void 0);
54
+ __decorate([
55
+ (0, typeorm_1.Column)({ type: 'varchar', length: 20, nullable: false }),
56
+ __metadata("design:type", String)
57
+ ], PassportRequestDependents.prototype, "gender", void 0);
58
+ __decorate([
59
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: false }),
60
+ __metadata("design:type", String)
61
+ ], PassportRequestDependents.prototype, "nationality", void 0);
62
+ __decorate([
63
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: false }),
64
+ __metadata("design:type", String)
65
+ ], PassportRequestDependents.prototype, "place_of_birth", void 0);
66
+ __decorate([
67
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: false }),
68
+ __metadata("design:type", String)
69
+ ], PassportRequestDependents.prototype, "job_occupation", void 0);
70
+ __decorate([
71
+ (0, typeorm_1.Column)({ type: 'enum', enum: DependentRelation, nullable: false }),
72
+ __metadata("design:type", String)
73
+ ], PassportRequestDependents.prototype, "relation", void 0);
74
+ __decorate([
75
+ (0, typeorm_1.Column)({ type: 'int', nullable: false }),
76
+ __metadata("design:type", Number)
77
+ ], PassportRequestDependents.prototype, "age", void 0);
78
+ __decorate([
79
+ (0, typeorm_1.Column)({ type: 'varchar', length: 50, nullable: false }),
80
+ __metadata("design:type", String)
81
+ ], PassportRequestDependents.prototype, "passport_request_type", void 0);
82
+ exports.PassportRequestDependents = PassportRequestDependents = __decorate([
83
+ (0, typeorm_1.Entity)({ name: 'passport_request_dependents' }),
84
+ __metadata("design:paramtypes", [Number, String, String, String, String, String, String, String, String, Number, String])
85
+ ], PassportRequestDependents);
@@ -0,0 +1,40 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare enum PassportType {
3
+ DIPLOMATIC = "Diplomatic Passport",
4
+ SERVICE = "Service passport"
5
+ }
6
+ export declare enum ApplicationFor {
7
+ SELF = "Self",
8
+ DEPENDENTS = "Dependents",
9
+ BOTH = "Both"
10
+ }
11
+ export declare enum PassportRequestType {
12
+ NEW = "New",
13
+ RENEW = "Renew",
14
+ LOST_STOLEN = "Lost / Stolen"
15
+ }
16
+ export declare enum PassportRequestStatus {
17
+ PENDING = "Pending",
18
+ APPROVED = "Approved",
19
+ REJECTED = "Rejected",
20
+ IN_PROGRESS = "In Progress"
21
+ }
22
+ export declare class PassportRequests extends BaseModel {
23
+ request_number: string | null;
24
+ passport_type: PassportType;
25
+ applicant_civil_id: string | null;
26
+ applicant_name: string | null;
27
+ applicant_passport_number: string | null;
28
+ application_for: ApplicationFor;
29
+ application_type: string | null;
30
+ applicant_job_occupation: string | null;
31
+ purpose_of_application: string | null;
32
+ approved_mission_travel_id: number;
33
+ status: PassportRequestStatus;
34
+ service_id: number | null;
35
+ sub_service_id: number | null;
36
+ workflow_execution_id: string | null;
37
+ user_id: number;
38
+ notes: string | null;
39
+ constructor(passport_type: PassportType, application_for: ApplicationFor, approved_mission_travel_id: number, user_id: number, request_number?: string | null, applicant_civil_id?: string | null, applicant_name?: string | null, applicant_passport_number?: string | null, application_type?: string | null, applicant_job_occupation?: string | null, purpose_of_application?: string | null, status?: PassportRequestStatus, service_id?: number | null, sub_service_id?: number | null, workflow_execution_id?: string | null, notes?: string | null);
40
+ }
@@ -0,0 +1,128 @@
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.PassportRequests = exports.PassportRequestStatus = exports.PassportRequestType = exports.ApplicationFor = exports.PassportType = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var PassportType;
16
+ (function (PassportType) {
17
+ PassportType["DIPLOMATIC"] = "Diplomatic Passport";
18
+ PassportType["SERVICE"] = "Service passport";
19
+ })(PassportType || (exports.PassportType = PassportType = {}));
20
+ var ApplicationFor;
21
+ (function (ApplicationFor) {
22
+ ApplicationFor["SELF"] = "Self";
23
+ ApplicationFor["DEPENDENTS"] = "Dependents";
24
+ ApplicationFor["BOTH"] = "Both";
25
+ })(ApplicationFor || (exports.ApplicationFor = ApplicationFor = {}));
26
+ var PassportRequestType;
27
+ (function (PassportRequestType) {
28
+ PassportRequestType["NEW"] = "New";
29
+ PassportRequestType["RENEW"] = "Renew";
30
+ PassportRequestType["LOST_STOLEN"] = "Lost / Stolen";
31
+ })(PassportRequestType || (exports.PassportRequestType = PassportRequestType = {}));
32
+ var PassportRequestStatus;
33
+ (function (PassportRequestStatus) {
34
+ PassportRequestStatus["PENDING"] = "Pending";
35
+ PassportRequestStatus["APPROVED"] = "Approved";
36
+ PassportRequestStatus["REJECTED"] = "Rejected";
37
+ PassportRequestStatus["IN_PROGRESS"] = "In Progress";
38
+ })(PassportRequestStatus || (exports.PassportRequestStatus = PassportRequestStatus = {}));
39
+ let PassportRequests = class PassportRequests extends BaseModel_1.BaseModel {
40
+ constructor(passport_type, application_for, approved_mission_travel_id, user_id, request_number, applicant_civil_id, applicant_name, applicant_passport_number, application_type, applicant_job_occupation, purpose_of_application, status, service_id, sub_service_id, workflow_execution_id, notes) {
41
+ super();
42
+ this.request_number = request_number || null;
43
+ this.passport_type = passport_type;
44
+ this.applicant_civil_id = applicant_civil_id || null;
45
+ this.applicant_name = applicant_name || null;
46
+ this.applicant_passport_number = applicant_passport_number || null;
47
+ this.application_for = application_for;
48
+ this.application_type = application_type || null;
49
+ this.applicant_job_occupation = applicant_job_occupation || null;
50
+ this.purpose_of_application = purpose_of_application || null;
51
+ this.approved_mission_travel_id = approved_mission_travel_id;
52
+ this.status = status || PassportRequestStatus.PENDING;
53
+ this.service_id = service_id || null;
54
+ this.sub_service_id = sub_service_id || null;
55
+ this.workflow_execution_id = workflow_execution_id || null;
56
+ this.user_id = user_id;
57
+ this.notes = notes || null;
58
+ }
59
+ };
60
+ exports.PassportRequests = PassportRequests;
61
+ __decorate([
62
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: true }),
63
+ __metadata("design:type", Object)
64
+ ], PassportRequests.prototype, "request_number", void 0);
65
+ __decorate([
66
+ (0, typeorm_1.Column)({ type: 'varchar', length: 50, nullable: false }),
67
+ __metadata("design:type", String)
68
+ ], PassportRequests.prototype, "passport_type", void 0);
69
+ __decorate([
70
+ (0, typeorm_1.Column)({ type: 'varchar', length: 50, nullable: true }),
71
+ __metadata("design:type", Object)
72
+ ], PassportRequests.prototype, "applicant_civil_id", void 0);
73
+ __decorate([
74
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
75
+ __metadata("design:type", Object)
76
+ ], PassportRequests.prototype, "applicant_name", void 0);
77
+ __decorate([
78
+ (0, typeorm_1.Column)({ type: 'varchar', length: 50, nullable: true }),
79
+ __metadata("design:type", Object)
80
+ ], PassportRequests.prototype, "applicant_passport_number", void 0);
81
+ __decorate([
82
+ (0, typeorm_1.Column)({ type: 'enum', enum: ApplicationFor, nullable: false }),
83
+ __metadata("design:type", String)
84
+ ], PassportRequests.prototype, "application_for", void 0);
85
+ __decorate([
86
+ (0, typeorm_1.Column)({ type: 'varchar', length: 50, nullable: true }),
87
+ __metadata("design:type", Object)
88
+ ], PassportRequests.prototype, "application_type", void 0);
89
+ __decorate([
90
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
91
+ __metadata("design:type", Object)
92
+ ], PassportRequests.prototype, "applicant_job_occupation", void 0);
93
+ __decorate([
94
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
95
+ __metadata("design:type", Object)
96
+ ], PassportRequests.prototype, "purpose_of_application", void 0);
97
+ __decorate([
98
+ (0, typeorm_1.Column)({ type: 'int', nullable: false }),
99
+ __metadata("design:type", Number)
100
+ ], PassportRequests.prototype, "approved_mission_travel_id", void 0);
101
+ __decorate([
102
+ (0, typeorm_1.Column)({ type: 'enum', enum: PassportRequestStatus, default: PassportRequestStatus.PENDING, nullable: false }),
103
+ __metadata("design:type", String)
104
+ ], PassportRequests.prototype, "status", void 0);
105
+ __decorate([
106
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
107
+ __metadata("design:type", Object)
108
+ ], PassportRequests.prototype, "service_id", void 0);
109
+ __decorate([
110
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
111
+ __metadata("design:type", Object)
112
+ ], PassportRequests.prototype, "sub_service_id", void 0);
113
+ __decorate([
114
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
115
+ __metadata("design:type", Object)
116
+ ], PassportRequests.prototype, "workflow_execution_id", void 0);
117
+ __decorate([
118
+ (0, typeorm_1.Column)({ type: 'int', nullable: false }),
119
+ __metadata("design:type", Number)
120
+ ], PassportRequests.prototype, "user_id", void 0);
121
+ __decorate([
122
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
123
+ __metadata("design:type", Object)
124
+ ], PassportRequests.prototype, "notes", void 0);
125
+ exports.PassportRequests = PassportRequests = __decorate([
126
+ (0, typeorm_1.Entity)({ name: 'passport_requests' }),
127
+ __metadata("design:paramtypes", [String, String, Number, Number, Object, Object, Object, Object, Object, Object, Object, String, Object, Object, Object, Object])
128
+ ], PassportRequests);
@@ -0,0 +1,15 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare enum PassportRequestWorkFlowStatus {
3
+ COMPLETED = "Completed",
4
+ NOT_YET_STARTED = "Not Yet Started",
5
+ PENDING = "Pending"
6
+ }
7
+ export declare class PassportRequestWorkFlow extends BaseModel {
8
+ request_id: number;
9
+ approval_details_id: number;
10
+ content: string;
11
+ status: PassportRequestWorkFlowStatus;
12
+ service_id: number | null;
13
+ sub_service_id: number | null;
14
+ constructor(request_id: number, content: string, approval_details_id?: number, status?: PassportRequestWorkFlowStatus, service_id?: number | null, sub_service_id?: number | null);
15
+ }
@@ -0,0 +1,60 @@
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.PassportRequestWorkFlow = exports.PassportRequestWorkFlowStatus = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var PassportRequestWorkFlowStatus;
16
+ (function (PassportRequestWorkFlowStatus) {
17
+ PassportRequestWorkFlowStatus["COMPLETED"] = "Completed";
18
+ PassportRequestWorkFlowStatus["NOT_YET_STARTED"] = "Not Yet Started";
19
+ PassportRequestWorkFlowStatus["PENDING"] = "Pending";
20
+ })(PassportRequestWorkFlowStatus || (exports.PassportRequestWorkFlowStatus = PassportRequestWorkFlowStatus = {}));
21
+ let PassportRequestWorkFlow = class PassportRequestWorkFlow extends BaseModel_1.BaseModel {
22
+ constructor(request_id, content, approval_details_id, status, service_id, sub_service_id) {
23
+ super();
24
+ this.request_id = request_id;
25
+ this.approval_details_id = approval_details_id || 0;
26
+ this.content = content;
27
+ this.status = status || PassportRequestWorkFlowStatus.NOT_YET_STARTED;
28
+ this.service_id = service_id || null;
29
+ this.sub_service_id = sub_service_id || null;
30
+ }
31
+ };
32
+ exports.PassportRequestWorkFlow = PassportRequestWorkFlow;
33
+ __decorate([
34
+ (0, typeorm_1.Column)({ type: 'int', nullable: false }),
35
+ __metadata("design:type", Number)
36
+ ], PassportRequestWorkFlow.prototype, "request_id", void 0);
37
+ __decorate([
38
+ (0, typeorm_1.Column)({ type: 'int', nullable: false, default: 0 }),
39
+ __metadata("design:type", Number)
40
+ ], PassportRequestWorkFlow.prototype, "approval_details_id", void 0);
41
+ __decorate([
42
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: false }),
43
+ __metadata("design:type", String)
44
+ ], PassportRequestWorkFlow.prototype, "content", void 0);
45
+ __decorate([
46
+ (0, typeorm_1.Column)({ type: 'enum', enum: PassportRequestWorkFlowStatus, default: PassportRequestWorkFlowStatus.NOT_YET_STARTED, nullable: false }),
47
+ __metadata("design:type", String)
48
+ ], PassportRequestWorkFlow.prototype, "status", void 0);
49
+ __decorate([
50
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
51
+ __metadata("design:type", Object)
52
+ ], PassportRequestWorkFlow.prototype, "service_id", void 0);
53
+ __decorate([
54
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
55
+ __metadata("design:type", Object)
56
+ ], PassportRequestWorkFlow.prototype, "sub_service_id", void 0);
57
+ exports.PassportRequestWorkFlow = PassportRequestWorkFlow = __decorate([
58
+ (0, typeorm_1.Entity)({ name: 'passport_request_work_flows' }),
59
+ __metadata("design:paramtypes", [Number, String, Number, String, Object, Object])
60
+ ], PassportRequestWorkFlow);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platform-modules/foreign-ministry",
3
- "version": "1.1.22",
3
+ "version": "1.1.24",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -88,6 +88,12 @@ import { DiplomaticClubCardWorkFlow } from './models/DiplomaticClubCardWorkFlowM
88
88
  import { DiplomaticClubCardChat } from './models/DiplomaticClubCardChatModel';
89
89
  import { DiplomaticTitles } from './models/DiplomaticTitleModel';
90
90
  import { SubscriptionAmounts } from './models/SubscriptionAmountModel';
91
+ import { PassportRequests } from './models/PassportRequestModel';
92
+ import { PassportRequestChat } from './models/PassportRequestChatModel';
93
+ import { PassportRequestAttachments } from './models/PassportRequestAttachmentModel';
94
+ import { PassportRequestWorkFlow } from './models/PassportRequestWorkFlowModel';
95
+ import { PassportRequestApprovals } from './models/PassportRequestApprovalModel';
96
+ import { PassportRequestDependents } from './models/PassportRequestDependentModel';
91
97
 
92
98
 
93
99
  import { WorkflowTask } from './models/WorkflowTask';
@@ -195,5 +201,11 @@ export const AppDataSource = new DataSource({
195
201
  ,DiplomaticClubCardChat
196
202
  ,DiplomaticTitles
197
203
  ,SubscriptionAmounts
204
+ ,PassportRequests
205
+ ,PassportRequestChat
206
+ ,PassportRequestAttachments
207
+ ,PassportRequestWorkFlow
208
+ ,PassportRequestApprovals
209
+ ,PassportRequestDependents
198
210
  ],
199
211
  });
package/src/index.ts CHANGED
@@ -85,3 +85,9 @@ export * from './models/DiplomaticClubCardWorkFlowModel';
85
85
  export * from './models/DiplomaticClubCardChatModel';
86
86
  export * from './models/DiplomaticTitleModel';
87
87
  export * from './models/SubscriptionAmountModel';
88
+ export * from './models/PassportRequestModel';
89
+ export * from './models/PassportRequestChatModel';
90
+ export * from './models/PassportRequestAttachmentModel';
91
+ export * from './models/PassportRequestWorkFlowModel';
92
+ export * from './models/PassportRequestApprovalModel';
93
+ export * from './models/PassportRequestDependentModel';
@@ -0,0 +1,79 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum PassportRequestApprovalStatus {
5
+ PENDING = "Pending",
6
+ APPROVED = "Approved",
7
+ REJECTED = "Rejected",
8
+ IN_PROGRESS = "In Progress"
9
+ }
10
+
11
+ @Entity({ name: 'passport_request_approvals' })
12
+ export class PassportRequestApprovals extends BaseModel {
13
+
14
+ @Column({ type: 'int', nullable: false })
15
+ request_id: number; // Reference to passport_requests
16
+
17
+ @Column({ type: 'int', nullable: true })
18
+ approver_user_id: number | null;
19
+
20
+ @Column({ type: 'int', nullable: true })
21
+ approver_role_id: number | null;
22
+
23
+ @Column({ type: 'int', nullable: false, default: 0 })
24
+ level: number; // Approval level/step order
25
+
26
+ @Column({ type: 'int', nullable: true })
27
+ department_id: number | null;
28
+
29
+ @Column({ type: 'int', nullable: true })
30
+ section_id: number | null;
31
+
32
+ @Column({ type: 'int', nullable: true })
33
+ delegate_user_id: number | null;
34
+
35
+ @Column({ type: 'varchar', length: 255, nullable: true })
36
+ approved_by: string | null;
37
+
38
+ @Column({ type: 'text', nullable: true })
39
+ comment: string | null;
40
+
41
+ @Column({ type: 'enum', enum: PassportRequestApprovalStatus, default: PassportRequestApprovalStatus.PENDING, nullable: false })
42
+ approval_status: PassportRequestApprovalStatus;
43
+
44
+ @Column({ type: 'int', nullable: true })
45
+ service_id: number | null;
46
+
47
+ @Column({ type: 'int', nullable: true })
48
+ sub_service_id: number | null;
49
+
50
+ constructor(
51
+ request_id: number,
52
+ level: number,
53
+ approver_user_id?: number | null,
54
+ approver_role_id?: number | null,
55
+ department_id?: number | null,
56
+ section_id?: number | null,
57
+ delegate_user_id?: number | null,
58
+ approved_by?: string | null,
59
+ comment?: string | null,
60
+ approval_status?: PassportRequestApprovalStatus,
61
+ service_id?: number | null,
62
+ sub_service_id?: number | null
63
+ ) {
64
+ super();
65
+ this.request_id = request_id;
66
+ this.approver_user_id = approver_user_id || null;
67
+ this.approver_role_id = approver_role_id || null;
68
+ this.level = level;
69
+ this.department_id = department_id || null;
70
+ this.section_id = section_id || null;
71
+ this.delegate_user_id = delegate_user_id || null;
72
+ this.approved_by = approved_by || null;
73
+ this.comment = comment || null;
74
+ this.approval_status = approval_status || PassportRequestApprovalStatus.PENDING;
75
+ this.service_id = service_id || null;
76
+ this.sub_service_id = sub_service_id || null;
77
+ }
78
+ }
79
+
@@ -0,0 +1,42 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ @Entity({ name: 'passport_request_attachments' })
5
+ export class PassportRequestAttachments extends BaseModel {
6
+
7
+ @Column({ type: 'int', nullable: false })
8
+ request_id: number; // Reference to passport_requests
9
+
10
+ @Column({ type: 'int', nullable: true })
11
+ dependent_id: number | null; // Reference to passport_request_dependents (if applicable)
12
+
13
+ @Column({ type: 'varchar', length: 255, nullable: false })
14
+ file_name: string;
15
+
16
+ @Column({ type: 'varchar', length: 500, nullable: false })
17
+ file_path: string;
18
+
19
+ @Column({ type: 'varchar', length: 50, nullable: true })
20
+ file_type: string | null; // image/jpeg, image/png, pdf, etc.
21
+
22
+ @Column({ type: 'varchar', length: 50, nullable: true })
23
+ attachment_type: string | null; // document, photo, etc.
24
+
25
+ constructor(
26
+ request_id: number,
27
+ file_name: string,
28
+ file_path: string,
29
+ dependent_id?: number | null,
30
+ file_type?: string | null,
31
+ attachment_type?: string | null
32
+ ) {
33
+ super();
34
+ this.request_id = request_id;
35
+ this.dependent_id = dependent_id || null;
36
+ this.file_name = file_name;
37
+ this.file_path = file_path;
38
+ this.file_type = file_type || null;
39
+ this.attachment_type = attachment_type || null;
40
+ }
41
+ }
42
+
@@ -0,0 +1,27 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ @Entity({ name: 'passport_request_chats' })
5
+ export class PassportRequestChat extends BaseModel {
6
+
7
+ @Column({ type: 'int', nullable: false })
8
+ request_id: number; // Reference to passport_requests
9
+
10
+ @Column({ type: 'int', nullable: false })
11
+ user_id: number; // User who sent the message
12
+
13
+ @Column({ type: 'text', nullable: false })
14
+ message: string;
15
+
16
+ @Column({ type: 'varchar', length: 50, nullable: true })
17
+ message_type: string | null; // text, file, etc.
18
+
19
+ constructor(request_id: number, user_id: number, message: string, message_type?: string | null) {
20
+ super();
21
+ this.request_id = request_id;
22
+ this.user_id = user_id;
23
+ this.message = message;
24
+ this.message_type = message_type || null;
25
+ }
26
+ }
27
+
@@ -0,0 +1,73 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum DependentRelation {
5
+ SELF = "Self",
6
+ SPOUSE = "Spouse",
7
+ CHILD = "Child"
8
+ }
9
+
10
+ @Entity({ name: 'passport_request_dependents' })
11
+ export class PassportRequestDependents extends BaseModel {
12
+
13
+ @Column({ type: 'int', nullable: false })
14
+ request_id: number; // Reference to passport_requests
15
+
16
+ @Column({ type: 'varchar', length: 255, nullable: false })
17
+ first_name: string; // Mandatory
18
+
19
+ @Column({ type: 'varchar', length: 255, nullable: false })
20
+ family_name: string; // Mandatory - القبيلة / العائلة
21
+
22
+ @Column({ type: 'varchar', length: 255, nullable: false })
23
+ last_name: string; // Mandatory
24
+
25
+ @Column({ type: 'varchar', length: 20, nullable: false })
26
+ gender: string; // Mandatory - الجنس
27
+
28
+ @Column({ type: 'varchar', length: 100, nullable: false })
29
+ nationality: string; // Mandatory - الجنسية
30
+
31
+ @Column({ type: 'varchar', length: 255, nullable: false })
32
+ place_of_birth: string; // Mandatory - تاريخ الميلاد
33
+
34
+ @Column({ type: 'varchar', length: 255, nullable: false })
35
+ job_occupation: string; // Mandatory - جهة العمل
36
+
37
+ @Column({ type: 'enum', enum: DependentRelation, nullable: false })
38
+ relation: DependentRelation; // Self / Spouse / Child
39
+
40
+ @Column({ type: 'int', nullable: false })
41
+ age: number; // Mandatory
42
+
43
+ @Column({ type: 'varchar', length: 50, nullable: false })
44
+ passport_request_type: string; // Mandatory - نوع الطلب للجواز (New/Renew/Lost/Stolen)
45
+
46
+ constructor(
47
+ request_id: number,
48
+ first_name: string,
49
+ family_name: string,
50
+ last_name: string,
51
+ gender: string,
52
+ nationality: string,
53
+ place_of_birth: string,
54
+ job_occupation: string,
55
+ relation: DependentRelation,
56
+ age: number,
57
+ passport_request_type: string
58
+ ) {
59
+ super();
60
+ this.request_id = request_id;
61
+ this.first_name = first_name;
62
+ this.family_name = family_name;
63
+ this.last_name = last_name;
64
+ this.gender = gender;
65
+ this.nationality = nationality;
66
+ this.place_of_birth = place_of_birth;
67
+ this.job_occupation = job_occupation;
68
+ this.relation = relation;
69
+ this.age = age;
70
+ this.passport_request_type = passport_request_type;
71
+ }
72
+ }
73
+
@@ -0,0 +1,116 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum PassportType {
5
+ DIPLOMATIC = "Diplomatic Passport",
6
+ SERVICE = "Service passport"
7
+ }
8
+
9
+ export enum ApplicationFor {
10
+ SELF = "Self",
11
+ DEPENDENTS = "Dependents",
12
+ BOTH = "Both"
13
+ }
14
+
15
+ export enum PassportRequestType {
16
+ NEW = "New",
17
+ RENEW = "Renew",
18
+ LOST_STOLEN = "Lost / Stolen"
19
+ }
20
+
21
+ export enum PassportRequestStatus {
22
+ PENDING = "Pending",
23
+ APPROVED = "Approved",
24
+ REJECTED = "Rejected",
25
+ IN_PROGRESS = "In Progress"
26
+ }
27
+
28
+ @Entity({ name: 'passport_requests' })
29
+ export class PassportRequests extends BaseModel {
30
+
31
+ @Column({ type: 'varchar', length: 100, nullable: true })
32
+ request_number: string | null; // For official use
33
+
34
+ @Column({ type: 'varchar', length: 50, nullable: false })
35
+ passport_type: PassportType; // Auto filled based on profile (Diplomatic/Service)
36
+
37
+ @Column({ type: 'varchar', length: 50, nullable: true })
38
+ applicant_civil_id: string | null;
39
+
40
+ @Column({ type: 'varchar', length: 255, nullable: true })
41
+ applicant_name: string | null;
42
+
43
+ @Column({ type: 'varchar', length: 50, nullable: true })
44
+ applicant_passport_number: string | null;
45
+
46
+ @Column({ type: 'enum', enum: ApplicationFor, nullable: false })
47
+ application_for: ApplicationFor; // Self / Dependents / Both
48
+
49
+ @Column({ type: 'varchar', length: 50, nullable: true })
50
+ application_type: string | null; // نوع الطلب
51
+
52
+ @Column({ type: 'varchar', length: 255, nullable: true })
53
+ applicant_job_occupation: string | null; // جهة العمل
54
+
55
+ @Column({ type: 'text', nullable: true })
56
+ purpose_of_application: string | null; // الغرض من تقديم الطلب
57
+
58
+ @Column({ type: 'int', nullable: false })
59
+ approved_mission_travel_id: number; // Mandatory - Mission Travel ID
60
+
61
+ @Column({ type: 'enum', enum: PassportRequestStatus, default: PassportRequestStatus.PENDING, nullable: false })
62
+ status: PassportRequestStatus;
63
+
64
+ @Column({ type: 'int', nullable: true })
65
+ service_id: number | null;
66
+
67
+ @Column({ type: 'int', nullable: true })
68
+ sub_service_id: number | null;
69
+
70
+ @Column({ type: 'varchar', length: 255, nullable: true })
71
+ workflow_execution_id: string | null;
72
+
73
+ @Column({ type: 'int', nullable: false })
74
+ user_id: number; // Employee who created the request
75
+
76
+ @Column({ type: 'text', nullable: true })
77
+ notes: string | null;
78
+
79
+ constructor(
80
+ passport_type: PassportType,
81
+ application_for: ApplicationFor,
82
+ approved_mission_travel_id: number,
83
+ user_id: number,
84
+ request_number?: string | null,
85
+ applicant_civil_id?: string | null,
86
+ applicant_name?: string | null,
87
+ applicant_passport_number?: string | null,
88
+ application_type?: string | null,
89
+ applicant_job_occupation?: string | null,
90
+ purpose_of_application?: string | null,
91
+ status?: PassportRequestStatus,
92
+ service_id?: number | null,
93
+ sub_service_id?: number | null,
94
+ workflow_execution_id?: string | null,
95
+ notes?: string | null
96
+ ) {
97
+ super();
98
+ this.request_number = request_number || null;
99
+ this.passport_type = passport_type;
100
+ this.applicant_civil_id = applicant_civil_id || null;
101
+ this.applicant_name = applicant_name || null;
102
+ this.applicant_passport_number = applicant_passport_number || null;
103
+ this.application_for = application_for;
104
+ this.application_type = application_type || null;
105
+ this.applicant_job_occupation = applicant_job_occupation || null;
106
+ this.purpose_of_application = purpose_of_application || null;
107
+ this.approved_mission_travel_id = approved_mission_travel_id;
108
+ this.status = status || PassportRequestStatus.PENDING;
109
+ this.service_id = service_id || null;
110
+ this.sub_service_id = sub_service_id || null;
111
+ this.workflow_execution_id = workflow_execution_id || null;
112
+ this.user_id = user_id;
113
+ this.notes = notes || null;
114
+ }
115
+ }
116
+
@@ -0,0 +1,48 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum PassportRequestWorkFlowStatus {
5
+ COMPLETED = "Completed",
6
+ NOT_YET_STARTED = "Not Yet Started",
7
+ PENDING = "Pending"
8
+ }
9
+
10
+ @Entity({ name: 'passport_request_work_flows' })
11
+ export class PassportRequestWorkFlow extends BaseModel {
12
+
13
+ @Column({ type: 'int', nullable: false })
14
+ request_id: number; // Reference to passport_requests
15
+
16
+ @Column({ type: 'int', nullable: false, default: 0 })
17
+ approval_details_id: number; // Reference to passport_request_approvals
18
+
19
+ @Column({ type: 'varchar', length: 255, nullable: false })
20
+ content: string;
21
+
22
+ @Column({ type: 'enum', enum: PassportRequestWorkFlowStatus, default: PassportRequestWorkFlowStatus.NOT_YET_STARTED, nullable: false })
23
+ status: PassportRequestWorkFlowStatus;
24
+
25
+ @Column({ type: 'int', nullable: true })
26
+ service_id: number | null;
27
+
28
+ @Column({ type: 'int', nullable: true })
29
+ sub_service_id: number | null;
30
+
31
+ constructor(
32
+ request_id: number,
33
+ content: string,
34
+ approval_details_id?: number,
35
+ status?: PassportRequestWorkFlowStatus,
36
+ service_id?: number | null,
37
+ sub_service_id?: number | null
38
+ ) {
39
+ super();
40
+ this.request_id = request_id;
41
+ this.approval_details_id = approval_details_id || 0;
42
+ this.content = content;
43
+ this.status = status || PassportRequestWorkFlowStatus.NOT_YET_STARTED;
44
+ this.service_id = service_id || null;
45
+ this.sub_service_id = sub_service_id || null;
46
+ }
47
+ }
48
+