@platform-modules/civil-aviation-authority 2.2.83 → 2.2.85

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.
package/.env CHANGED
@@ -1,5 +1,11 @@
1
- DB_HOST=localhost
2
- DB_PORT=5433
3
- DB_USER=postgres
4
- DB_PASS=123
1
+ # DB_HOST=localhost
2
+ # DB_PORT=5433
3
+ # DB_USER=postgres
4
+ # DB_PASS=123
5
+ # DB_NAME=CAA
6
+
7
+ DB_HOST=164.52.222.169
8
+ DB_PORT=5432
9
+ DB_USER=postgres_admin_user
10
+ DB_PASS=pg_admin_user_pwd_caa_fa_$%^&OIukhjgcvbn
5
11
  DB_NAME=CAA
@@ -64,6 +64,11 @@ const SecurityThreatApprovalModel_1 = require("./models/SecurityThreatApprovalMo
64
64
  const SecurityThreatAttachmentModel_1 = require("./models/SecurityThreatAttachmentModel");
65
65
  const SecurityThreatChatModel_1 = require("./models/SecurityThreatChatModel");
66
66
  const SecurityThreatWorkflowModel_1 = require("./models/SecurityThreatWorkflowModel");
67
+ const SecurityAwarenessRequestModel_1 = require("./models/SecurityAwarenessRequestModel");
68
+ const SecurityAwarenessApprovalModel_1 = require("./models/SecurityAwarenessApprovalModel");
69
+ const SecurityAwarenessAttachmentModel_1 = require("./models/SecurityAwarenessAttachmentModel");
70
+ const SecurityAwarenessChatModel_1 = require("./models/SecurityAwarenessChatModel");
71
+ const SecurityAwarenessWorkflowModel_1 = require("./models/SecurityAwarenessWorkflowModel");
67
72
  exports.AppDataSource = new typeorm_1.DataSource({
68
73
  type: 'postgres',
69
74
  host: process.env.DB_HOST || 'localhost',
@@ -131,6 +136,11 @@ exports.AppDataSource = new typeorm_1.DataSource({
131
136
  SecurityThreatApprovalModel_1.SecurityThreatApproval,
132
137
  SecurityThreatAttachmentModel_1.SecurityThreatAttachment,
133
138
  SecurityThreatChatModel_1.SecurityThreatChat,
134
- SecurityThreatWorkflowModel_1.SecurityThreatWorkFlow
139
+ SecurityThreatWorkflowModel_1.SecurityThreatWorkFlow,
140
+ SecurityAwarenessRequestModel_1.SecurityAwarenessRequest,
141
+ SecurityAwarenessApprovalModel_1.SecurityAwarenessApproval,
142
+ SecurityAwarenessAttachmentModel_1.SecurityAwarenessAttachment,
143
+ SecurityAwarenessChatModel_1.SecurityAwarenessChat,
144
+ SecurityAwarenessWorkflowModel_1.SecurityAwarenessWorkFlow
135
145
  ],
136
146
  });
package/dist/index.d.ts CHANGED
@@ -53,3 +53,8 @@ export * from './models/SecurityThreatApprovalModel';
53
53
  export * from './models/SecurityThreatAttachmentModel';
54
54
  export * from './models/SecurityThreatChatModel';
55
55
  export * from './models/SecurityThreatWorkflowModel';
56
+ export * from './models/SecurityAwarenessRequestModel';
57
+ export * from './models/SecurityAwarenessApprovalModel';
58
+ export * from './models/SecurityAwarenessAttachmentModel';
59
+ export * from './models/SecurityAwarenessChatModel';
60
+ export * from './models/SecurityAwarenessWorkflowModel';
package/dist/index.js CHANGED
@@ -73,3 +73,8 @@ __exportStar(require("./models/SecurityThreatApprovalModel"), exports);
73
73
  __exportStar(require("./models/SecurityThreatAttachmentModel"), exports);
74
74
  __exportStar(require("./models/SecurityThreatChatModel"), exports);
75
75
  __exportStar(require("./models/SecurityThreatWorkflowModel"), exports);
76
+ __exportStar(require("./models/SecurityAwarenessRequestModel"), exports);
77
+ __exportStar(require("./models/SecurityAwarenessApprovalModel"), exports);
78
+ __exportStar(require("./models/SecurityAwarenessAttachmentModel"), exports);
79
+ __exportStar(require("./models/SecurityAwarenessChatModel"), exports);
80
+ __exportStar(require("./models/SecurityAwarenessWorkflowModel"), exports);
@@ -0,0 +1,22 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare enum SecurityAwarenessApprovalStatus {
3
+ PENDING = "Pending",
4
+ IN_PROGRESS = "In Progress",
5
+ APPROVED = "Approved",
6
+ REJECTED = "Rejected"
7
+ }
8
+ export declare class SecurityAwarenessApproval extends BaseModel {
9
+ request_id: number;
10
+ service_id: number | null;
11
+ sub_service_id: number | null;
12
+ level: number;
13
+ approver_role_id: number;
14
+ department_id: number | null;
15
+ section_id: number | null;
16
+ approver_user_id: number | null;
17
+ delegate_user_id: number | null;
18
+ approved_by: number | null;
19
+ comment: string;
20
+ approval_status: SecurityAwarenessApprovalStatus;
21
+ constructor(request_id: number, approver_role_id: number, comment: string, approval_status: SecurityAwarenessApprovalStatus, level: number, department_id?: number | null, section_id?: number | null, approver_user_id?: number | null, delegate_user_id?: number | null, approved_by?: number | null, service_id?: number, sub_service_id?: number);
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.SecurityAwarenessApproval = exports.SecurityAwarenessApprovalStatus = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var SecurityAwarenessApprovalStatus;
16
+ (function (SecurityAwarenessApprovalStatus) {
17
+ SecurityAwarenessApprovalStatus["PENDING"] = "Pending";
18
+ SecurityAwarenessApprovalStatus["IN_PROGRESS"] = "In Progress";
19
+ SecurityAwarenessApprovalStatus["APPROVED"] = "Approved";
20
+ SecurityAwarenessApprovalStatus["REJECTED"] = "Rejected";
21
+ })(SecurityAwarenessApprovalStatus || (exports.SecurityAwarenessApprovalStatus = SecurityAwarenessApprovalStatus = {}));
22
+ let SecurityAwarenessApproval = class SecurityAwarenessApproval extends BaseModel_1.BaseModel {
23
+ constructor(request_id, approver_role_id, comment, approval_status, level, department_id, section_id, approver_user_id, delegate_user_id, approved_by, service_id, sub_service_id) {
24
+ super();
25
+ this.request_id = request_id;
26
+ this.service_id = service_id || null;
27
+ this.sub_service_id = sub_service_id || null;
28
+ this.approver_role_id = approver_role_id;
29
+ this.comment = comment;
30
+ this.approval_status = approval_status;
31
+ this.level = level;
32
+ this.department_id = department_id || null;
33
+ this.section_id = section_id || null;
34
+ this.approver_user_id = approver_user_id || null;
35
+ this.delegate_user_id = delegate_user_id || null;
36
+ this.approved_by = approved_by || null;
37
+ }
38
+ };
39
+ exports.SecurityAwarenessApproval = SecurityAwarenessApproval;
40
+ __decorate([
41
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
42
+ __metadata("design:type", Number)
43
+ ], SecurityAwarenessApproval.prototype, "request_id", void 0);
44
+ __decorate([
45
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
46
+ __metadata("design:type", Object)
47
+ ], SecurityAwarenessApproval.prototype, "service_id", void 0);
48
+ __decorate([
49
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
50
+ __metadata("design:type", Object)
51
+ ], SecurityAwarenessApproval.prototype, "sub_service_id", void 0);
52
+ __decorate([
53
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
54
+ __metadata("design:type", Number)
55
+ ], SecurityAwarenessApproval.prototype, "level", void 0);
56
+ __decorate([
57
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
58
+ __metadata("design:type", Number)
59
+ ], SecurityAwarenessApproval.prototype, "approver_role_id", void 0);
60
+ __decorate([
61
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
62
+ __metadata("design:type", Object)
63
+ ], SecurityAwarenessApproval.prototype, "department_id", void 0);
64
+ __decorate([
65
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
66
+ __metadata("design:type", Object)
67
+ ], SecurityAwarenessApproval.prototype, "section_id", void 0);
68
+ __decorate([
69
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
70
+ __metadata("design:type", Object)
71
+ ], SecurityAwarenessApproval.prototype, "approver_user_id", void 0);
72
+ __decorate([
73
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
74
+ __metadata("design:type", Object)
75
+ ], SecurityAwarenessApproval.prototype, "delegate_user_id", void 0);
76
+ __decorate([
77
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
78
+ __metadata("design:type", Object)
79
+ ], SecurityAwarenessApproval.prototype, "approved_by", void 0);
80
+ __decorate([
81
+ (0, typeorm_1.Column)({ type: 'varchar', length: 500, nullable: true, default: '' }),
82
+ __metadata("design:type", String)
83
+ ], SecurityAwarenessApproval.prototype, "comment", void 0);
84
+ __decorate([
85
+ (0, typeorm_1.Column)({ type: 'enum', enum: SecurityAwarenessApprovalStatus, default: SecurityAwarenessApprovalStatus.PENDING, nullable: false }),
86
+ __metadata("design:type", String)
87
+ ], SecurityAwarenessApproval.prototype, "approval_status", void 0);
88
+ exports.SecurityAwarenessApproval = SecurityAwarenessApproval = __decorate([
89
+ (0, typeorm_1.Entity)({ name: 'security_awareness_approvals' }),
90
+ __metadata("design:paramtypes", [Number, Number, String, String, Number, Object, Object, Object, Object, Object, Number, Number])
91
+ ], SecurityAwarenessApproval);
@@ -0,0 +1,12 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare class SecurityAwarenessAttachment extends BaseModel {
3
+ request_id: number;
4
+ service_id: number | null;
5
+ sub_service_id: number | null;
6
+ file_url: string;
7
+ file_name: string;
8
+ file_type: string;
9
+ file_size: number | null;
10
+ chat_id: number | null;
11
+ constructor(request_id: number, file_url: string, file_name?: string, file_type?: string, file_size?: number, service_id?: number, sub_service_id?: number, chat_id?: number);
12
+ }
@@ -0,0 +1,64 @@
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.SecurityAwarenessAttachment = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ let SecurityAwarenessAttachment = class SecurityAwarenessAttachment extends BaseModel_1.BaseModel {
16
+ constructor(request_id, file_url, file_name, file_type, file_size, service_id, sub_service_id, chat_id) {
17
+ super();
18
+ this.request_id = request_id;
19
+ this.service_id = service_id || null;
20
+ this.sub_service_id = sub_service_id || null;
21
+ this.file_url = file_url;
22
+ this.file_name = file_name || '';
23
+ this.file_type = file_type || '';
24
+ this.file_size = file_size || null;
25
+ this.chat_id = chat_id || null;
26
+ }
27
+ };
28
+ exports.SecurityAwarenessAttachment = SecurityAwarenessAttachment;
29
+ __decorate([
30
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
31
+ __metadata("design:type", Number)
32
+ ], SecurityAwarenessAttachment.prototype, "request_id", void 0);
33
+ __decorate([
34
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
35
+ __metadata("design:type", Object)
36
+ ], SecurityAwarenessAttachment.prototype, "service_id", void 0);
37
+ __decorate([
38
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
39
+ __metadata("design:type", Object)
40
+ ], SecurityAwarenessAttachment.prototype, "sub_service_id", void 0);
41
+ __decorate([
42
+ (0, typeorm_1.Column)({ type: 'varchar', length: 500, nullable: false }),
43
+ __metadata("design:type", String)
44
+ ], SecurityAwarenessAttachment.prototype, "file_url", void 0);
45
+ __decorate([
46
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
47
+ __metadata("design:type", String)
48
+ ], SecurityAwarenessAttachment.prototype, "file_name", void 0);
49
+ __decorate([
50
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: true }),
51
+ __metadata("design:type", String)
52
+ ], SecurityAwarenessAttachment.prototype, "file_type", void 0);
53
+ __decorate([
54
+ (0, typeorm_1.Column)({ type: 'bigint', nullable: true }),
55
+ __metadata("design:type", Object)
56
+ ], SecurityAwarenessAttachment.prototype, "file_size", void 0);
57
+ __decorate([
58
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
59
+ __metadata("design:type", Object)
60
+ ], SecurityAwarenessAttachment.prototype, "chat_id", void 0);
61
+ exports.SecurityAwarenessAttachment = SecurityAwarenessAttachment = __decorate([
62
+ (0, typeorm_1.Entity)({ name: 'security_awareness_attachments' }),
63
+ __metadata("design:paramtypes", [Number, String, String, String, Number, Number, Number, Number])
64
+ ], SecurityAwarenessAttachment);
@@ -0,0 +1,20 @@
1
+ import { BaseModel } from './BaseModel';
2
+ import { SecurityAwarenessApprovalStatus } from './SecurityAwarenessApprovalModel';
3
+ export declare enum SecurityAwarenessMessageType {
4
+ TEXT = "text",
5
+ IMAGE = "image",
6
+ VIDEO = "video",
7
+ FILE = "file",
8
+ LINK = "link"
9
+ }
10
+ export declare class SecurityAwarenessChat extends BaseModel {
11
+ request_id: number;
12
+ service_id: number | null;
13
+ sub_service_id: number | null;
14
+ user_id: number;
15
+ role_id: number;
16
+ message: string;
17
+ messageType: SecurityAwarenessMessageType;
18
+ status: SecurityAwarenessApprovalStatus;
19
+ constructor(request_id: number, user_id: number, role_id: number, message: string, service_id?: number, sub_service_id?: number, messageType?: SecurityAwarenessMessageType, status?: SecurityAwarenessApprovalStatus);
20
+ }
@@ -0,0 +1,78 @@
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.SecurityAwarenessChat = exports.SecurityAwarenessMessageType = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ const SecurityAwarenessApprovalModel_1 = require("./SecurityAwarenessApprovalModel");
16
+ var SecurityAwarenessMessageType;
17
+ (function (SecurityAwarenessMessageType) {
18
+ SecurityAwarenessMessageType["TEXT"] = "text";
19
+ SecurityAwarenessMessageType["IMAGE"] = "image";
20
+ SecurityAwarenessMessageType["VIDEO"] = "video";
21
+ SecurityAwarenessMessageType["FILE"] = "file";
22
+ SecurityAwarenessMessageType["LINK"] = "link";
23
+ })(SecurityAwarenessMessageType || (exports.SecurityAwarenessMessageType = SecurityAwarenessMessageType = {}));
24
+ let SecurityAwarenessChat = class SecurityAwarenessChat extends BaseModel_1.BaseModel {
25
+ constructor(request_id, user_id, role_id, message, service_id, sub_service_id, messageType, status) {
26
+ super();
27
+ this.request_id = request_id;
28
+ this.service_id = service_id || null;
29
+ this.sub_service_id = sub_service_id || null;
30
+ this.user_id = user_id;
31
+ this.role_id = role_id;
32
+ this.message = message;
33
+ this.messageType = messageType || SecurityAwarenessMessageType.TEXT;
34
+ this.status = status || SecurityAwarenessApprovalModel_1.SecurityAwarenessApprovalStatus.PENDING;
35
+ }
36
+ };
37
+ exports.SecurityAwarenessChat = SecurityAwarenessChat;
38
+ __decorate([
39
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
40
+ __metadata("design:type", Number)
41
+ ], SecurityAwarenessChat.prototype, "request_id", void 0);
42
+ __decorate([
43
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
44
+ __metadata("design:type", Object)
45
+ ], SecurityAwarenessChat.prototype, "service_id", void 0);
46
+ __decorate([
47
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
48
+ __metadata("design:type", Object)
49
+ ], SecurityAwarenessChat.prototype, "sub_service_id", void 0);
50
+ __decorate([
51
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
52
+ __metadata("design:type", Number)
53
+ ], SecurityAwarenessChat.prototype, "user_id", void 0);
54
+ __decorate([
55
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
56
+ __metadata("design:type", Number)
57
+ ], SecurityAwarenessChat.prototype, "role_id", void 0);
58
+ __decorate([
59
+ (0, typeorm_1.Column)({ type: 'text', nullable: false }),
60
+ __metadata("design:type", String)
61
+ ], SecurityAwarenessChat.prototype, "message", void 0);
62
+ __decorate([
63
+ (0, typeorm_1.Column)({
64
+ type: 'enum',
65
+ enum: SecurityAwarenessMessageType,
66
+ default: SecurityAwarenessMessageType.TEXT,
67
+ nullable: false
68
+ }),
69
+ __metadata("design:type", String)
70
+ ], SecurityAwarenessChat.prototype, "messageType", void 0);
71
+ __decorate([
72
+ (0, typeorm_1.Column)({ type: 'enum', enum: SecurityAwarenessApprovalModel_1.SecurityAwarenessApprovalStatus, default: SecurityAwarenessApprovalModel_1.SecurityAwarenessApprovalStatus.PENDING, nullable: false }),
73
+ __metadata("design:type", String)
74
+ ], SecurityAwarenessChat.prototype, "status", void 0);
75
+ exports.SecurityAwarenessChat = SecurityAwarenessChat = __decorate([
76
+ (0, typeorm_1.Entity)({ name: 'security_awareness_chats' }),
77
+ __metadata("design:paramtypes", [Number, Number, Number, String, Number, Number, String, String])
78
+ ], SecurityAwarenessChat);
@@ -0,0 +1,29 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare enum SecurityAwarenessRequestStatus {
3
+ PENDING = "Pending",
4
+ ASSIGNED = "Assigned",
5
+ IN_PROGRESS = "In Progress",
6
+ APPROVED = "Approved",
7
+ REJECTED = "Rejected"
8
+ }
9
+ export declare enum MediaCoverageRequired {
10
+ YES = "Yes",
11
+ NO = "No"
12
+ }
13
+ export declare class SecurityAwarenessRequest extends BaseModel {
14
+ req_user_department_id: number | null;
15
+ req_user_section_id: number | null;
16
+ service_id: number;
17
+ sub_service_id: number;
18
+ user_id: number;
19
+ title: string;
20
+ date_of_submission: Date;
21
+ phone_number: string;
22
+ place: string | null;
23
+ description: string | null;
24
+ event_date_time: Date | null;
25
+ media_coverage_required: MediaCoverageRequired;
26
+ status: SecurityAwarenessRequestStatus;
27
+ workflow_execution_id: string | null;
28
+ constructor(req_user_department_id: number | null, req_user_section_id: number | null, service_id: number, sub_service_id: number, user_id: number, title: string, date_of_submission: Date, phone_number: string, place: string | null, description: string | null, event_date_time: Date | null, media_coverage_required: MediaCoverageRequired, status: SecurityAwarenessRequestStatus, workflow_execution_id?: string | null);
29
+ }
@@ -0,0 +1,117 @@
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.SecurityAwarenessRequest = exports.MediaCoverageRequired = exports.SecurityAwarenessRequestStatus = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var SecurityAwarenessRequestStatus;
16
+ (function (SecurityAwarenessRequestStatus) {
17
+ SecurityAwarenessRequestStatus["PENDING"] = "Pending";
18
+ SecurityAwarenessRequestStatus["ASSIGNED"] = "Assigned";
19
+ SecurityAwarenessRequestStatus["IN_PROGRESS"] = "In Progress";
20
+ SecurityAwarenessRequestStatus["APPROVED"] = "Approved";
21
+ SecurityAwarenessRequestStatus["REJECTED"] = "Rejected";
22
+ })(SecurityAwarenessRequestStatus || (exports.SecurityAwarenessRequestStatus = SecurityAwarenessRequestStatus = {}));
23
+ var MediaCoverageRequired;
24
+ (function (MediaCoverageRequired) {
25
+ MediaCoverageRequired["YES"] = "Yes";
26
+ MediaCoverageRequired["NO"] = "No";
27
+ })(MediaCoverageRequired || (exports.MediaCoverageRequired = MediaCoverageRequired = {}));
28
+ let SecurityAwarenessRequest = class SecurityAwarenessRequest extends BaseModel_1.BaseModel {
29
+ constructor(req_user_department_id, req_user_section_id, service_id, sub_service_id, user_id, title, date_of_submission, phone_number, place, description, event_date_time, media_coverage_required, status, workflow_execution_id) {
30
+ super();
31
+ this.req_user_department_id = req_user_department_id ?? null;
32
+ this.req_user_section_id = req_user_section_id ?? null;
33
+ this.service_id = service_id;
34
+ this.sub_service_id = sub_service_id;
35
+ this.user_id = user_id;
36
+ this.title = title;
37
+ this.date_of_submission = date_of_submission;
38
+ this.phone_number = phone_number;
39
+ this.place = place ?? null;
40
+ this.description = description ?? null;
41
+ this.event_date_time = event_date_time ?? null;
42
+ this.media_coverage_required = media_coverage_required;
43
+ this.status = status;
44
+ this.workflow_execution_id = workflow_execution_id ?? null;
45
+ }
46
+ };
47
+ exports.SecurityAwarenessRequest = SecurityAwarenessRequest;
48
+ __decorate([
49
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
50
+ __metadata("design:type", Object)
51
+ ], SecurityAwarenessRequest.prototype, "req_user_department_id", void 0);
52
+ __decorate([
53
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
54
+ __metadata("design:type", Object)
55
+ ], SecurityAwarenessRequest.prototype, "req_user_section_id", void 0);
56
+ __decorate([
57
+ (0, typeorm_1.Column)({ nullable: true }),
58
+ __metadata("design:type", Number)
59
+ ], SecurityAwarenessRequest.prototype, "service_id", void 0);
60
+ __decorate([
61
+ (0, typeorm_1.Column)({ nullable: true }),
62
+ __metadata("design:type", Number)
63
+ ], SecurityAwarenessRequest.prototype, "sub_service_id", void 0);
64
+ __decorate([
65
+ (0, typeorm_1.Column)({ nullable: false }),
66
+ __metadata("design:type", Number)
67
+ ], SecurityAwarenessRequest.prototype, "user_id", void 0);
68
+ __decorate([
69
+ (0, typeorm_1.Column)({ nullable: false }),
70
+ __metadata("design:type", String)
71
+ ], SecurityAwarenessRequest.prototype, "title", void 0);
72
+ __decorate([
73
+ (0, typeorm_1.Column)({ type: "date", nullable: false }),
74
+ __metadata("design:type", Date)
75
+ ], SecurityAwarenessRequest.prototype, "date_of_submission", void 0);
76
+ __decorate([
77
+ (0, typeorm_1.Column)({ type: "varchar", length: 20, nullable: false }),
78
+ __metadata("design:type", String)
79
+ ], SecurityAwarenessRequest.prototype, "phone_number", void 0);
80
+ __decorate([
81
+ (0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: true }),
82
+ __metadata("design:type", Object)
83
+ ], SecurityAwarenessRequest.prototype, "place", void 0);
84
+ __decorate([
85
+ (0, typeorm_1.Column)({ type: "text", nullable: true }),
86
+ __metadata("design:type", Object)
87
+ ], SecurityAwarenessRequest.prototype, "description", void 0);
88
+ __decorate([
89
+ (0, typeorm_1.Column)({ type: "timestamp", nullable: true }),
90
+ __metadata("design:type", Object)
91
+ ], SecurityAwarenessRequest.prototype, "event_date_time", void 0);
92
+ __decorate([
93
+ (0, typeorm_1.Column)({
94
+ type: "enum",
95
+ enum: MediaCoverageRequired,
96
+ default: MediaCoverageRequired.NO,
97
+ nullable: false,
98
+ }),
99
+ __metadata("design:type", String)
100
+ ], SecurityAwarenessRequest.prototype, "media_coverage_required", void 0);
101
+ __decorate([
102
+ (0, typeorm_1.Column)({
103
+ type: "enum",
104
+ enum: SecurityAwarenessRequestStatus,
105
+ default: SecurityAwarenessRequestStatus.PENDING,
106
+ nullable: false,
107
+ }),
108
+ __metadata("design:type", String)
109
+ ], SecurityAwarenessRequest.prototype, "status", void 0);
110
+ __decorate([
111
+ (0, typeorm_1.Column)({ type: "varchar", nullable: true }),
112
+ __metadata("design:type", Object)
113
+ ], SecurityAwarenessRequest.prototype, "workflow_execution_id", void 0);
114
+ exports.SecurityAwarenessRequest = SecurityAwarenessRequest = __decorate([
115
+ (0, typeorm_1.Entity)({ name: 'security_awareness_requests' }),
116
+ __metadata("design:paramtypes", [Object, Object, Number, Number, Number, String, Date, String, Object, Object, Object, String, String, Object])
117
+ ], SecurityAwarenessRequest);
@@ -0,0 +1,14 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare enum SecurityAwarenessWorkFlowStatus {
3
+ COMPLETED = "Completed",
4
+ NOT_YET_STARTED = "Not Yet Started",
5
+ PENDING = "Pending"
6
+ }
7
+ export declare class SecurityAwarenessWorkFlow extends BaseModel {
8
+ request_id: number;
9
+ service_id: number | null;
10
+ sub_service_id: number | null;
11
+ content: string;
12
+ status: SecurityAwarenessWorkFlowStatus;
13
+ constructor(request_id: number, content: string, status: SecurityAwarenessWorkFlowStatus, service_id?: number, sub_service_id?: number);
14
+ }
@@ -0,0 +1,56 @@
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.SecurityAwarenessWorkFlow = exports.SecurityAwarenessWorkFlowStatus = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var SecurityAwarenessWorkFlowStatus;
16
+ (function (SecurityAwarenessWorkFlowStatus) {
17
+ SecurityAwarenessWorkFlowStatus["COMPLETED"] = "Completed";
18
+ SecurityAwarenessWorkFlowStatus["NOT_YET_STARTED"] = "Not Yet Started";
19
+ SecurityAwarenessWorkFlowStatus["PENDING"] = "Pending";
20
+ })(SecurityAwarenessWorkFlowStatus || (exports.SecurityAwarenessWorkFlowStatus = SecurityAwarenessWorkFlowStatus = {}));
21
+ //This model is used to store the security awareness workflow status and activity logs
22
+ let SecurityAwarenessWorkFlow = class SecurityAwarenessWorkFlow extends BaseModel_1.BaseModel {
23
+ constructor(request_id, content, status, service_id, sub_service_id) {
24
+ super();
25
+ this.request_id = request_id;
26
+ this.service_id = service_id || null;
27
+ this.sub_service_id = sub_service_id || null;
28
+ this.content = content;
29
+ this.status = status;
30
+ }
31
+ };
32
+ exports.SecurityAwarenessWorkFlow = SecurityAwarenessWorkFlow;
33
+ __decorate([
34
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
35
+ __metadata("design:type", Number)
36
+ ], SecurityAwarenessWorkFlow.prototype, "request_id", void 0);
37
+ __decorate([
38
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
39
+ __metadata("design:type", Object)
40
+ ], SecurityAwarenessWorkFlow.prototype, "service_id", void 0);
41
+ __decorate([
42
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
43
+ __metadata("design:type", Object)
44
+ ], SecurityAwarenessWorkFlow.prototype, "sub_service_id", void 0);
45
+ __decorate([
46
+ (0, typeorm_1.Column)({ type: 'varchar', length: 500, nullable: false }),
47
+ __metadata("design:type", String)
48
+ ], SecurityAwarenessWorkFlow.prototype, "content", void 0);
49
+ __decorate([
50
+ (0, typeorm_1.Column)({ type: 'enum', enum: SecurityAwarenessWorkFlowStatus, default: SecurityAwarenessWorkFlowStatus.NOT_YET_STARTED, nullable: false }),
51
+ __metadata("design:type", String)
52
+ ], SecurityAwarenessWorkFlow.prototype, "status", void 0);
53
+ exports.SecurityAwarenessWorkFlow = SecurityAwarenessWorkFlow = __decorate([
54
+ (0, typeorm_1.Entity)({ name: 'security_awareness_workflows' }),
55
+ __metadata("design:paramtypes", [Number, String, String, Number, Number])
56
+ ], SecurityAwarenessWorkFlow);
@@ -1,9 +0,0 @@
1
- import { BaseModel } from './BaseModel';
2
- export declare class Workflows extends BaseModel {
3
- name: string;
4
- service_id: number;
5
- sub_service_id: number;
6
- request_for: string;
7
- levels: number;
8
- constructor(name: string, service_id: number, sub_service_id: number, request_for: string, levels: number);
9
- }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platform-modules/civil-aviation-authority",
3
- "version": "2.2.83",
3
+ "version": "2.2.85",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -62,6 +62,11 @@ import { SecurityThreatApproval } from './models/SecurityThreatApprovalModel';
62
62
  import { SecurityThreatAttachment } from './models/SecurityThreatAttachmentModel';
63
63
  import { SecurityThreatChat } from './models/SecurityThreatChatModel';
64
64
  import { SecurityThreatWorkFlow } from './models/SecurityThreatWorkflowModel';
65
+ import { SecurityAwarenessRequest } from './models/SecurityAwarenessRequestModel';
66
+ import { SecurityAwarenessApproval } from './models/SecurityAwarenessApprovalModel';
67
+ import { SecurityAwarenessAttachment } from './models/SecurityAwarenessAttachmentModel';
68
+ import { SecurityAwarenessChat } from './models/SecurityAwarenessChatModel';
69
+ import { SecurityAwarenessWorkFlow } from './models/SecurityAwarenessWorkflowModel';
65
70
 
66
71
  export const AppDataSource = new DataSource({
67
72
  type: 'postgres',
@@ -130,6 +135,11 @@ export const AppDataSource = new DataSource({
130
135
  SecurityThreatApproval,
131
136
  SecurityThreatAttachment,
132
137
  SecurityThreatChat,
133
- SecurityThreatWorkFlow
138
+ SecurityThreatWorkFlow,
139
+ SecurityAwarenessRequest,
140
+ SecurityAwarenessApproval,
141
+ SecurityAwarenessAttachment,
142
+ SecurityAwarenessChat,
143
+ SecurityAwarenessWorkFlow
134
144
  ],
135
145
  });
package/src/index.ts CHANGED
@@ -57,3 +57,8 @@ export * from './models/SecurityThreatApprovalModel';
57
57
  export * from './models/SecurityThreatAttachmentModel';
58
58
  export * from './models/SecurityThreatChatModel';
59
59
  export * from './models/SecurityThreatWorkflowModel';
60
+ export * from './models/SecurityAwarenessRequestModel';
61
+ export * from './models/SecurityAwarenessApprovalModel';
62
+ export * from './models/SecurityAwarenessAttachmentModel';
63
+ export * from './models/SecurityAwarenessChatModel';
64
+ export * from './models/SecurityAwarenessWorkflowModel';
@@ -0,0 +1,79 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+
5
+ export enum SecurityAwarenessApprovalStatus {
6
+ PENDING = "Pending",
7
+ IN_PROGRESS = "In Progress",
8
+ APPROVED = "Approved",
9
+ REJECTED = "Rejected"
10
+ }
11
+
12
+ @Entity({ name: 'security_awareness_approvals' })
13
+ export class SecurityAwarenessApproval extends BaseModel {
14
+ @Column({ type: 'integer', nullable: false })
15
+ request_id: number;
16
+
17
+ @Column({ type: 'integer', nullable: true })
18
+ service_id: number | null;
19
+
20
+ @Column({ type: 'integer', nullable: true })
21
+ sub_service_id: number | null;
22
+
23
+ @Column({ type: 'integer', nullable: false })
24
+ level: number;
25
+
26
+ @Column({ type: 'integer', nullable: true })
27
+ approver_role_id: number;
28
+
29
+ @Column({ type: 'integer', nullable: true })
30
+ department_id: number | null;
31
+
32
+ @Column({ type: 'integer', nullable: true })
33
+ section_id: number | null;
34
+
35
+ @Column({ type: 'integer', nullable: true })
36
+ approver_user_id: number | null;
37
+
38
+ @Column({ type: 'integer', nullable: true })
39
+ delegate_user_id: number | null;
40
+
41
+ @Column({ type: 'integer', nullable: true })
42
+ approved_by: number | null;
43
+
44
+ @Column({ type: 'varchar', length: 500, nullable: true, default: '' })
45
+ comment: string;
46
+
47
+ @Column({ type: 'enum', enum: SecurityAwarenessApprovalStatus, default: SecurityAwarenessApprovalStatus.PENDING, nullable: false })
48
+ approval_status: SecurityAwarenessApprovalStatus;
49
+
50
+ constructor(
51
+ request_id: number,
52
+ approver_role_id: number,
53
+ comment: string,
54
+ approval_status: SecurityAwarenessApprovalStatus,
55
+ level: number,
56
+ department_id?: number | null,
57
+ section_id?: number | null,
58
+ approver_user_id?: number | null,
59
+ delegate_user_id?: number | null,
60
+ approved_by?: number | null,
61
+ service_id?: number,
62
+ sub_service_id?: number
63
+ ) {
64
+ super();
65
+ this.request_id = request_id;
66
+ this.service_id = service_id || null;
67
+ this.sub_service_id = sub_service_id || null;
68
+ this.approver_role_id = approver_role_id;
69
+ this.comment = comment;
70
+ this.approval_status = approval_status;
71
+ this.level = level;
72
+ this.department_id = department_id || null;
73
+ this.section_id = section_id || null;
74
+ this.approver_user_id = approver_user_id || null;
75
+ this.delegate_user_id = delegate_user_id || null;
76
+ this.approved_by = approved_by || null;
77
+ }
78
+ }
79
+
@@ -0,0 +1,52 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ @Entity({ name: 'security_awareness_attachments' })
5
+ export class SecurityAwarenessAttachment 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: 'varchar', length: 500, nullable: false })
17
+ file_url: string;
18
+
19
+ @Column({ type: 'varchar', length: 255, nullable: true })
20
+ file_name: string;
21
+
22
+ @Column({ type: 'varchar', length: 100, nullable: true })
23
+ file_type: string;
24
+
25
+ @Column({ type: 'bigint', nullable: true })
26
+ file_size: number | null;
27
+
28
+ @Column({ type: 'integer', nullable: true })
29
+ chat_id: number | null;
30
+
31
+ constructor(
32
+ request_id: number,
33
+ file_url: string,
34
+ file_name?: string,
35
+ file_type?: string,
36
+ file_size?: number,
37
+ service_id?: number,
38
+ sub_service_id?: number,
39
+ chat_id?: number
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.file_url = file_url;
46
+ this.file_name = file_name || '';
47
+ this.file_type = file_type || '';
48
+ this.file_size = file_size || null;
49
+ this.chat_id = chat_id || null;
50
+ }
51
+ }
52
+
@@ -0,0 +1,66 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+ import { SecurityAwarenessApprovalStatus } from './SecurityAwarenessApprovalModel';
4
+
5
+ export enum SecurityAwarenessMessageType {
6
+ TEXT = "text",
7
+ IMAGE = "image",
8
+ VIDEO = "video",
9
+ FILE = "file",
10
+ LINK = "link"
11
+ }
12
+
13
+ @Entity({ name: 'security_awareness_chats' })
14
+ export class SecurityAwarenessChat extends BaseModel {
15
+
16
+ @Column({ type: 'integer', nullable: false })
17
+ request_id: number;
18
+
19
+ @Column({ type: 'integer', nullable: true })
20
+ service_id: number | null;
21
+
22
+ @Column({ type: 'integer', nullable: true })
23
+ sub_service_id: number | null;
24
+
25
+ @Column({ type: 'integer', nullable: false })
26
+ user_id: number;
27
+
28
+ @Column({ type: 'integer', nullable: true })
29
+ role_id: number;
30
+
31
+ @Column({ type: 'text', nullable: false })
32
+ message: string;
33
+
34
+ @Column({
35
+ type: 'enum',
36
+ enum: SecurityAwarenessMessageType,
37
+ default: SecurityAwarenessMessageType.TEXT,
38
+ nullable: false
39
+ })
40
+ messageType: SecurityAwarenessMessageType;
41
+
42
+ @Column({ type: 'enum', enum: SecurityAwarenessApprovalStatus, default: SecurityAwarenessApprovalStatus.PENDING, nullable: false })
43
+ status: SecurityAwarenessApprovalStatus;
44
+
45
+ constructor(
46
+ request_id: number,
47
+ user_id: number,
48
+ role_id: number,
49
+ message: string,
50
+ service_id?: number,
51
+ sub_service_id?: number,
52
+ messageType?: SecurityAwarenessMessageType,
53
+ status?: SecurityAwarenessApprovalStatus
54
+ ) {
55
+ super();
56
+ this.request_id = request_id;
57
+ this.service_id = service_id || null;
58
+ this.sub_service_id = sub_service_id || null;
59
+ this.user_id = user_id;
60
+ this.role_id = role_id;
61
+ this.message = message;
62
+ this.messageType = messageType || SecurityAwarenessMessageType.TEXT;
63
+ this.status = status || SecurityAwarenessApprovalStatus.PENDING;
64
+ }
65
+ }
66
+
@@ -0,0 +1,105 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum SecurityAwarenessRequestStatus {
5
+ PENDING = "Pending",
6
+ ASSIGNED = "Assigned",
7
+ IN_PROGRESS = "In Progress",
8
+ APPROVED = "Approved",
9
+ REJECTED = "Rejected"
10
+ }
11
+
12
+ export enum MediaCoverageRequired {
13
+ YES = "Yes",
14
+ NO = "No"
15
+ }
16
+
17
+ @Entity({ name: 'security_awareness_requests' })
18
+ export class SecurityAwarenessRequest extends BaseModel {
19
+
20
+ @Column({ type: 'int', nullable: true })
21
+ req_user_department_id: number | null;
22
+
23
+ @Column({ type: 'int', nullable: true })
24
+ req_user_section_id: number | null;
25
+
26
+ @Column({ nullable: true })
27
+ service_id: number;
28
+
29
+ @Column({ nullable: true })
30
+ sub_service_id: number;
31
+
32
+ @Column({ nullable: false })
33
+ user_id: number;
34
+
35
+ @Column({ nullable: false })
36
+ title: string;
37
+
38
+ @Column({ type: "date", nullable: false })
39
+ date_of_submission: Date;
40
+
41
+ @Column({ type: "varchar", length: 20, nullable: false })
42
+ phone_number: string;
43
+
44
+ @Column({ type: "varchar", length: 255, nullable: true })
45
+ place: string | null;
46
+
47
+ @Column({ type: "text", nullable: true })
48
+ description: string | null;
49
+
50
+ @Column({ type: "timestamp", nullable: true })
51
+ event_date_time: Date | null;
52
+
53
+ @Column({
54
+ type: "enum",
55
+ enum: MediaCoverageRequired,
56
+ default: MediaCoverageRequired.NO,
57
+ nullable: false,
58
+ })
59
+ media_coverage_required: MediaCoverageRequired;
60
+
61
+ @Column({
62
+ type: "enum",
63
+ enum: SecurityAwarenessRequestStatus,
64
+ default: SecurityAwarenessRequestStatus.PENDING,
65
+ nullable: false,
66
+ })
67
+ status: SecurityAwarenessRequestStatus;
68
+
69
+ @Column({ type: "varchar", nullable: true })
70
+ workflow_execution_id: string | null;
71
+
72
+ constructor(
73
+ req_user_department_id: number | null,
74
+ req_user_section_id: number | null,
75
+ service_id: number,
76
+ sub_service_id: number,
77
+ user_id: number,
78
+ title: string,
79
+ date_of_submission: Date,
80
+ phone_number: string,
81
+ place: string | null,
82
+ description: string | null,
83
+ event_date_time: Date | null,
84
+ media_coverage_required: MediaCoverageRequired,
85
+ status: SecurityAwarenessRequestStatus,
86
+ workflow_execution_id?: string | null,
87
+ ) {
88
+ super();
89
+ this.req_user_department_id = req_user_department_id ?? null;
90
+ this.req_user_section_id = req_user_section_id ?? null;
91
+ this.service_id = service_id;
92
+ this.sub_service_id = sub_service_id;
93
+ this.user_id = user_id;
94
+ this.title = title;
95
+ this.date_of_submission = date_of_submission;
96
+ this.phone_number = phone_number;
97
+ this.place = place ?? null;
98
+ this.description = description ?? null;
99
+ this.event_date_time = event_date_time ?? null;
100
+ this.media_coverage_required = media_coverage_required;
101
+ this.status = status;
102
+ this.workflow_execution_id = workflow_execution_id ?? null;
103
+ }
104
+ }
105
+
@@ -0,0 +1,43 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum SecurityAwarenessWorkFlowStatus {
5
+ COMPLETED = "Completed",
6
+ NOT_YET_STARTED = "Not Yet Started",
7
+ PENDING = "Pending"
8
+ }
9
+
10
+ //This model is used to store the security awareness workflow status and activity logs
11
+ @Entity({ name: 'security_awareness_workflows' })
12
+ export class SecurityAwarenessWorkFlow 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: 'varchar', length: 500, nullable: false })
23
+ content: string;
24
+
25
+ @Column({ type: 'enum', enum: SecurityAwarenessWorkFlowStatus, default: SecurityAwarenessWorkFlowStatus.NOT_YET_STARTED, nullable: false })
26
+ status: SecurityAwarenessWorkFlowStatus;
27
+
28
+ constructor(
29
+ request_id: number,
30
+ content: string,
31
+ status: SecurityAwarenessWorkFlowStatus,
32
+ service_id?: number,
33
+ sub_service_id?: number
34
+ ) {
35
+ super();
36
+ this.request_id = request_id;
37
+ this.service_id = service_id || null;
38
+ this.sub_service_id = sub_service_id || null;
39
+ this.content = content;
40
+ this.status = status;
41
+ }
42
+ }
43
+