@platform-modules/civil-aviation-authority 2.3.127 → 2.3.128

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 (52) hide show
  1. package/.env +17 -9
  2. package/dist/models/DocumentMetadataModel.d.ts +45 -0
  3. package/dist/models/DocumentMetadataModel.js +171 -0
  4. package/dist/models/DocumentationDepartmentsModel.d.ts +13 -0
  5. package/dist/models/DocumentationDepartmentsModel.js +53 -0
  6. package/dist/models/FolderModel.d.ts +16 -0
  7. package/dist/models/FolderModel.js +85 -0
  8. package/dist/models/HousingContractCancelChatModel.d.ts +10 -0
  9. package/dist/models/HousingContractCancelChatModel.js +21 -1
  10. package/dist/models/HousingContractRenewalChatModel.d.ts +13 -0
  11. package/dist/models/HousingContractRenewalChatModel.js +22 -1
  12. package/dist/models/PermissionModel.d.ts +18 -0
  13. package/dist/models/PermissionModel.js +68 -0
  14. package/dist/models/ResidentialUnitRentalChatModel.d.ts +10 -0
  15. package/dist/models/ResidentialUnitRentalChatModel.js +29 -9
  16. package/dist/models/UUIDBaseModel.d.ts +14 -0
  17. package/dist/models/UUIDBaseModel.js +66 -0
  18. package/package.json +1 -1
  19. package/src/data-source.ts +303 -303
  20. package/src/index.ts +304 -304
  21. package/src/models/AnnualIncrementRequestEmployeeModel.ts +65 -65
  22. package/src/models/AnnualIncrementRequestModel.ts +25 -25
  23. package/src/models/AnnualTrainingPlanRequestModel.ts +153 -153
  24. package/src/models/CashAllowanceLeaveRequestModel.ts +11 -11
  25. package/src/models/DepartmentsModel.ts +25 -25
  26. package/src/models/DocumentDriveModel.ts +28 -28
  27. package/src/models/DocumentFolderModel.ts +45 -45
  28. package/src/models/HousingContractCancelChatModel.ts +17 -0
  29. package/src/models/HousingContractRenewalChatModel.ts +20 -0
  30. package/src/models/HrServiceRequestModel.ts +193 -193
  31. package/src/models/ITRequestChatModel.ts +62 -62
  32. package/src/models/ItApprovalsModel.ts +84 -84
  33. package/src/models/ItWorkflowModel.ts +55 -55
  34. package/src/models/MissionTravelPassportExpiryNotificationConfigModel.ts +36 -36
  35. package/src/models/PerformanceCyclePeriodModel.ts +23 -23
  36. package/src/models/PerformanceGoalMasterModel.ts +27 -27
  37. package/src/models/PerformanceManagementRequestGoalModel.ts +36 -36
  38. package/src/models/PerformanceManagementRequestModel.ts +14 -14
  39. package/src/models/PromotionRequestModel.ts +11 -11
  40. package/src/models/ResidentialUnitRentalChatModel.ts +42 -75
  41. package/src/models/ServicesNotificationConfigModel.ts +55 -55
  42. package/src/models/StudyLeaveRequestModel.ts +144 -144
  43. package/src/models/TrainingRoomBookingRequestModel.ts +142 -142
  44. package/src/models/TrainingRoomNotificationConfigModel.ts +30 -30
  45. package/dist/models/ITApprovalSettings.d.ts +0 -7
  46. package/dist/models/ITApprovalSettings.js +0 -40
  47. package/dist/models/ITServicesTypesMuscatModel.d.ts +0 -6
  48. package/dist/models/ITServicesTypesMuscatModel.js +0 -34
  49. package/dist/models/ITServicesTypesSalalahModel.d.ts +0 -6
  50. package/dist/models/ITServicesTypesSalalahModel.js +0 -34
  51. package/dist/models/Workflows.d.ts +0 -9
  52. package/dist/models/Workflows.js +0 -31
package/.env CHANGED
@@ -1,12 +1,20 @@
1
- # DB_HOST=164.52.222.169
1
+ DB_HOST=164.52.222.169
2
+ DB_PORT=5432
3
+ DB_USER=postgres_admin_user
4
+ DB_PASS=pg_admin_user_pwd_caa_fa_$%^&OIukhjgcvbn
5
+ DB_NAME=CAA
6
+
7
+ # DB_HOST=216.48.187.46
2
8
  # DB_PORT=5432
3
- # DB_USER=postgres_admin_user
4
- # DB_PASS=pg_admin_user_pwd_caa_fa_$%^&OIukhjgcvbn
5
- # DB_NAME=CAA
9
+ # DB_USER=adminuser
10
+ # DB_PASS=postgres_caa_fm_qa_34567
11
+ # DB_NAME=CAA_QA
6
12
 
7
13
 
8
- DB_HOST=localhost
9
- DB_PORT=5432
10
- DB_USER=postgres
11
- DB_PASS=stevejobs
12
- DB_NAME=CAA
14
+
15
+
16
+ # DB_HOST=localhost
17
+ # DB_PORT=5432
18
+ # DB_USER=postgres
19
+ # DB_PASS=stevejobs
20
+ # DB_NAME=CAA
@@ -0,0 +1,45 @@
1
+ import { Departments } from './DepartmentsModel';
2
+ import { UUIDBaseModel } from './UUIDBaseModel';
3
+ export declare enum DocumentType {
4
+ POLICY = "policy",
5
+ PROCEDURE = "procedure",
6
+ MANUAL = "manual",
7
+ TEMPLATE = "template",
8
+ REPORT = "report"
9
+ }
10
+ export declare enum DocumentStatus {
11
+ ACTIVE = "active",
12
+ ARCHIVED = "archived",
13
+ DRAFT = "draft"
14
+ }
15
+ export declare enum AccessLevel {
16
+ GENERAL = "general",
17
+ RESTRICTED = "restricted"
18
+ }
19
+ export declare class DocumentMetadata extends UUIDBaseModel {
20
+ title: string;
21
+ description?: string;
22
+ original_name: string;
23
+ mime_type: string;
24
+ size: number;
25
+ mongodb_file_id: string;
26
+ document_type: DocumentType;
27
+ access_level: AccessLevel;
28
+ status: DocumentStatus;
29
+ version: string;
30
+ tags: string[];
31
+ is_sensitive: boolean;
32
+ department: Departments;
33
+ department_id: number;
34
+ folder_id?: string | null;
35
+ folder_path: string;
36
+ uploaded_by: string;
37
+ uploaded_by_name?: string;
38
+ authorized_person?: string;
39
+ allowed_roles: string[];
40
+ allowed_users: string[];
41
+ download_count: number;
42
+ last_accessed_at?: Date;
43
+ metadata?: Record<string, any>;
44
+ constructor(title: string, original_name: string, mime_type: string, size: number, mongodb_file_id: string, document_type: DocumentType, department_id: number, uploaded_by: string, access_level?: AccessLevel, status?: DocumentStatus, version?: string, folder_path?: string, created_by?: string, description?: string, folder_id?: string | null, uploaded_by_name?: string, authorized_person?: string, tags?: string[], allowed_roles?: string[], allowed_users?: string[], is_sensitive?: boolean, download_count?: number, last_accessed_at?: Date, metadata?: Record<string, any>);
45
+ }
@@ -0,0 +1,171 @@
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.DocumentMetadata = exports.AccessLevel = exports.DocumentStatus = exports.DocumentType = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const DepartmentsModel_1 = require("./DepartmentsModel");
15
+ const UUIDBaseModel_1 = require("./UUIDBaseModel");
16
+ var DocumentType;
17
+ (function (DocumentType) {
18
+ DocumentType["POLICY"] = "policy";
19
+ DocumentType["PROCEDURE"] = "procedure";
20
+ DocumentType["MANUAL"] = "manual";
21
+ DocumentType["TEMPLATE"] = "template";
22
+ DocumentType["REPORT"] = "report";
23
+ })(DocumentType || (exports.DocumentType = DocumentType = {}));
24
+ var DocumentStatus;
25
+ (function (DocumentStatus) {
26
+ DocumentStatus["ACTIVE"] = "active";
27
+ DocumentStatus["ARCHIVED"] = "archived";
28
+ DocumentStatus["DRAFT"] = "draft";
29
+ })(DocumentStatus || (exports.DocumentStatus = DocumentStatus = {}));
30
+ var AccessLevel;
31
+ (function (AccessLevel) {
32
+ AccessLevel["GENERAL"] = "general";
33
+ AccessLevel["RESTRICTED"] = "restricted";
34
+ })(AccessLevel || (exports.AccessLevel = AccessLevel = {}));
35
+ let DocumentMetadata = class DocumentMetadata extends UUIDBaseModel_1.UUIDBaseModel {
36
+ constructor(title, original_name, mime_type, size, mongodb_file_id, document_type, department_id, uploaded_by, access_level = AccessLevel.GENERAL, status = DocumentStatus.ACTIVE, version = '1.0.0', folder_path = '/', created_by, description, folder_id, uploaded_by_name, authorized_person, tags, allowed_roles, allowed_users, is_sensitive = false, download_count = 0, last_accessed_at, metadata) {
37
+ super();
38
+ this.title = title;
39
+ this.original_name = original_name;
40
+ this.mime_type = mime_type;
41
+ this.size = size;
42
+ this.mongodb_file_id = mongodb_file_id;
43
+ this.document_type = document_type;
44
+ this.department_id = department_id;
45
+ this.uploaded_by = uploaded_by;
46
+ this.access_level = access_level;
47
+ this.status = status;
48
+ this.version = version;
49
+ this.folder_path = folder_path;
50
+ this.description = description;
51
+ this.folder_id = folder_id;
52
+ this.uploaded_by_name = uploaded_by_name;
53
+ this.authorized_person = authorized_person;
54
+ this.tags = tags || [];
55
+ this.allowed_roles = allowed_roles || [];
56
+ this.allowed_users = allowed_users || [];
57
+ this.is_sensitive = is_sensitive;
58
+ this.download_count = download_count;
59
+ this.last_accessed_at = last_accessed_at;
60
+ this.metadata = metadata;
61
+ if (created_by) {
62
+ this.created_by = created_by;
63
+ }
64
+ }
65
+ };
66
+ exports.DocumentMetadata = DocumentMetadata;
67
+ __decorate([
68
+ (0, typeorm_1.Column)({ type: 'varchar', length: 500 }),
69
+ (0, typeorm_1.Index)(),
70
+ __metadata("design:type", String)
71
+ ], DocumentMetadata.prototype, "title", void 0);
72
+ __decorate([
73
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
74
+ __metadata("design:type", String)
75
+ ], DocumentMetadata.prototype, "description", void 0);
76
+ __decorate([
77
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255 }),
78
+ __metadata("design:type", String)
79
+ ], DocumentMetadata.prototype, "original_name", void 0);
80
+ __decorate([
81
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100 }),
82
+ __metadata("design:type", String)
83
+ ], DocumentMetadata.prototype, "mime_type", void 0);
84
+ __decorate([
85
+ (0, typeorm_1.Column)({ type: 'bigint' }),
86
+ __metadata("design:type", Number)
87
+ ], DocumentMetadata.prototype, "size", void 0);
88
+ __decorate([
89
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, unique: true }),
90
+ __metadata("design:type", String)
91
+ ], DocumentMetadata.prototype, "mongodb_file_id", void 0);
92
+ __decorate([
93
+ (0, typeorm_1.Column)({ type: 'enum', enum: DocumentType }),
94
+ (0, typeorm_1.Index)(),
95
+ __metadata("design:type", String)
96
+ ], DocumentMetadata.prototype, "document_type", void 0);
97
+ __decorate([
98
+ (0, typeorm_1.Column)({ type: 'enum', enum: AccessLevel, default: AccessLevel.GENERAL }),
99
+ (0, typeorm_1.Index)(),
100
+ __metadata("design:type", String)
101
+ ], DocumentMetadata.prototype, "access_level", void 0);
102
+ __decorate([
103
+ (0, typeorm_1.Column)({ type: 'enum', enum: DocumentStatus, default: DocumentStatus.ACTIVE }),
104
+ (0, typeorm_1.Index)(),
105
+ __metadata("design:type", String)
106
+ ], DocumentMetadata.prototype, "status", void 0);
107
+ __decorate([
108
+ (0, typeorm_1.Column)({ type: 'varchar', length: 50, default: '1.0.0' }),
109
+ __metadata("design:type", String)
110
+ ], DocumentMetadata.prototype, "version", void 0);
111
+ __decorate([
112
+ (0, typeorm_1.Column)({ type: 'text', array: true, default: [] }),
113
+ __metadata("design:type", Array)
114
+ ], DocumentMetadata.prototype, "tags", void 0);
115
+ __decorate([
116
+ (0, typeorm_1.Column)({ type: 'boolean', default: false }),
117
+ __metadata("design:type", Boolean)
118
+ ], DocumentMetadata.prototype, "is_sensitive", void 0);
119
+ __decorate([
120
+ (0, typeorm_1.ManyToOne)('Departments', { eager: true }),
121
+ (0, typeorm_1.JoinColumn)({ name: 'department_id' }),
122
+ __metadata("design:type", DepartmentsModel_1.Departments)
123
+ ], DocumentMetadata.prototype, "department", void 0);
124
+ __decorate([
125
+ (0, typeorm_1.Column)({ type: 'integer' }),
126
+ __metadata("design:type", Number)
127
+ ], DocumentMetadata.prototype, "department_id", void 0);
128
+ __decorate([
129
+ (0, typeorm_1.Column)({ type: 'uuid', nullable: true }),
130
+ __metadata("design:type", Object)
131
+ ], DocumentMetadata.prototype, "folder_id", void 0);
132
+ __decorate([
133
+ (0, typeorm_1.Column)({ type: 'varchar', length: 500, default: '/' }),
134
+ __metadata("design:type", String)
135
+ ], DocumentMetadata.prototype, "folder_path", void 0);
136
+ __decorate([
137
+ (0, typeorm_1.Column)({ type: 'uuid' }),
138
+ __metadata("design:type", String)
139
+ ], DocumentMetadata.prototype, "uploaded_by", void 0);
140
+ __decorate([
141
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
142
+ __metadata("design:type", String)
143
+ ], DocumentMetadata.prototype, "uploaded_by_name", void 0);
144
+ __decorate([
145
+ (0, typeorm_1.Column)({ type: 'uuid', nullable: true }),
146
+ __metadata("design:type", String)
147
+ ], DocumentMetadata.prototype, "authorized_person", void 0);
148
+ __decorate([
149
+ (0, typeorm_1.Column)({ type: 'text', array: true, default: [] }),
150
+ __metadata("design:type", Array)
151
+ ], DocumentMetadata.prototype, "allowed_roles", void 0);
152
+ __decorate([
153
+ (0, typeorm_1.Column)({ type: 'text', array: true, default: [] }),
154
+ __metadata("design:type", Array)
155
+ ], DocumentMetadata.prototype, "allowed_users", void 0);
156
+ __decorate([
157
+ (0, typeorm_1.Column)({ type: 'int', default: 0 }),
158
+ __metadata("design:type", Number)
159
+ ], DocumentMetadata.prototype, "download_count", void 0);
160
+ __decorate([
161
+ (0, typeorm_1.Column)({ type: 'timestamp', nullable: true }),
162
+ __metadata("design:type", Date)
163
+ ], DocumentMetadata.prototype, "last_accessed_at", void 0);
164
+ __decorate([
165
+ (0, typeorm_1.Column)({ type: 'jsonb', nullable: true }),
166
+ __metadata("design:type", Object)
167
+ ], DocumentMetadata.prototype, "metadata", void 0);
168
+ exports.DocumentMetadata = DocumentMetadata = __decorate([
169
+ (0, typeorm_1.Entity)({ name: 'document_metadata' }),
170
+ __metadata("design:paramtypes", [String, String, String, Number, String, String, Number, String, String, String, String, String, String, String, Object, String, String, Array, Array, Array, Boolean, Number, Date, Object])
171
+ ], DocumentMetadata);
@@ -0,0 +1,13 @@
1
+ import { BaseModel } from './BaseModel';
2
+ /**
3
+ * Documentation Service specific department configuration
4
+ * Links departments with authorized persons for document management
5
+ */
6
+ export declare class DocumentationDepartments extends BaseModel {
7
+ department_id: number;
8
+ authorized_person_id: string;
9
+ authorized_person_name?: string;
10
+ authorized_person_email?: string;
11
+ is_active: boolean;
12
+ constructor(department_id: number, authorized_person_id: string, authorized_person_name: string, authorized_person_email: string, is_active?: boolean);
13
+ }
@@ -0,0 +1,53 @@
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.DocumentationDepartments = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ /**
16
+ * Documentation Service specific department configuration
17
+ * Links departments with authorized persons for document management
18
+ */
19
+ let DocumentationDepartments = class DocumentationDepartments extends BaseModel_1.BaseModel {
20
+ constructor(department_id, authorized_person_id, authorized_person_name, authorized_person_email, is_active = true) {
21
+ super();
22
+ this.department_id = department_id;
23
+ this.authorized_person_id = authorized_person_id;
24
+ this.authorized_person_name = authorized_person_name;
25
+ this.authorized_person_email = authorized_person_email;
26
+ this.is_active = is_active;
27
+ }
28
+ };
29
+ exports.DocumentationDepartments = DocumentationDepartments;
30
+ __decorate([
31
+ (0, typeorm_1.Column)({ type: 'integer' }),
32
+ __metadata("design:type", Number)
33
+ ], DocumentationDepartments.prototype, "department_id", void 0);
34
+ __decorate([
35
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255 }),
36
+ __metadata("design:type", String)
37
+ ], DocumentationDepartments.prototype, "authorized_person_id", void 0);
38
+ __decorate([
39
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
40
+ __metadata("design:type", String)
41
+ ], DocumentationDepartments.prototype, "authorized_person_name", void 0);
42
+ __decorate([
43
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
44
+ __metadata("design:type", String)
45
+ ], DocumentationDepartments.prototype, "authorized_person_email", void 0);
46
+ __decorate([
47
+ (0, typeorm_1.Column)({ type: 'boolean', default: true }),
48
+ __metadata("design:type", Boolean)
49
+ ], DocumentationDepartments.prototype, "is_active", void 0);
50
+ exports.DocumentationDepartments = DocumentationDepartments = __decorate([
51
+ (0, typeorm_1.Entity)({ name: 'documentation_departments' }),
52
+ __metadata("design:paramtypes", [Number, String, String, String, Boolean])
53
+ ], DocumentationDepartments);
@@ -0,0 +1,16 @@
1
+ import { Departments } from './DepartmentsModel';
2
+ import { UUIDBaseModel } from './UUIDBaseModel';
3
+ export declare class Folder extends UUIDBaseModel {
4
+ name: string;
5
+ path: string;
6
+ parent_path?: string;
7
+ department: Departments;
8
+ department_id: number;
9
+ description?: string;
10
+ access_level: 'general' | 'restricted';
11
+ allowed_roles: string[];
12
+ allowed_users: string[];
13
+ created_by_name?: string;
14
+ is_active: boolean;
15
+ constructor(name: string, path: string, department_id: number, created_by: string, access_level?: 'general' | 'restricted', parent_path?: string, description?: string, created_by_name?: string, allowed_roles?: string[], allowed_users?: string[], is_active?: boolean);
16
+ }
@@ -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.Folder = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const DepartmentsModel_1 = require("./DepartmentsModel");
15
+ const UUIDBaseModel_1 = require("./UUIDBaseModel");
16
+ // Note: DocumentMetadata import removed to avoid circular dependency
17
+ // Use lazy loading or query builder when needed
18
+ let Folder = class Folder extends UUIDBaseModel_1.UUIDBaseModel {
19
+ constructor(name, path, department_id, created_by, access_level = 'general', parent_path, description, created_by_name, allowed_roles, allowed_users, is_active = true) {
20
+ super();
21
+ this.name = name;
22
+ this.path = path;
23
+ this.department_id = department_id;
24
+ this.created_by = created_by;
25
+ this.access_level = access_level;
26
+ this.parent_path = parent_path;
27
+ this.description = description;
28
+ this.created_by_name = created_by_name;
29
+ this.allowed_roles = allowed_roles || [];
30
+ this.allowed_users = allowed_users || [];
31
+ this.is_active = is_active;
32
+ }
33
+ };
34
+ exports.Folder = Folder;
35
+ __decorate([
36
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255 }),
37
+ __metadata("design:type", String)
38
+ ], Folder.prototype, "name", void 0);
39
+ __decorate([
40
+ (0, typeorm_1.Column)({ type: 'varchar', length: 1000 }),
41
+ __metadata("design:type", String)
42
+ ], Folder.prototype, "path", void 0);
43
+ __decorate([
44
+ (0, typeorm_1.Column)({ type: 'varchar', length: 1000, nullable: true }),
45
+ __metadata("design:type", String)
46
+ ], Folder.prototype, "parent_path", void 0);
47
+ __decorate([
48
+ (0, typeorm_1.ManyToOne)('Departments', { eager: true }),
49
+ (0, typeorm_1.JoinColumn)({ name: 'department_id' }),
50
+ __metadata("design:type", DepartmentsModel_1.Departments)
51
+ ], Folder.prototype, "department", void 0);
52
+ __decorate([
53
+ (0, typeorm_1.Column)({ type: 'integer' }),
54
+ __metadata("design:type", Number)
55
+ ], Folder.prototype, "department_id", void 0);
56
+ __decorate([
57
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
58
+ __metadata("design:type", String)
59
+ ], Folder.prototype, "description", void 0);
60
+ __decorate([
61
+ (0, typeorm_1.Column)({ type: 'enum', enum: ['general', 'restricted'], default: 'general' }),
62
+ (0, typeorm_1.Index)(),
63
+ __metadata("design:type", String)
64
+ ], Folder.prototype, "access_level", void 0);
65
+ __decorate([
66
+ (0, typeorm_1.Column)({ type: 'text', array: true, default: [] }),
67
+ __metadata("design:type", Array)
68
+ ], Folder.prototype, "allowed_roles", void 0);
69
+ __decorate([
70
+ (0, typeorm_1.Column)({ type: 'text', array: true, default: [] }),
71
+ __metadata("design:type", Array)
72
+ ], Folder.prototype, "allowed_users", void 0);
73
+ __decorate([
74
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
75
+ __metadata("design:type", String)
76
+ ], Folder.prototype, "created_by_name", void 0);
77
+ __decorate([
78
+ (0, typeorm_1.Column)({ type: 'boolean', default: true }),
79
+ (0, typeorm_1.Index)(),
80
+ __metadata("design:type", Boolean)
81
+ ], Folder.prototype, "is_active", void 0);
82
+ exports.Folder = Folder = __decorate([
83
+ (0, typeorm_1.Entity)({ name: 'folders' }),
84
+ __metadata("design:paramtypes", [String, String, Number, String, String, String, String, String, Array, Array, Boolean])
85
+ ], Folder);
@@ -6,11 +6,21 @@ export declare enum HousingContractCancelMessageType {
6
6
  file = "file",
7
7
  link = "link"
8
8
  }
9
+ export declare enum HousingContractCancelChatStatus {
10
+ Pending = "Pending",
11
+ Received = "Received",
12
+ Approved = "Approved",
13
+ Rejected = "Rejected",
14
+ InProgress = "In Progress"
15
+ }
9
16
  export declare class HousingContractCancelChat extends BaseModel {
10
17
  request_id: number;
11
18
  service_id: number;
12
19
  sub_service_id: number;
20
+ user_id: number;
13
21
  message: string;
22
+ approver_role_id: number | null;
23
+ status: string;
14
24
  message_type: string;
15
25
  is_internal: boolean;
16
26
  created_by: number;
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.HousingContractCancelChat = exports.HousingContractCancelMessageType = void 0;
12
+ exports.HousingContractCancelChat = exports.HousingContractCancelChatStatus = exports.HousingContractCancelMessageType = void 0;
13
13
  const typeorm_1 = require("typeorm");
14
14
  const BaseModel_1 = require("./BaseModel");
15
15
  var HousingContractCancelMessageType;
@@ -20,6 +20,14 @@ var HousingContractCancelMessageType;
20
20
  HousingContractCancelMessageType["file"] = "file";
21
21
  HousingContractCancelMessageType["link"] = "link";
22
22
  })(HousingContractCancelMessageType || (exports.HousingContractCancelMessageType = HousingContractCancelMessageType = {}));
23
+ var HousingContractCancelChatStatus;
24
+ (function (HousingContractCancelChatStatus) {
25
+ HousingContractCancelChatStatus["Pending"] = "Pending";
26
+ HousingContractCancelChatStatus["Received"] = "Received";
27
+ HousingContractCancelChatStatus["Approved"] = "Approved";
28
+ HousingContractCancelChatStatus["Rejected"] = "Rejected";
29
+ HousingContractCancelChatStatus["InProgress"] = "In Progress";
30
+ })(HousingContractCancelChatStatus || (exports.HousingContractCancelChatStatus = HousingContractCancelChatStatus = {}));
23
31
  let HousingContractCancelChat = class HousingContractCancelChat extends BaseModel_1.BaseModel {
24
32
  constructor() {
25
33
  super();
@@ -38,10 +46,22 @@ __decorate([
38
46
  (0, typeorm_1.Column)({ type: 'int', nullable: false }),
39
47
  __metadata("design:type", Number)
40
48
  ], HousingContractCancelChat.prototype, "sub_service_id", void 0);
49
+ __decorate([
50
+ (0, typeorm_1.Column)({ type: 'int', nullable: false }),
51
+ __metadata("design:type", Number)
52
+ ], HousingContractCancelChat.prototype, "user_id", void 0);
41
53
  __decorate([
42
54
  (0, typeorm_1.Column)({ type: 'text', nullable: false }),
43
55
  __metadata("design:type", String)
44
56
  ], HousingContractCancelChat.prototype, "message", void 0);
57
+ __decorate([
58
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
59
+ __metadata("design:type", Object)
60
+ ], HousingContractCancelChat.prototype, "approver_role_id", void 0);
61
+ __decorate([
62
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: false, default: 'Pending' }),
63
+ __metadata("design:type", String)
64
+ ], HousingContractCancelChat.prototype, "status", void 0);
45
65
  __decorate([
46
66
  (0, typeorm_1.Column)({ type: 'varchar', length: 20, nullable: false }),
47
67
  __metadata("design:type", String)
@@ -6,11 +6,24 @@ export declare enum HousingContractRenewalMessageType {
6
6
  file = "file",
7
7
  link = "link"
8
8
  }
9
+ /** Aligns with request-for-coverage / accommodation chat `status` usage */
10
+ export declare enum HousingContractRenewalChatStatus {
11
+ Pending = "Pending",
12
+ Received = "Received",
13
+ Approved = "Approved",
14
+ Rejected = "Rejected",
15
+ InProgress = "In Progress"
16
+ }
9
17
  export declare class HousingContractRenewalChat extends BaseModel {
10
18
  request_id: number;
11
19
  service_id: number;
12
20
  sub_service_id: number;
21
+ /** Message author (same pattern as request_for_coverage_request_chat.user_id) */
22
+ user_id: number;
13
23
  message: string;
24
+ /** Role context for the chat line (e.g. active role when message was posted) */
25
+ approver_role_id: number | null;
26
+ status: string;
14
27
  message_type: string;
15
28
  is_internal: boolean;
16
29
  created_by: number;
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.HousingContractRenewalChat = exports.HousingContractRenewalMessageType = void 0;
12
+ exports.HousingContractRenewalChat = exports.HousingContractRenewalChatStatus = exports.HousingContractRenewalMessageType = void 0;
13
13
  const typeorm_1 = require("typeorm");
14
14
  const BaseModel_1 = require("./BaseModel");
15
15
  var HousingContractRenewalMessageType;
@@ -20,6 +20,15 @@ var HousingContractRenewalMessageType;
20
20
  HousingContractRenewalMessageType["file"] = "file";
21
21
  HousingContractRenewalMessageType["link"] = "link";
22
22
  })(HousingContractRenewalMessageType || (exports.HousingContractRenewalMessageType = HousingContractRenewalMessageType = {}));
23
+ /** Aligns with request-for-coverage / accommodation chat `status` usage */
24
+ var HousingContractRenewalChatStatus;
25
+ (function (HousingContractRenewalChatStatus) {
26
+ HousingContractRenewalChatStatus["Pending"] = "Pending";
27
+ HousingContractRenewalChatStatus["Received"] = "Received";
28
+ HousingContractRenewalChatStatus["Approved"] = "Approved";
29
+ HousingContractRenewalChatStatus["Rejected"] = "Rejected";
30
+ HousingContractRenewalChatStatus["InProgress"] = "In Progress";
31
+ })(HousingContractRenewalChatStatus || (exports.HousingContractRenewalChatStatus = HousingContractRenewalChatStatus = {}));
23
32
  let HousingContractRenewalChat = class HousingContractRenewalChat extends BaseModel_1.BaseModel {
24
33
  constructor() {
25
34
  super();
@@ -38,10 +47,22 @@ __decorate([
38
47
  (0, typeorm_1.Column)({ type: 'int', nullable: false }),
39
48
  __metadata("design:type", Number)
40
49
  ], HousingContractRenewalChat.prototype, "sub_service_id", void 0);
50
+ __decorate([
51
+ (0, typeorm_1.Column)({ type: 'int', nullable: false }),
52
+ __metadata("design:type", Number)
53
+ ], HousingContractRenewalChat.prototype, "user_id", void 0);
41
54
  __decorate([
42
55
  (0, typeorm_1.Column)({ type: 'text', nullable: false }),
43
56
  __metadata("design:type", String)
44
57
  ], HousingContractRenewalChat.prototype, "message", void 0);
58
+ __decorate([
59
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
60
+ __metadata("design:type", Object)
61
+ ], HousingContractRenewalChat.prototype, "approver_role_id", void 0);
62
+ __decorate([
63
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: false, default: 'Pending' }),
64
+ __metadata("design:type", String)
65
+ ], HousingContractRenewalChat.prototype, "status", void 0);
45
66
  __decorate([
46
67
  (0, typeorm_1.Column)({ type: 'varchar', length: 20, nullable: false }),
47
68
  __metadata("design:type", String)
@@ -0,0 +1,18 @@
1
+ import { Role } from './role';
2
+ import { UUIDBaseModel } from './UUIDBaseModel';
3
+ export declare enum PermissionType {
4
+ VIEW = "view",
5
+ UPLOAD = "upload",
6
+ UPDATE = "update",
7
+ DELETE = "delete",
8
+ PUBLISH = "publish"
9
+ }
10
+ export declare class Permission extends UUIDBaseModel {
11
+ name: string;
12
+ code: string;
13
+ type: PermissionType;
14
+ description?: string;
15
+ is_active: boolean;
16
+ roles: Role[];
17
+ constructor(name: string, code: string, type: PermissionType, created_by: string, description?: string, is_active?: boolean);
18
+ }
@@ -0,0 +1,68 @@
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.Permission = exports.PermissionType = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const role_1 = require("./role");
15
+ const UUIDBaseModel_1 = require("./UUIDBaseModel");
16
+ var PermissionType;
17
+ (function (PermissionType) {
18
+ PermissionType["VIEW"] = "view";
19
+ PermissionType["UPLOAD"] = "upload";
20
+ PermissionType["UPDATE"] = "update";
21
+ PermissionType["DELETE"] = "delete";
22
+ PermissionType["PUBLISH"] = "publish";
23
+ })(PermissionType || (exports.PermissionType = PermissionType = {}));
24
+ let Permission = class Permission extends UUIDBaseModel_1.UUIDBaseModel {
25
+ constructor(name, code, type, created_by, description, is_active = true) {
26
+ super();
27
+ this.name = name;
28
+ this.code = code;
29
+ this.type = type;
30
+ this.created_by = created_by;
31
+ this.description = description;
32
+ this.is_active = is_active;
33
+ }
34
+ };
35
+ exports.Permission = Permission;
36
+ __decorate([
37
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, unique: true }),
38
+ __metadata("design:type", String)
39
+ ], Permission.prototype, "name", void 0);
40
+ __decorate([
41
+ (0, typeorm_1.Column)({ type: 'varchar', length: 50, unique: true }),
42
+ __metadata("design:type", String)
43
+ ], Permission.prototype, "code", void 0);
44
+ __decorate([
45
+ (0, typeorm_1.Column)({ type: 'enum', enum: PermissionType }),
46
+ __metadata("design:type", String)
47
+ ], Permission.prototype, "type", void 0);
48
+ __decorate([
49
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
50
+ __metadata("design:type", String)
51
+ ], Permission.prototype, "description", void 0);
52
+ __decorate([
53
+ (0, typeorm_1.Column)({ type: 'boolean', default: true }),
54
+ __metadata("design:type", Boolean)
55
+ ], Permission.prototype, "is_active", void 0);
56
+ __decorate([
57
+ (0, typeorm_1.ManyToMany)(() => role_1.Role),
58
+ (0, typeorm_1.JoinTable)({
59
+ name: 'role_permissions',
60
+ joinColumn: { name: 'permission_id', referencedColumnName: 'id' },
61
+ inverseJoinColumn: { name: 'role_id', referencedColumnName: 'id' },
62
+ }),
63
+ __metadata("design:type", Array)
64
+ ], Permission.prototype, "roles", void 0);
65
+ exports.Permission = Permission = __decorate([
66
+ (0, typeorm_1.Entity)({ name: 'permissions' }),
67
+ __metadata("design:paramtypes", [String, String, String, String, String, Boolean])
68
+ ], Permission);