@platform-modules/foreign-ministry 1.2.34 → 1.2.36

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 (31) hide show
  1. package/dist/index.d.ts +13 -0
  2. package/dist/index.js +22 -1
  3. package/dist/models/GeneralServiceChatsModel.d.ts +3 -1
  4. package/dist/models/GeneralServiceChatsModel.js +12 -2
  5. package/dist/models/MissionTravelApprovalModel.d.ts +25 -0
  6. package/dist/models/MissionTravelApprovalModel.js +106 -0
  7. package/dist/models/MissionTravelAttachmentModel.d.ts +13 -0
  8. package/dist/models/MissionTravelAttachmentModel.js +69 -0
  9. package/dist/models/MissionTravelChatModel.d.ts +12 -0
  10. package/dist/models/MissionTravelChatModel.js +64 -0
  11. package/dist/models/MissionTravelCostModel.d.ts +14 -0
  12. package/dist/models/MissionTravelCostModel.js +74 -0
  13. package/dist/models/MissionTravelPersonModel.d.ts +26 -0
  14. package/dist/models/MissionTravelPersonModel.js +115 -0
  15. package/dist/models/MissionTravelRequestModel.d.ts +36 -0
  16. package/dist/models/MissionTravelRequestModel.js +118 -0
  17. package/dist/models/MissionTravelWorkflowModel.d.ts +19 -0
  18. package/dist/models/MissionTravelWorkflowModel.js +80 -0
  19. package/dist/models/TravelClassEnum.d.ts +5 -0
  20. package/dist/models/TravelClassEnum.js +9 -0
  21. package/package.json +1 -1
  22. package/src/index.ts +14 -0
  23. package/src/models/GeneralServiceChatsModel.ts +11 -1
  24. package/src/models/MissionTravelApprovalModel.ts +94 -0
  25. package/src/models/MissionTravelAttachmentModel.ts +56 -0
  26. package/src/models/MissionTravelChatModel.ts +52 -0
  27. package/src/models/MissionTravelCostModel.ts +62 -0
  28. package/src/models/MissionTravelPersonModel.ts +105 -0
  29. package/src/models/MissionTravelRequestModel.ts +108 -0
  30. package/src/models/MissionTravelWorkflowModel.ts +55 -0
  31. package/src/models/TravelClassEnum.ts +7 -0
@@ -0,0 +1,36 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare enum MissionTravelStatus {
3
+ PENDING = "Pending",
4
+ APPROVED = "Approved",
5
+ REJECTED = "Rejected",
6
+ COMPLETED = "Completed",
7
+ CANCELLED = "Cancelled"
8
+ }
9
+ export declare enum MissionType {
10
+ INTERNAL = "Internal",
11
+ EXTERNAL = "External"
12
+ }
13
+ export declare enum DecisionType {
14
+ OFFICIAL_MISSION = "Official Mission",
15
+ TRAINING_COURSE = "Training Course",
16
+ SUMMON = "Summon",
17
+ ATTACHMENT = "Attachment"
18
+ }
19
+ export declare class MissionTravelRequests extends BaseModel {
20
+ user_id: number;
21
+ service_id: number | null;
22
+ sub_service_id: number | null;
23
+ department_participation: boolean;
24
+ mission_type: MissionType | null;
25
+ decision_type: DecisionType | null;
26
+ from_date: Date | null;
27
+ to_date: Date | null;
28
+ purpose_of_mission: string | null;
29
+ exchange_ratio: string | null;
30
+ number_of_days: number | null;
31
+ mission_allowance_cost: number | null;
32
+ status: MissionTravelStatus;
33
+ workflow_execution_id: string | null;
34
+ request_type: string | null;
35
+ constructor(user_id: number, service_id: number | null, sub_service_id: number | null, department_participation: boolean, mission_type: MissionType | null, decision_type: DecisionType | null, from_date: Date | null, to_date: Date | null, purpose_of_mission: string | null, exchange_ratio: string | null, number_of_days: number | null, mission_allowance_cost: number | null, request_type: string | null);
36
+ }
@@ -0,0 +1,118 @@
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.MissionTravelRequests = exports.DecisionType = exports.MissionType = exports.MissionTravelStatus = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var MissionTravelStatus;
16
+ (function (MissionTravelStatus) {
17
+ MissionTravelStatus["PENDING"] = "Pending";
18
+ MissionTravelStatus["APPROVED"] = "Approved";
19
+ MissionTravelStatus["REJECTED"] = "Rejected";
20
+ MissionTravelStatus["COMPLETED"] = "Completed";
21
+ MissionTravelStatus["CANCELLED"] = "Cancelled";
22
+ })(MissionTravelStatus || (exports.MissionTravelStatus = MissionTravelStatus = {}));
23
+ var MissionType;
24
+ (function (MissionType) {
25
+ MissionType["INTERNAL"] = "Internal";
26
+ MissionType["EXTERNAL"] = "External";
27
+ })(MissionType || (exports.MissionType = MissionType = {}));
28
+ var DecisionType;
29
+ (function (DecisionType) {
30
+ DecisionType["OFFICIAL_MISSION"] = "Official Mission";
31
+ DecisionType["TRAINING_COURSE"] = "Training Course";
32
+ DecisionType["SUMMON"] = "Summon";
33
+ DecisionType["ATTACHMENT"] = "Attachment";
34
+ })(DecisionType || (exports.DecisionType = DecisionType = {}));
35
+ let MissionTravelRequests = class MissionTravelRequests extends BaseModel_1.BaseModel {
36
+ constructor(user_id, service_id, sub_service_id, department_participation, mission_type, decision_type, from_date, to_date, purpose_of_mission, exchange_ratio, number_of_days, mission_allowance_cost, request_type) {
37
+ super();
38
+ this.user_id = user_id;
39
+ this.service_id = service_id;
40
+ this.sub_service_id = sub_service_id;
41
+ this.department_participation = department_participation;
42
+ this.mission_type = mission_type;
43
+ this.decision_type = decision_type;
44
+ this.from_date = from_date;
45
+ this.to_date = to_date;
46
+ this.purpose_of_mission = purpose_of_mission;
47
+ this.exchange_ratio = exchange_ratio;
48
+ this.number_of_days = number_of_days;
49
+ this.mission_allowance_cost = mission_allowance_cost;
50
+ this.status = MissionTravelStatus.PENDING;
51
+ this.request_type = request_type;
52
+ }
53
+ };
54
+ exports.MissionTravelRequests = MissionTravelRequests;
55
+ __decorate([
56
+ (0, typeorm_1.Column)({ type: 'int', nullable: false }),
57
+ __metadata("design:type", Number)
58
+ ], MissionTravelRequests.prototype, "user_id", void 0);
59
+ __decorate([
60
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
61
+ __metadata("design:type", Object)
62
+ ], MissionTravelRequests.prototype, "service_id", void 0);
63
+ __decorate([
64
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
65
+ __metadata("design:type", Object)
66
+ ], MissionTravelRequests.prototype, "sub_service_id", void 0);
67
+ __decorate([
68
+ (0, typeorm_1.Column)({ type: 'boolean', nullable: true, default: false }),
69
+ __metadata("design:type", Boolean)
70
+ ], MissionTravelRequests.prototype, "department_participation", void 0);
71
+ __decorate([
72
+ (0, typeorm_1.Column)({ type: 'enum', enum: MissionType, nullable: true }),
73
+ __metadata("design:type", Object)
74
+ ], MissionTravelRequests.prototype, "mission_type", void 0);
75
+ __decorate([
76
+ (0, typeorm_1.Column)({ type: 'enum', enum: DecisionType, nullable: true }),
77
+ __metadata("design:type", Object)
78
+ ], MissionTravelRequests.prototype, "decision_type", void 0);
79
+ __decorate([
80
+ (0, typeorm_1.Column)({ type: 'date', nullable: true }),
81
+ __metadata("design:type", Object)
82
+ ], MissionTravelRequests.prototype, "from_date", void 0);
83
+ __decorate([
84
+ (0, typeorm_1.Column)({ type: 'date', nullable: true }),
85
+ __metadata("design:type", Object)
86
+ ], MissionTravelRequests.prototype, "to_date", void 0);
87
+ __decorate([
88
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
89
+ __metadata("design:type", Object)
90
+ ], MissionTravelRequests.prototype, "purpose_of_mission", void 0);
91
+ __decorate([
92
+ (0, typeorm_1.Column)({ type: 'varchar', length: 50, nullable: true }),
93
+ __metadata("design:type", Object)
94
+ ], MissionTravelRequests.prototype, "exchange_ratio", void 0);
95
+ __decorate([
96
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
97
+ __metadata("design:type", Object)
98
+ ], MissionTravelRequests.prototype, "number_of_days", void 0);
99
+ __decorate([
100
+ (0, typeorm_1.Column)({ type: 'decimal', precision: 10, scale: 2, nullable: true }),
101
+ __metadata("design:type", Object)
102
+ ], MissionTravelRequests.prototype, "mission_allowance_cost", void 0);
103
+ __decorate([
104
+ (0, typeorm_1.Column)({ type: 'enum', enum: MissionTravelStatus, default: MissionTravelStatus.PENDING, nullable: false }),
105
+ __metadata("design:type", String)
106
+ ], MissionTravelRequests.prototype, "status", void 0);
107
+ __decorate([
108
+ (0, typeorm_1.Column)({ type: 'varchar', nullable: true }),
109
+ __metadata("design:type", Object)
110
+ ], MissionTravelRequests.prototype, "workflow_execution_id", void 0);
111
+ __decorate([
112
+ (0, typeorm_1.Column)({ type: 'varchar', nullable: true }),
113
+ __metadata("design:type", Object)
114
+ ], MissionTravelRequests.prototype, "request_type", void 0);
115
+ exports.MissionTravelRequests = MissionTravelRequests = __decorate([
116
+ (0, typeorm_1.Entity)({ name: 'mission_travel_requests' }),
117
+ __metadata("design:paramtypes", [Number, Object, Object, Boolean, Object, Object, Object, Object, Object, Object, Object, Object, Object])
118
+ ], MissionTravelRequests);
@@ -0,0 +1,19 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare enum MissionTravelWorkFlowStatus {
3
+ COMPLETED = "Completed",
4
+ NOT_YET_STARTED = "Not Yet Started",
5
+ PENDING = "Pending"
6
+ }
7
+ export declare class MissionTravelWorkFlow extends BaseModel {
8
+ request_id: number;
9
+ service_id: number | null;
10
+ sub_service_id: number | null;
11
+ order: number | null;
12
+ content: string;
13
+ status: MissionTravelWorkFlowStatus;
14
+ user_id: number | null;
15
+ role_id: number | null;
16
+ department_id: number | null;
17
+ section_id: number | null;
18
+ constructor(request_id: number, content: string, status: MissionTravelWorkFlowStatus, order?: number, service_id?: number | null, sub_service_id?: number | null, user_id?: number | null, role_id?: number | null, department_id?: number | null, section_id?: number | null);
19
+ }
@@ -0,0 +1,80 @@
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.MissionTravelWorkFlow = exports.MissionTravelWorkFlowStatus = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var MissionTravelWorkFlowStatus;
16
+ (function (MissionTravelWorkFlowStatus) {
17
+ MissionTravelWorkFlowStatus["COMPLETED"] = "Completed";
18
+ MissionTravelWorkFlowStatus["NOT_YET_STARTED"] = "Not Yet Started";
19
+ MissionTravelWorkFlowStatus["PENDING"] = "Pending";
20
+ })(MissionTravelWorkFlowStatus || (exports.MissionTravelWorkFlowStatus = MissionTravelWorkFlowStatus = {}));
21
+ let MissionTravelWorkFlow = class MissionTravelWorkFlow extends BaseModel_1.BaseModel {
22
+ constructor(request_id, content, status, order, service_id, sub_service_id, user_id, role_id, department_id, section_id) {
23
+ super();
24
+ this.request_id = request_id;
25
+ this.content = content;
26
+ this.status = status;
27
+ this.order = order || null;
28
+ this.service_id = service_id ?? null;
29
+ this.sub_service_id = sub_service_id ?? null;
30
+ this.user_id = user_id || null;
31
+ this.role_id = role_id || null;
32
+ this.department_id = department_id || null;
33
+ this.section_id = section_id || null;
34
+ }
35
+ };
36
+ exports.MissionTravelWorkFlow = MissionTravelWorkFlow;
37
+ __decorate([
38
+ (0, typeorm_1.Column)({ type: 'int', nullable: false }),
39
+ __metadata("design:type", Number)
40
+ ], MissionTravelWorkFlow.prototype, "request_id", void 0);
41
+ __decorate([
42
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
43
+ __metadata("design:type", Object)
44
+ ], MissionTravelWorkFlow.prototype, "service_id", void 0);
45
+ __decorate([
46
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
47
+ __metadata("design:type", Object)
48
+ ], MissionTravelWorkFlow.prototype, "sub_service_id", void 0);
49
+ __decorate([
50
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
51
+ __metadata("design:type", Object)
52
+ ], MissionTravelWorkFlow.prototype, "order", void 0);
53
+ __decorate([
54
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: false }),
55
+ __metadata("design:type", String)
56
+ ], MissionTravelWorkFlow.prototype, "content", void 0);
57
+ __decorate([
58
+ (0, typeorm_1.Column)({ type: 'enum', enum: MissionTravelWorkFlowStatus, default: MissionTravelWorkFlowStatus.NOT_YET_STARTED, nullable: false }),
59
+ __metadata("design:type", String)
60
+ ], MissionTravelWorkFlow.prototype, "status", void 0);
61
+ __decorate([
62
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
63
+ __metadata("design:type", Object)
64
+ ], MissionTravelWorkFlow.prototype, "user_id", void 0);
65
+ __decorate([
66
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
67
+ __metadata("design:type", Object)
68
+ ], MissionTravelWorkFlow.prototype, "role_id", void 0);
69
+ __decorate([
70
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
71
+ __metadata("design:type", Object)
72
+ ], MissionTravelWorkFlow.prototype, "department_id", void 0);
73
+ __decorate([
74
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
75
+ __metadata("design:type", Object)
76
+ ], MissionTravelWorkFlow.prototype, "section_id", void 0);
77
+ exports.MissionTravelWorkFlow = MissionTravelWorkFlow = __decorate([
78
+ (0, typeorm_1.Entity)({ name: 'mission_travel_workflows' }),
79
+ __metadata("design:paramtypes", [Number, String, String, Number, Object, Object, Object, Object, Object, Object])
80
+ ], MissionTravelWorkFlow);
@@ -0,0 +1,5 @@
1
+ export declare enum TravelClass {
2
+ ECONOMY = "Economy class",
3
+ BUSINESS = "Business class",
4
+ FIRST = "First class"
5
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TravelClass = void 0;
4
+ var TravelClass;
5
+ (function (TravelClass) {
6
+ TravelClass["ECONOMY"] = "Economy class";
7
+ TravelClass["BUSINESS"] = "Business class";
8
+ TravelClass["FIRST"] = "First class";
9
+ })(TravelClass || (exports.TravelClass = TravelClass = {}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platform-modules/foreign-ministry",
3
- "version": "1.2.34",
3
+ "version": "1.2.36",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
package/src/index.ts CHANGED
@@ -171,3 +171,17 @@ export * from './models/EmployeeCardApprovalsModel';
171
171
  export * from './models/EmployeeCardWorkFlowModel';
172
172
  export * from './models/EmployeeCardChatsModel';
173
173
  export * from './models/EmployeeCardAttachmentsModel';
174
+ // Mission Travel Models
175
+ export * from './models/MissionTravelRequestModel';
176
+ export { MissionTravelStatus, MissionType, DecisionType } from './models/MissionTravelRequestModel';
177
+ export * from './models/MissionTravelPersonModel';
178
+ export { AllowanceRatio } from './models/MissionTravelPersonModel';
179
+ export * from './models/MissionTravelCostModel';
180
+ export * from './models/MissionTravelApprovalModel';
181
+ export { MissionTravelApprovalStatus } from './models/MissionTravelApprovalModel';
182
+ export * from './models/MissionTravelAttachmentModel';
183
+ export * from './models/MissionTravelWorkflowModel';
184
+ export { MissionTravelWorkFlowStatus } from './models/MissionTravelWorkflowModel';
185
+ export * from './models/MissionTravelChatModel';
186
+ export * from './models/TravelClassEnum';
187
+ export { TravelClass } from './models/TravelClassEnum';
@@ -12,6 +12,12 @@ export class GeneralServiceChats extends BaseModel {
12
12
  @Column({ type: 'int' })
13
13
  sender_user_id: number;
14
14
 
15
+ @Column({ type: 'int', nullable: true })
16
+ sender_role_id: number | null;
17
+
18
+ @Column({ type: 'varchar', length: 100, nullable: true })
19
+ status: string | null;
20
+
15
21
  @Column({ type: 'int', nullable: true })
16
22
  service_id: number | null; // For filtering and multi-service support
17
23
 
@@ -26,7 +32,9 @@ export class GeneralServiceChats extends BaseModel {
26
32
  content: string,
27
33
  sender_user_id: number,
28
34
  service_id?: number | null,
29
- sub_service_id?: number | null
35
+ sub_service_id?: number | null,
36
+ sender_role_id?: number | null,
37
+ status?: string | null
30
38
  ) {
31
39
  super();
32
40
  this.request_id = request_id;
@@ -34,6 +42,8 @@ export class GeneralServiceChats extends BaseModel {
34
42
  this.sender_user_id = sender_user_id;
35
43
  this.service_id = service_id || null;
36
44
  this.sub_service_id = sub_service_id || null;
45
+ this.sender_role_id = sender_role_id || null;
46
+ this.status = status || null;
37
47
  }
38
48
  }
39
49
 
@@ -0,0 +1,94 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum MissionTravelApprovalStatus {
5
+ PENDING = "Pending",
6
+ APPROVED = "Approved",
7
+ REJECTED = "Rejected",
8
+ RFC = "RFC" // Request for Change
9
+ }
10
+
11
+ @Entity({ name: 'mission_travel_approvals' })
12
+ export class MissionTravelApprovalDetails extends BaseModel {
13
+ @Column({ type: 'integer', nullable: false })
14
+ request_id: number;
15
+
16
+ @Column({ type: 'integer', nullable: true })
17
+ service_id: number | null;
18
+
19
+ @Column({ type: 'integer', nullable: true })
20
+ sub_service_id: number | null;
21
+
22
+ @Column({ type: 'integer', nullable: false })
23
+ level: number;
24
+
25
+ @Column({ type: 'integer', nullable: true })
26
+ approver_role_id: number;
27
+
28
+ @Column({ type: 'integer', nullable: true })
29
+ department_id: number | null;
30
+
31
+ @Column({ type: 'integer', nullable: true })
32
+ section_id: number | null;
33
+
34
+ @Column({ type: 'integer', nullable: true })
35
+ approver_user_id: number | null;
36
+
37
+ @Column({ type: 'integer', nullable: true })
38
+ delegate_user_id: number | null;
39
+
40
+ @Column({ type: 'integer', nullable: true })
41
+ approved_by: number | null;
42
+
43
+ @Column({ type: 'varchar', length: 500, nullable: true, default: '' })
44
+ comment: string;
45
+
46
+ @Column({ type: 'enum', enum: MissionTravelApprovalStatus, default: MissionTravelApprovalStatus.PENDING, nullable: false })
47
+ approval_status: MissionTravelApprovalStatus;
48
+
49
+ @Column({ type: 'boolean', default: true, nullable: false })
50
+ is_allowed: boolean;
51
+
52
+ @Column({ type: 'boolean', default: false, nullable: false })
53
+ is_reassign: boolean;
54
+
55
+ @Column({ type: 'boolean', default: true, nullable: false })
56
+ is_approval: boolean;
57
+
58
+ constructor(
59
+ request_id: number,
60
+ service_id: number | null,
61
+ sub_service_id: number | null,
62
+ level: number,
63
+ approver_role_id: number,
64
+ department_id: number | null,
65
+ section_id: number | null,
66
+ approver_user_id: number | null,
67
+ delegate_user_id: number | null,
68
+ approved_by: number | null,
69
+ comment: string,
70
+ approval_status: MissionTravelApprovalStatus,
71
+ is_allowed: boolean,
72
+ is_reassign: boolean,
73
+ is_approval: boolean
74
+ ) {
75
+ super();
76
+ this.request_id = request_id;
77
+ this.service_id = service_id;
78
+ this.sub_service_id = sub_service_id;
79
+ this.level = level;
80
+ this.approver_role_id = approver_role_id;
81
+ this.department_id = department_id;
82
+ this.section_id = section_id;
83
+ this.approver_user_id = approver_user_id;
84
+ this.delegate_user_id = delegate_user_id;
85
+ this.approved_by = approved_by;
86
+ this.comment = comment;
87
+ this.approval_status = approval_status;
88
+ this.is_allowed = is_allowed;
89
+ this.is_reassign = is_reassign;
90
+ this.is_approval = is_approval;
91
+ }
92
+ }
93
+
94
+
@@ -0,0 +1,56 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ @Entity({ name: 'mission_travel_attachments' })
5
+ export class MissionTravelRequestAttachment extends BaseModel {
6
+ @Column({ type: 'integer', nullable: false })
7
+ request_id: number;
8
+
9
+ @Column({ type: 'integer', nullable: true })
10
+ service_id: number | null;
11
+
12
+ @Column({ type: 'integer', nullable: true })
13
+ sub_service_id: number | null;
14
+
15
+ @Column({ type: 'integer', nullable: false })
16
+ uploaded_by: number;
17
+
18
+ @Column({ type: 'varchar', length: 500, nullable: false })
19
+ file_url: string;
20
+
21
+ @Column({ type: 'varchar', length: 255, nullable: true })
22
+ file_name: string;
23
+
24
+ @Column({ type: 'varchar', length: 100, nullable: true })
25
+ file_type: string;
26
+
27
+ @Column({ type: 'bigint', nullable: true })
28
+ file_size: number | null;
29
+
30
+ @Column({ type: 'text', nullable: true })
31
+ description: string;
32
+
33
+ constructor(
34
+ request_id: number,
35
+ uploaded_by: number,
36
+ file_url: string,
37
+ file_name?: string,
38
+ file_type?: string,
39
+ file_size?: number,
40
+ description?: string,
41
+ service_id?: number | null,
42
+ sub_service_id?: number | null
43
+ ) {
44
+ super();
45
+ this.request_id = request_id;
46
+ this.uploaded_by = uploaded_by;
47
+ this.file_url = file_url;
48
+ this.file_name = file_name || '';
49
+ this.file_type = file_type || '';
50
+ this.file_size = file_size || null;
51
+ this.description = description || '';
52
+ this.service_id = service_id ?? null;
53
+ this.sub_service_id = sub_service_id ?? null;
54
+ }
55
+ }
56
+
@@ -0,0 +1,52 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ @Entity({ name: 'mission_travel_chats' })
5
+ export class MissionTravelRequestChat extends BaseModel {
6
+
7
+ @Column({ type: 'integer', nullable: false })
8
+ request_id: number;
9
+
10
+ @Column({ type: 'integer', nullable: true })
11
+ service_id: number | null;
12
+
13
+ @Column({ type: 'integer', nullable: true })
14
+ sub_service_id: number | null;
15
+
16
+ @Column({ type: 'integer', nullable: false })
17
+ user_id: number;
18
+
19
+ @Column({ type: 'integer', nullable: true })
20
+ role_id: number | null;
21
+
22
+ @Column({ type: 'text', nullable: false })
23
+ message: string;
24
+
25
+ @Column({ type: 'text', nullable: true })
26
+ status: string | null;
27
+
28
+ @Column({ type: 'boolean', default: false })
29
+ is_internal: boolean;
30
+
31
+ constructor(
32
+ request_id: number,
33
+ user_id: number,
34
+ message: string,
35
+ is_internal?: boolean,
36
+ service_id?: number | null,
37
+ sub_service_id?: number | null,
38
+ role_id?: number | null,
39
+ status?: string | null
40
+ ) {
41
+ super();
42
+ this.request_id = request_id;
43
+ this.service_id = service_id || null;
44
+ this.sub_service_id = sub_service_id || null;
45
+ this.user_id = user_id;
46
+ this.role_id = role_id || null;
47
+ this.message = message;
48
+ this.status = status || null;
49
+ this.is_internal = is_internal || false;
50
+ }
51
+ }
52
+
@@ -0,0 +1,62 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ @Entity({ name: 'mission_travel_costs' })
5
+ export class MissionTravelCosts extends BaseModel {
6
+ @Column({ type: 'integer', nullable: false })
7
+ request_id: number;
8
+
9
+ @Column({ type: 'integer', nullable: true })
10
+ service_id: number | null;
11
+
12
+ @Column({ type: 'integer', nullable: true })
13
+ sub_service_id: number | null;
14
+
15
+ @Column({ type: 'integer', nullable: false })
16
+ person_id: number;
17
+
18
+ @Column({ type: 'varchar', length: 255, nullable: true })
19
+ person_name: string | null;
20
+
21
+ @Column({ type: 'decimal', precision: 10, scale: 2, nullable: true })
22
+ allowance_amount: number | null;
23
+
24
+ @Column({ type: 'decimal', precision: 10, scale: 2, nullable: true })
25
+ ticket_charges: number | null;
26
+
27
+ @Column({ type: 'decimal', precision: 10, scale: 2, nullable: true })
28
+ hotel_charges: number | null;
29
+
30
+ @Column({ type: 'decimal', precision: 10, scale: 2, nullable: true })
31
+ others: number | null;
32
+
33
+ @Column({ type: 'decimal', precision: 10, scale: 2, nullable: true })
34
+ sub_total: number | null;
35
+
36
+ constructor(
37
+ request_id: number,
38
+ person_id: number,
39
+ service_id?: number | null,
40
+ sub_service_id?: number | null,
41
+ person_name?: string | null,
42
+ allowance_amount?: number | null,
43
+ ticket_charges?: number | null,
44
+ hotel_charges?: number | null,
45
+ others?: number | null,
46
+ sub_total?: number | null
47
+ ) {
48
+ super();
49
+ this.request_id = request_id;
50
+ this.person_id = person_id;
51
+ this.service_id = service_id ?? null;
52
+ this.sub_service_id = sub_service_id ?? null;
53
+ this.person_name = person_name || null;
54
+ this.allowance_amount = allowance_amount || null;
55
+ this.ticket_charges = ticket_charges || null;
56
+ this.hotel_charges = hotel_charges || null;
57
+ this.others = others || null;
58
+ this.sub_total = sub_total || null;
59
+ }
60
+ }
61
+
62
+