@platform-modules/foreign-ministry 1.3.199 → 1.3.200

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 (41) hide show
  1. package/.env +10 -5
  2. package/dist/data-source.js +4 -0
  3. package/dist/index.d.ts +2 -0
  4. package/dist/index.js +2 -0
  5. package/dist/models/DocumentationFileModel.d.ts +9 -0
  6. package/dist/models/DocumentationFileModel.js +49 -0
  7. package/dist/models/DocumentationFolderModel.d.ts +8 -0
  8. package/dist/models/DocumentationFolderModel.js +44 -0
  9. package/dist/models/MissionTravelClassConfigModel.d.ts +10 -0
  10. package/dist/models/MissionTravelClassConfigModel.js +50 -0
  11. package/dist/models/MissionTravelPerdiemModel.d.ts +10 -0
  12. package/dist/models/MissionTravelPerdiemModel.js +54 -0
  13. package/package.json +1 -1
  14. package/src/data-source.ts +4 -0
  15. package/src/index.ts +2 -0
  16. package/src/models/DiplomaticAcademyRequestModel.ts +80 -80
  17. package/src/models/DocumentationFileModel.ts +35 -0
  18. package/src/models/DocumentationFolderModel.ts +25 -0
  19. package/src/models/LanguageCourseRequestModel.ts +67 -67
  20. package/src/models/LeaveConfigModel.ts +71 -71
  21. package/src/models/MissionTravelApprovalModel.ts +101 -101
  22. package/src/models/MissionTravelAttachmentModel.ts +56 -56
  23. package/src/models/MissionTravelChatModel.ts +52 -52
  24. package/src/models/MissionTravelPersonModel.ts +105 -105
  25. package/src/models/MissionTravelWorkflowModel.ts +54 -54
  26. package/src/models/PollOptionsModel.ts +26 -26
  27. package/src/models/PollVotesModel.ts +37 -37
  28. package/src/models/PollsModel.ts +49 -49
  29. package/src/models/ProjectMilestoneDocumentsModel.ts +40 -40
  30. package/src/models/ProjectMilestonesModel.ts +65 -65
  31. package/src/models/ProjectModel.ts +65 -65
  32. package/src/models/ProjectTaskActivityModel.ts +35 -35
  33. package/src/models/ProjectTaskCommentsModel.ts +17 -17
  34. package/src/models/ProjectTasksModel.ts +80 -80
  35. package/src/models/SectionModel.ts +35 -35
  36. package/src/models/ServicesNotificationConfigsModel.ts +55 -55
  37. package/src/models/TelephoneDirectoryModel.ts +20 -20
  38. package/dist/models/EmbassyMasterModel.d.ts +0 -16
  39. package/dist/models/EmbassyMasterModel.js +0 -75
  40. package/dist/models/UserDependentsModel.d.ts +0 -18
  41. package/dist/models/UserDependentsModel.js +0 -94
package/.env CHANGED
@@ -1,5 +1,10 @@
1
- DB_HOST=localhost
2
- DB_PORT=5432
3
- DB_USER=postgres
4
- DB_PASS=Fa@123
5
- DB_NAME=FM
1
+ # DB_HOST=localhost
2
+ # DB_PORT=5432
3
+ # DB_USER=postgres
4
+ # DB_PASS=stevejobs
5
+ # DB_NAME=FM
6
+
7
+ DB_HOST = 164.52.222.169
8
+ DB_USER = postgres_admin_user
9
+ DB_PASS = pg_admin_user_pwd_caa_fa_$%^&OIukhjgcvbn
10
+ DB_NAME= FM
@@ -201,6 +201,8 @@ const ProjectMilestoneDocumentsModel_1 = require("./models/ProjectMilestoneDocum
201
201
  const ProjectTasksModel_1 = require("./models/ProjectTasksModel");
202
202
  const ProjectTaskActivityModel_1 = require("./models/ProjectTaskActivityModel");
203
203
  const ProjectTaskCommentsModel_1 = require("./models/ProjectTaskCommentsModel");
204
+ const DocumentationFolderModel_1 = require("./models/DocumentationFolderModel");
205
+ const DocumentationFileModel_1 = require("./models/DocumentationFileModel");
204
206
  const UniversalLanguageMasterModel_1 = require("./models/UniversalLanguageMasterModel");
205
207
  const MeetingAppointmentReminderLogModel_1 = require("./models/MeetingAppointmentReminderLogModel");
206
208
  exports.AppDataSource = new typeorm_1.DataSource({
@@ -409,6 +411,8 @@ exports.AppDataSource = new typeorm_1.DataSource({
409
411
  ProjectTasksModel_1.ProjectTasks,
410
412
  ProjectTaskActivityModel_1.ProjectTaskActivity,
411
413
  ProjectTaskCommentsModel_1.ProjectTaskComments,
414
+ DocumentationFolderModel_1.DocumentationFolder,
415
+ DocumentationFileModel_1.DocumentationFile,
412
416
  UniversalLanguageMasterModel_1.UniversalLanguageMaster,
413
417
  MeetingAppointmentReminderLogModel_1.MeetingAppointmentReminderLog
414
418
  ],
package/dist/index.d.ts CHANGED
@@ -306,6 +306,8 @@ export * from './models/ProjectMilestoneDocumentsModel';
306
306
  export * from './models/ProjectTasksModel';
307
307
  export * from './models/ProjectTaskActivityModel';
308
308
  export * from './models/ProjectTaskCommentsModel';
309
+ export * from './models/DocumentationFolderModel';
310
+ export * from './models/DocumentationFileModel';
309
311
  export * from './models/EmployeeMilestonesModel';
310
312
  export * from './models/EmployeeMilestoneDetailsModel';
311
313
  export * from './models/MissionTravelPassportExpiryNotificationConfigModel';
package/dist/index.js CHANGED
@@ -379,6 +379,8 @@ __exportStar(require("./models/ProjectMilestoneDocumentsModel"), exports);
379
379
  __exportStar(require("./models/ProjectTasksModel"), exports);
380
380
  __exportStar(require("./models/ProjectTaskActivityModel"), exports);
381
381
  __exportStar(require("./models/ProjectTaskCommentsModel"), exports);
382
+ __exportStar(require("./models/DocumentationFolderModel"), exports);
383
+ __exportStar(require("./models/DocumentationFileModel"), exports);
382
384
  // Employee Milestones Models
383
385
  __exportStar(require("./models/EmployeeMilestonesModel"), exports);
384
386
  __exportStar(require("./models/EmployeeMilestoneDetailsModel"), exports);
@@ -0,0 +1,9 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare class DocumentationFile extends BaseModel {
3
+ folder_id: number;
4
+ file_path: string;
5
+ filename: string;
6
+ filesize: number;
7
+ filetype: string;
8
+ constructor(folder_id?: number, file_path?: string, filename?: string, filesize?: number, filetype?: string);
9
+ }
@@ -0,0 +1,49 @@
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.DocumentationFile = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ let DocumentationFile = class DocumentationFile extends BaseModel_1.BaseModel {
16
+ constructor(folder_id, file_path, filename, filesize, filetype) {
17
+ super();
18
+ this.folder_id = folder_id ?? 0;
19
+ this.file_path = file_path ?? '';
20
+ this.filename = filename ?? '';
21
+ this.filesize = filesize ?? 0;
22
+ this.filetype = filetype ?? '';
23
+ }
24
+ };
25
+ exports.DocumentationFile = DocumentationFile;
26
+ __decorate([
27
+ (0, typeorm_1.Column)({ type: 'int' }),
28
+ __metadata("design:type", Number)
29
+ ], DocumentationFile.prototype, "folder_id", void 0);
30
+ __decorate([
31
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
32
+ __metadata("design:type", String)
33
+ ], DocumentationFile.prototype, "file_path", void 0);
34
+ __decorate([
35
+ (0, typeorm_1.Column)({ type: 'varchar', length: 500, nullable: true }),
36
+ __metadata("design:type", String)
37
+ ], DocumentationFile.prototype, "filename", void 0);
38
+ __decorate([
39
+ (0, typeorm_1.Column)({ type: 'bigint', nullable: true }),
40
+ __metadata("design:type", Number)
41
+ ], DocumentationFile.prototype, "filesize", void 0);
42
+ __decorate([
43
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: true }),
44
+ __metadata("design:type", String)
45
+ ], DocumentationFile.prototype, "filetype", void 0);
46
+ exports.DocumentationFile = DocumentationFile = __decorate([
47
+ (0, typeorm_1.Entity)({ name: 'documentation_files' }),
48
+ __metadata("design:paramtypes", [Number, String, String, Number, String])
49
+ ], DocumentationFile);
@@ -0,0 +1,8 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare class DocumentationFolder extends BaseModel {
3
+ project_id: number;
4
+ name: string;
5
+ parent_folder_id: number | null;
6
+ description: string;
7
+ constructor(project_id?: number, name?: string, parent_folder_id?: number | null, description?: string);
8
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.DocumentationFolder = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ let DocumentationFolder = class DocumentationFolder extends BaseModel_1.BaseModel {
16
+ constructor(project_id, name, parent_folder_id, description) {
17
+ super();
18
+ this.project_id = project_id ?? 0;
19
+ this.name = name ?? '';
20
+ this.parent_folder_id = parent_folder_id ?? null;
21
+ this.description = description ?? '';
22
+ }
23
+ };
24
+ exports.DocumentationFolder = DocumentationFolder;
25
+ __decorate([
26
+ (0, typeorm_1.Column)({ type: 'int' }),
27
+ __metadata("design:type", Number)
28
+ ], DocumentationFolder.prototype, "project_id", void 0);
29
+ __decorate([
30
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255 }),
31
+ __metadata("design:type", String)
32
+ ], DocumentationFolder.prototype, "name", void 0);
33
+ __decorate([
34
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
35
+ __metadata("design:type", Object)
36
+ ], DocumentationFolder.prototype, "parent_folder_id", void 0);
37
+ __decorate([
38
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
39
+ __metadata("design:type", String)
40
+ ], DocumentationFolder.prototype, "description", void 0);
41
+ exports.DocumentationFolder = DocumentationFolder = __decorate([
42
+ (0, typeorm_1.Entity)({ name: 'documentation_folders' }),
43
+ __metadata("design:paramtypes", [Number, String, Object, String])
44
+ ], DocumentationFolder);
@@ -0,0 +1,10 @@
1
+ import { BaseModel } from './BaseModel';
2
+ import { TravelClass } from './MissionTravelPersonModel';
3
+ export declare class MissionTravelClassConfig extends BaseModel {
4
+ grade: number | null;
5
+ position: string | null;
6
+ travel_class: TravelClass;
7
+ is_active: boolean;
8
+ description: string | null;
9
+ constructor(grade: number | null, position: string | null, travel_class: TravelClass, description: string | null);
10
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MissionTravelClassConfig = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ const MissionTravelPersonModel_1 = require("./MissionTravelPersonModel");
16
+ let MissionTravelClassConfig = class MissionTravelClassConfig extends BaseModel_1.BaseModel {
17
+ constructor(grade, position, travel_class, description) {
18
+ super();
19
+ this.grade = grade;
20
+ this.position = position;
21
+ this.travel_class = travel_class;
22
+ this.description = description;
23
+ this.is_active = true;
24
+ }
25
+ };
26
+ exports.MissionTravelClassConfig = MissionTravelClassConfig;
27
+ __decorate([
28
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
29
+ __metadata("design:type", Object)
30
+ ], MissionTravelClassConfig.prototype, "grade", void 0);
31
+ __decorate([
32
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
33
+ __metadata("design:type", Object)
34
+ ], MissionTravelClassConfig.prototype, "position", void 0);
35
+ __decorate([
36
+ (0, typeorm_1.Column)({ type: 'enum', enum: MissionTravelPersonModel_1.TravelClass, nullable: false }),
37
+ __metadata("design:type", String)
38
+ ], MissionTravelClassConfig.prototype, "travel_class", void 0);
39
+ __decorate([
40
+ (0, typeorm_1.Column)({ type: 'boolean', default: true }),
41
+ __metadata("design:type", Boolean)
42
+ ], MissionTravelClassConfig.prototype, "is_active", void 0);
43
+ __decorate([
44
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
45
+ __metadata("design:type", Object)
46
+ ], MissionTravelClassConfig.prototype, "description", void 0);
47
+ exports.MissionTravelClassConfig = MissionTravelClassConfig = __decorate([
48
+ (0, typeorm_1.Entity)({ name: 'mission_travel_class_config' }),
49
+ __metadata("design:paramtypes", [Object, Object, String, Object])
50
+ ], MissionTravelClassConfig);
@@ -0,0 +1,10 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare class MissionTravelPerdiem extends BaseModel {
3
+ grade: number;
4
+ perdiem_amount: number;
5
+ currency: string | null;
6
+ effective_from: Date | null;
7
+ effective_to: Date | null;
8
+ is_active: boolean;
9
+ constructor(grade: number, perdiem_amount: number, currency: string | null, effective_from: Date | null, effective_to: Date | null);
10
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MissionTravelPerdiem = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ let MissionTravelPerdiem = class MissionTravelPerdiem extends BaseModel_1.BaseModel {
16
+ constructor(grade, perdiem_amount, currency, effective_from, effective_to) {
17
+ super();
18
+ this.grade = grade;
19
+ this.perdiem_amount = perdiem_amount;
20
+ this.currency = currency;
21
+ this.effective_from = effective_from;
22
+ this.effective_to = effective_to;
23
+ this.is_active = true;
24
+ }
25
+ };
26
+ exports.MissionTravelPerdiem = MissionTravelPerdiem;
27
+ __decorate([
28
+ (0, typeorm_1.Column)({ type: 'int', nullable: false }),
29
+ __metadata("design:type", Number)
30
+ ], MissionTravelPerdiem.prototype, "grade", void 0);
31
+ __decorate([
32
+ (0, typeorm_1.Column)({ type: 'decimal', precision: 10, scale: 2, nullable: false }),
33
+ __metadata("design:type", Number)
34
+ ], MissionTravelPerdiem.prototype, "perdiem_amount", void 0);
35
+ __decorate([
36
+ (0, typeorm_1.Column)({ type: 'varchar', length: 50, nullable: true }),
37
+ __metadata("design:type", Object)
38
+ ], MissionTravelPerdiem.prototype, "currency", void 0);
39
+ __decorate([
40
+ (0, typeorm_1.Column)({ type: 'date', nullable: true }),
41
+ __metadata("design:type", Object)
42
+ ], MissionTravelPerdiem.prototype, "effective_from", void 0);
43
+ __decorate([
44
+ (0, typeorm_1.Column)({ type: 'date', nullable: true }),
45
+ __metadata("design:type", Object)
46
+ ], MissionTravelPerdiem.prototype, "effective_to", void 0);
47
+ __decorate([
48
+ (0, typeorm_1.Column)({ type: 'boolean', default: true }),
49
+ __metadata("design:type", Boolean)
50
+ ], MissionTravelPerdiem.prototype, "is_active", void 0);
51
+ exports.MissionTravelPerdiem = MissionTravelPerdiem = __decorate([
52
+ (0, typeorm_1.Entity)({ name: 'mission_travel_perdiem' }),
53
+ __metadata("design:paramtypes", [Number, Number, Object, Object, Object])
54
+ ], MissionTravelPerdiem);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platform-modules/foreign-ministry",
3
- "version": "1.3.199",
3
+ "version": "1.3.200",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -207,6 +207,8 @@ import { ProjectMilestoneDocuments } from './models/ProjectMilestoneDocumentsMod
207
207
  import { ProjectTasks } from './models/ProjectTasksModel';
208
208
  import { ProjectTaskActivity } from './models/ProjectTaskActivityModel';
209
209
  import { ProjectTaskComments } from './models/ProjectTaskCommentsModel';
210
+ import { DocumentationFolder } from './models/DocumentationFolderModel';
211
+ import { DocumentationFile } from './models/DocumentationFileModel';
210
212
  import { UniversalLanguageMaster } from './models/UniversalLanguageMasterModel';
211
213
  import { MeetingAppointmentReminderLog } from './models/MeetingAppointmentReminderLogModel';
212
214
 
@@ -416,6 +418,8 @@ export const AppDataSource = new DataSource({
416
418
  ProjectTasks,
417
419
  ProjectTaskActivity,
418
420
  ProjectTaskComments,
421
+ DocumentationFolder,
422
+ DocumentationFile,
419
423
  UniversalLanguageMaster,
420
424
  MeetingAppointmentReminderLog
421
425
  ],
package/src/index.ts CHANGED
@@ -317,6 +317,8 @@ export * from './models/ProjectMilestoneDocumentsModel';
317
317
  export * from './models/ProjectTasksModel';
318
318
  export * from './models/ProjectTaskActivityModel';
319
319
  export * from './models/ProjectTaskCommentsModel';
320
+ export * from './models/DocumentationFolderModel';
321
+ export * from './models/DocumentationFileModel';
320
322
 
321
323
  // Employee Milestones Models
322
324
  export * from './models/EmployeeMilestonesModel';
@@ -1,80 +1,80 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- export enum DiplomaticAcademyStatus {
5
- SUBMITTED = "Submitted",
6
- PENDING = "Pending",
7
- ASSIGNED = "Assigned",
8
- IN_PROGRESS = "In Progress",
9
- APPROVED = "Approved",
10
- REJECTED = "Rejected"
11
- }
12
-
13
- @Entity({ name: 'diplomatic_academy_requests' })
14
- export class DiplomaticAcademyRequests extends BaseModel {
15
-
16
- // Common columns
17
- @Column({ type: 'int', nullable: true })
18
- req_user_department_id: number | null;
19
-
20
- @Column({ type: 'int', nullable: true })
21
- req_user_section_id: number | null;
22
-
23
- @Column({ type: 'int', nullable: true })
24
- service_id: number | null;
25
-
26
- @Column({ type: 'int', nullable: true })
27
- sub_service_id: number | null;
28
-
29
- @Column({ type: 'int', nullable: false })
30
- user_id: number;
31
-
32
- // Diplomatic Academy specific columns
33
- @Column({ type: 'varchar', length: 500, nullable: false })
34
- course_name: string;
35
-
36
- @Column({ type: 'jsonb', nullable: true })
37
- cost_details: {
38
- material_price?: number;
39
- transportation?: number;
40
- accommodation?: number;
41
- allowances?: number;
42
- food?: number;
43
- present?: number;
44
- } | null;
45
-
46
- @Column({ type: 'int', nullable: false })
47
- estimated_participants: number;
48
-
49
- @Column({ type: 'date', nullable: false })
50
- timeline_date_from: Date;
51
-
52
- @Column({ type: 'date', nullable: false })
53
- timeline_date_to: Date;
54
-
55
- @Column({ type: 'time', nullable: true })
56
- timeline_time_from: string | null;
57
-
58
- @Column({ type: 'time', nullable: true })
59
- timeline_time_to: string | null;
60
-
61
- @Column({ type: 'jsonb', nullable: false })
62
- participants_details: Array<{
63
- full_name: string;
64
- passport: string;
65
- age: number;
66
- qualifications: string;
67
- experience: string;
68
- institution: string;
69
- }>;
70
-
71
- @Column({ type: 'enum', enum: DiplomaticAcademyStatus, default: DiplomaticAcademyStatus.PENDING, nullable: false })
72
- status: DiplomaticAcademyStatus;
73
-
74
- @Column({ type: 'int', nullable: true })
75
- course_id: number | null;
76
-
77
- @Column({ type: 'varchar', nullable: true })
78
- workflow_execution_id: string | null;
79
-
80
- }
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum DiplomaticAcademyStatus {
5
+ SUBMITTED = "Submitted",
6
+ PENDING = "Pending",
7
+ ASSIGNED = "Assigned",
8
+ IN_PROGRESS = "In Progress",
9
+ APPROVED = "Approved",
10
+ REJECTED = "Rejected"
11
+ }
12
+
13
+ @Entity({ name: 'diplomatic_academy_requests' })
14
+ export class DiplomaticAcademyRequests extends BaseModel {
15
+
16
+ // Common columns
17
+ @Column({ type: 'int', nullable: true })
18
+ req_user_department_id: number | null;
19
+
20
+ @Column({ type: 'int', nullable: true })
21
+ req_user_section_id: number | null;
22
+
23
+ @Column({ type: 'int', nullable: true })
24
+ service_id: number | null;
25
+
26
+ @Column({ type: 'int', nullable: true })
27
+ sub_service_id: number | null;
28
+
29
+ @Column({ type: 'int', nullable: false })
30
+ user_id: number;
31
+
32
+ // Diplomatic Academy specific columns
33
+ @Column({ type: 'varchar', length: 500, nullable: false })
34
+ course_name: string;
35
+
36
+ @Column({ type: 'jsonb', nullable: true })
37
+ cost_details: {
38
+ material_price?: number;
39
+ transportation?: number;
40
+ accommodation?: number;
41
+ allowances?: number;
42
+ food?: number;
43
+ present?: number;
44
+ } | null;
45
+
46
+ @Column({ type: 'int', nullable: false })
47
+ estimated_participants: number;
48
+
49
+ @Column({ type: 'date', nullable: false })
50
+ timeline_date_from: Date;
51
+
52
+ @Column({ type: 'date', nullable: false })
53
+ timeline_date_to: Date;
54
+
55
+ @Column({ type: 'time', nullable: true })
56
+ timeline_time_from: string | null;
57
+
58
+ @Column({ type: 'time', nullable: true })
59
+ timeline_time_to: string | null;
60
+
61
+ @Column({ type: 'jsonb', nullable: false })
62
+ participants_details: Array<{
63
+ full_name: string;
64
+ passport: string;
65
+ age: number;
66
+ qualifications: string;
67
+ experience: string;
68
+ institution: string;
69
+ }>;
70
+
71
+ @Column({ type: 'enum', enum: DiplomaticAcademyStatus, default: DiplomaticAcademyStatus.PENDING, nullable: false })
72
+ status: DiplomaticAcademyStatus;
73
+
74
+ @Column({ type: 'int', nullable: true })
75
+ course_id: number | null;
76
+
77
+ @Column({ type: 'varchar', nullable: true })
78
+ workflow_execution_id: string | null;
79
+
80
+ }
@@ -0,0 +1,35 @@
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ @Entity({ name: 'documentation_files' })
5
+ export class DocumentationFile extends BaseModel {
6
+ @Column({ type: 'int' })
7
+ folder_id: number;
8
+
9
+ @Column({ type: 'text', nullable: true })
10
+ file_path: string;
11
+
12
+ @Column({ type: 'varchar', length: 500, nullable: true })
13
+ filename: string;
14
+
15
+ @Column({ type: 'bigint', nullable: true })
16
+ filesize: number;
17
+
18
+ @Column({ type: 'varchar', length: 100, nullable: true })
19
+ filetype: string;
20
+
21
+ constructor(
22
+ folder_id?: number,
23
+ file_path?: string,
24
+ filename?: string,
25
+ filesize?: number,
26
+ filetype?: string
27
+ ) {
28
+ super();
29
+ this.folder_id = folder_id ?? 0;
30
+ this.file_path = file_path ?? '';
31
+ this.filename = filename ?? '';
32
+ this.filesize = filesize ?? 0;
33
+ this.filetype = filetype ?? '';
34
+ }
35
+ }
@@ -0,0 +1,25 @@
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ @Entity({ name: 'documentation_folders' })
5
+ export class DocumentationFolder extends BaseModel {
6
+ @Column({ type: 'int' })
7
+ project_id: number;
8
+
9
+ @Column({ type: 'varchar', length: 255 })
10
+ name: string;
11
+
12
+ @Column({ type: 'int', nullable: true })
13
+ parent_folder_id: number | null;
14
+
15
+ @Column({ type: 'text', nullable: true })
16
+ description: string;
17
+
18
+ constructor(project_id?: number, name?: string, parent_folder_id?: number | null, description?: string) {
19
+ super();
20
+ this.project_id = project_id ?? 0;
21
+ this.name = name ?? '';
22
+ this.parent_folder_id = parent_folder_id ?? null;
23
+ this.description = description ?? '';
24
+ }
25
+ }