@platform-modules/foreign-ministry 1.3.240 → 1.3.245

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 (70) hide show
  1. package/dist/data-source.js +40 -0
  2. package/dist/index.d.ts +20 -0
  3. package/dist/index.js +20 -0
  4. package/dist/models/HousingRentalAccommodationApprovalModel.d.ts +22 -0
  5. package/dist/models/HousingRentalAccommodationApprovalModel.js +84 -0
  6. package/dist/models/HousingRentalAccommodationAttachmentModel.d.ts +11 -0
  7. package/dist/models/HousingRentalAccommodationAttachmentModel.js +52 -0
  8. package/dist/models/HousingRentalAccommodationChatModel.d.ts +18 -0
  9. package/dist/models/HousingRentalAccommodationChatModel.js +65 -0
  10. package/dist/models/HousingRentalAccommodationRequestModel.d.ts +20 -0
  11. package/dist/models/HousingRentalAccommodationRequestModel.js +70 -0
  12. package/dist/models/HousingRentalAccommodationWorkflowModel.d.ts +17 -0
  13. package/dist/models/HousingRentalAccommodationWorkflowModel.js +67 -0
  14. package/dist/models/HousingRentalVehicleApprovalModel.d.ts +22 -0
  15. package/dist/models/HousingRentalVehicleApprovalModel.js +84 -0
  16. package/dist/models/HousingRentalVehicleAttachmentModel.d.ts +11 -0
  17. package/dist/models/HousingRentalVehicleAttachmentModel.js +52 -0
  18. package/dist/models/HousingRentalVehicleChatModel.d.ts +18 -0
  19. package/dist/models/HousingRentalVehicleChatModel.js +65 -0
  20. package/dist/models/HousingRentalVehicleRequestModel.d.ts +22 -0
  21. package/dist/models/HousingRentalVehicleRequestModel.js +78 -0
  22. package/dist/models/HousingRentalVehicleWorkflowModel.d.ts +17 -0
  23. package/dist/models/HousingRentalVehicleWorkflowModel.js +67 -0
  24. package/dist/models/MissionContractsApprovalModel.d.ts +22 -0
  25. package/dist/models/MissionContractsApprovalModel.js +84 -0
  26. package/dist/models/MissionContractsAttachmentModel.d.ts +11 -0
  27. package/dist/models/MissionContractsAttachmentModel.js +52 -0
  28. package/dist/models/MissionContractsChatModel.d.ts +18 -0
  29. package/dist/models/MissionContractsChatModel.js +65 -0
  30. package/dist/models/MissionContractsRequestModel.d.ts +26 -0
  31. package/dist/models/MissionContractsRequestModel.js +90 -0
  32. package/dist/models/MissionContractsWorkflowModel.d.ts +17 -0
  33. package/dist/models/MissionContractsWorkflowModel.js +67 -0
  34. package/dist/models/NationalDayCelebrationsApprovalModel.d.ts +22 -0
  35. package/dist/models/NationalDayCelebrationsApprovalModel.js +84 -0
  36. package/dist/models/NationalDayCelebrationsAttachmentModel.d.ts +11 -0
  37. package/dist/models/NationalDayCelebrationsAttachmentModel.js +52 -0
  38. package/dist/models/NationalDayCelebrationsChatModel.d.ts +18 -0
  39. package/dist/models/NationalDayCelebrationsChatModel.js +65 -0
  40. package/dist/models/NationalDayCelebrationsRequestModel.d.ts +20 -0
  41. package/dist/models/NationalDayCelebrationsRequestModel.js +70 -0
  42. package/dist/models/NationalDayCelebrationsWorkflowModel.d.ts +17 -0
  43. package/dist/models/NationalDayCelebrationsWorkflowModel.js +67 -0
  44. package/dist/models/ProjectFaqModel.d.ts +3 -2
  45. package/dist/models/ProjectFaqModel.js +4 -4
  46. package/package.json +24 -24
  47. package/src/data-source.ts +40 -0
  48. package/src/index.ts +20 -0
  49. package/src/models/HousingRentalAccommodationApprovalModel.ts +56 -0
  50. package/src/models/HousingRentalAccommodationAttachmentModel.ts +29 -0
  51. package/src/models/HousingRentalAccommodationChatModel.ts +42 -0
  52. package/src/models/HousingRentalAccommodationRequestModel.ts +46 -0
  53. package/src/models/HousingRentalAccommodationWorkflowModel.ts +43 -0
  54. package/src/models/HousingRentalVehicleApprovalModel.ts +56 -0
  55. package/src/models/HousingRentalVehicleAttachmentModel.ts +29 -0
  56. package/src/models/HousingRentalVehicleChatModel.ts +42 -0
  57. package/src/models/HousingRentalVehicleRequestModel.ts +52 -0
  58. package/src/models/HousingRentalVehicleWorkflowModel.ts +43 -0
  59. package/src/models/MissionContractsApprovalModel.ts +56 -0
  60. package/src/models/MissionContractsAttachmentModel.ts +29 -0
  61. package/src/models/MissionContractsChatModel.ts +42 -0
  62. package/src/models/MissionContractsRequestModel.ts +62 -0
  63. package/src/models/MissionContractsWorkflowModel.ts +43 -0
  64. package/src/models/NationalDayCelebrationsApprovalModel.ts +56 -0
  65. package/src/models/NationalDayCelebrationsAttachmentModel.ts +29 -0
  66. package/src/models/NationalDayCelebrationsChatModel.ts +42 -0
  67. package/src/models/NationalDayCelebrationsRequestModel.ts +46 -0
  68. package/src/models/NationalDayCelebrationsWorkflowModel.ts +43 -0
  69. package/src/models/ProjectFaqModel.ts +36 -35
  70. package/src/models/ProjectInvoicesModel.ts +41 -41
@@ -0,0 +1,43 @@
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum HousingRentalVehicleWorkFlowStatus {
5
+ COMPLETED = 'Completed',
6
+ NOT_YET_STARTED = 'Not Yet Started',
7
+ PENDING = 'Pending',
8
+ }
9
+
10
+ @Entity({ name: 'housing_rental_vehicle_workflows' })
11
+ export class HousingRentalVehicleWorkFlow extends BaseModel {
12
+ @Column({ type: 'integer', nullable: false })
13
+ request_id: number;
14
+
15
+ @Column({ type: 'integer', nullable: true })
16
+ service_id: number | null;
17
+
18
+ @Column({ type: 'integer', nullable: true })
19
+ sub_service_id: number | null;
20
+
21
+ @Column({ type: 'varchar', length: 500, nullable: false })
22
+ content: string;
23
+
24
+ @Column({
25
+ type: 'enum',
26
+ enum: HousingRentalVehicleWorkFlowStatus,
27
+ default: HousingRentalVehicleWorkFlowStatus.NOT_YET_STARTED,
28
+ nullable: false,
29
+ })
30
+ status: HousingRentalVehicleWorkFlowStatus;
31
+
32
+ @Column({ type: 'integer', nullable: true })
33
+ user_id: number | null;
34
+
35
+ @Column({ type: 'integer', nullable: true })
36
+ role_id: number | null;
37
+
38
+ @Column({ type: 'integer', nullable: true })
39
+ department_id: number | null;
40
+
41
+ @Column({ type: 'integer', nullable: true })
42
+ section_id: number | null;
43
+ }
@@ -0,0 +1,56 @@
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum MissionContractsApprovalStatus {
5
+ PENDING = 'Pending',
6
+ IN_PROGRESS = 'In Progress',
7
+ APPROVED = 'Approved',
8
+ REJECTED = 'Rejected',
9
+ }
10
+
11
+ @Entity({ name: 'mission_contracts_approvals' })
12
+ export class MissionContractsApprovalDetails extends BaseModel {
13
+ @Column({ type: 'integer', nullable: false })
14
+ request_id: number;
15
+
16
+ @Column({ type: 'integer', nullable: true })
17
+ service_id: number | null;
18
+
19
+ @Column({ type: 'integer', nullable: true })
20
+ sub_service_id: number | null;
21
+
22
+ @Column({ type: 'integer', nullable: false })
23
+ level: number;
24
+
25
+ @Column({ type: 'integer', nullable: true })
26
+ approver_role_id: number;
27
+
28
+ @Column({ type: 'integer', nullable: true })
29
+ department_id: number | null;
30
+
31
+ @Column({ type: 'integer', nullable: true })
32
+ section_id: number | null;
33
+
34
+ @Column({ type: 'integer', nullable: true })
35
+ approver_user_id: number | null;
36
+
37
+ @Column({ type: 'integer', nullable: true })
38
+ delegate_user_id: number | null;
39
+
40
+ @Column({ type: 'integer', nullable: true })
41
+ approved_by: number | null;
42
+
43
+ @Column({ type: 'varchar', length: 500, nullable: true, default: '' })
44
+ comment: string;
45
+
46
+ @Column({
47
+ type: 'enum',
48
+ enum: MissionContractsApprovalStatus,
49
+ default: MissionContractsApprovalStatus.PENDING,
50
+ nullable: false,
51
+ })
52
+ approval_status: MissionContractsApprovalStatus;
53
+
54
+ @Column({ type: 'boolean', default: true, nullable: false })
55
+ is_allowed: boolean;
56
+ }
@@ -0,0 +1,29 @@
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ @Entity({ name: 'mission_contracts_attachments' })
5
+ export class MissionContractsRequestAttachment extends BaseModel {
6
+ @Column({ type: 'integer', nullable: false })
7
+ request_id: number;
8
+
9
+ @Column({ type: 'integer', nullable: true })
10
+ service_id: number | null;
11
+
12
+ @Column({ type: 'integer', nullable: true })
13
+ sub_service_id: number | null;
14
+
15
+ @Column({ type: 'varchar', length: 500, nullable: false })
16
+ file_url: string;
17
+
18
+ @Column({ type: 'varchar', length: 255, nullable: true })
19
+ file_name: string;
20
+
21
+ @Column({ type: 'varchar', length: 100, nullable: true })
22
+ file_type: string;
23
+
24
+ @Column({ type: 'bigint', nullable: true })
25
+ file_size: number | null;
26
+
27
+ @Column({ type: 'integer', nullable: true })
28
+ chat_id: number | null;
29
+ }
@@ -0,0 +1,42 @@
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum MissionContractsMessageType {
5
+ TEXT = 'text',
6
+ IMAGE = 'image',
7
+ VIDEO = 'video',
8
+ FILE = 'file',
9
+ LINK = 'link',
10
+ }
11
+
12
+ @Entity({ name: 'mission_contracts_chats' })
13
+ export class MissionContractsRequestChat 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
+ user_id: number;
25
+
26
+ @Column({ type: 'integer', nullable: true })
27
+ role_id: number;
28
+
29
+ @Column({ type: 'text', nullable: false })
30
+ message: string;
31
+
32
+ @Column({
33
+ type: 'enum',
34
+ enum: MissionContractsMessageType,
35
+ default: MissionContractsMessageType.TEXT,
36
+ nullable: false,
37
+ })
38
+ messageType: MissionContractsMessageType;
39
+
40
+ @Column({ type: 'text', nullable: true })
41
+ status: string;
42
+ }
@@ -0,0 +1,62 @@
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum MissionContractsRequestStatus {
5
+ PENDING = 'Pending',
6
+ ASSIGNED = 'Assigned',
7
+ IN_PROGRESS = 'In Progress',
8
+ APPROVED = 'Approved',
9
+ REJECTED = 'Rejected',
10
+ CANCELLED = 'Cancelled',
11
+ }
12
+
13
+ @Entity({ name: 'mission_contracts_requests' })
14
+ export class MissionContractsRequests extends BaseModel {
15
+ @Column({ type: 'int', nullable: true })
16
+ req_user_department_id: number | null;
17
+
18
+ @Column({ type: 'int', nullable: true })
19
+ req_user_section_id: number | null;
20
+
21
+ @Column({ type: 'int', nullable: true })
22
+ service_id: number | null;
23
+
24
+ @Column({ type: 'int', nullable: true })
25
+ sub_service_id: number | null;
26
+
27
+ @Column({ type: 'int', nullable: false })
28
+ user_id: number;
29
+
30
+ @Column({
31
+ type: 'enum',
32
+ enum: MissionContractsRequestStatus,
33
+ default: MissionContractsRequestStatus.PENDING,
34
+ nullable: false,
35
+ })
36
+ status: MissionContractsRequestStatus;
37
+
38
+ @Column({ type: 'varchar', nullable: true })
39
+ workflow_execution_id: string | null;
40
+
41
+ /** New Contract | Renewal */
42
+ @Column({ type: 'varchar', length: 100, nullable: true })
43
+ contract_category: string | null;
44
+
45
+ @Column({ type: 'text', nullable: true })
46
+ reason: string | null;
47
+
48
+ @Column({ type: 'varchar', length: 500, nullable: true })
49
+ company_name: string | null;
50
+
51
+ @Column({ type: 'varchar', length: 200, nullable: true })
52
+ contract_type: string | null;
53
+
54
+ @Column({ type: 'int', nullable: true })
55
+ contract_duration_years: number | null;
56
+
57
+ @Column({ type: 'decimal', precision: 15, scale: 2, nullable: true })
58
+ amount: string | null;
59
+
60
+ @Column({ type: 'text', nullable: true })
61
+ notes: string | null;
62
+ }
@@ -0,0 +1,43 @@
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum MissionContractsWorkFlowStatus {
5
+ COMPLETED = 'Completed',
6
+ NOT_YET_STARTED = 'Not Yet Started',
7
+ PENDING = 'Pending',
8
+ }
9
+
10
+ @Entity({ name: 'mission_contracts_workflows' })
11
+ export class MissionContractsWorkFlow extends BaseModel {
12
+ @Column({ type: 'integer', nullable: false })
13
+ request_id: number;
14
+
15
+ @Column({ type: 'integer', nullable: true })
16
+ service_id: number | null;
17
+
18
+ @Column({ type: 'integer', nullable: true })
19
+ sub_service_id: number | null;
20
+
21
+ @Column({ type: 'varchar', length: 500, nullable: false })
22
+ content: string;
23
+
24
+ @Column({
25
+ type: 'enum',
26
+ enum: MissionContractsWorkFlowStatus,
27
+ default: MissionContractsWorkFlowStatus.NOT_YET_STARTED,
28
+ nullable: false,
29
+ })
30
+ status: MissionContractsWorkFlowStatus;
31
+
32
+ @Column({ type: 'integer', nullable: true })
33
+ user_id: number | null;
34
+
35
+ @Column({ type: 'integer', nullable: true })
36
+ role_id: number | null;
37
+
38
+ @Column({ type: 'integer', nullable: true })
39
+ department_id: number | null;
40
+
41
+ @Column({ type: 'integer', nullable: true })
42
+ section_id: number | null;
43
+ }
@@ -0,0 +1,56 @@
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum NationalDayCelebrationsApprovalStatus {
5
+ PENDING = 'Pending',
6
+ IN_PROGRESS = 'In Progress',
7
+ APPROVED = 'Approved',
8
+ REJECTED = 'Rejected',
9
+ }
10
+
11
+ @Entity({ name: 'national_day_celebrations_approvals' })
12
+ export class NationalDayCelebrationsApprovalDetails extends BaseModel {
13
+ @Column({ type: 'integer', nullable: false })
14
+ request_id: number;
15
+
16
+ @Column({ type: 'integer', nullable: true })
17
+ service_id: number | null;
18
+
19
+ @Column({ type: 'integer', nullable: true })
20
+ sub_service_id: number | null;
21
+
22
+ @Column({ type: 'integer', nullable: false })
23
+ level: number;
24
+
25
+ @Column({ type: 'integer', nullable: true })
26
+ approver_role_id: number;
27
+
28
+ @Column({ type: 'integer', nullable: true })
29
+ department_id: number | null;
30
+
31
+ @Column({ type: 'integer', nullable: true })
32
+ section_id: number | null;
33
+
34
+ @Column({ type: 'integer', nullable: true })
35
+ approver_user_id: number | null;
36
+
37
+ @Column({ type: 'integer', nullable: true })
38
+ delegate_user_id: number | null;
39
+
40
+ @Column({ type: 'integer', nullable: true })
41
+ approved_by: number | null;
42
+
43
+ @Column({ type: 'varchar', length: 500, nullable: true, default: '' })
44
+ comment: string;
45
+
46
+ @Column({
47
+ type: 'enum',
48
+ enum: NationalDayCelebrationsApprovalStatus,
49
+ default: NationalDayCelebrationsApprovalStatus.PENDING,
50
+ nullable: false,
51
+ })
52
+ approval_status: NationalDayCelebrationsApprovalStatus;
53
+
54
+ @Column({ type: 'boolean', default: true, nullable: false })
55
+ is_allowed: boolean;
56
+ }
@@ -0,0 +1,29 @@
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ @Entity({ name: 'national_day_celebrations_attachments' })
5
+ export class NationalDayCelebrationsRequestAttachment extends BaseModel {
6
+ @Column({ type: 'integer', nullable: false })
7
+ request_id: number;
8
+
9
+ @Column({ type: 'integer', nullable: true })
10
+ service_id: number | null;
11
+
12
+ @Column({ type: 'integer', nullable: true })
13
+ sub_service_id: number | null;
14
+
15
+ @Column({ type: 'varchar', length: 500, nullable: false })
16
+ file_url: string;
17
+
18
+ @Column({ type: 'varchar', length: 255, nullable: true })
19
+ file_name: string;
20
+
21
+ @Column({ type: 'varchar', length: 100, nullable: true })
22
+ file_type: string;
23
+
24
+ @Column({ type: 'bigint', nullable: true })
25
+ file_size: number | null;
26
+
27
+ @Column({ type: 'integer', nullable: true })
28
+ chat_id: number | null;
29
+ }
@@ -0,0 +1,42 @@
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum NationalDayCelebrationsMessageType {
5
+ TEXT = 'text',
6
+ IMAGE = 'image',
7
+ VIDEO = 'video',
8
+ FILE = 'file',
9
+ LINK = 'link',
10
+ }
11
+
12
+ @Entity({ name: 'national_day_celebrations_chats' })
13
+ export class NationalDayCelebrationsRequestChat 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
+ user_id: number;
25
+
26
+ @Column({ type: 'integer', nullable: true })
27
+ role_id: number;
28
+
29
+ @Column({ type: 'text', nullable: false })
30
+ message: string;
31
+
32
+ @Column({
33
+ type: 'enum',
34
+ enum: NationalDayCelebrationsMessageType,
35
+ default: NationalDayCelebrationsMessageType.TEXT,
36
+ nullable: false,
37
+ })
38
+ messageType: NationalDayCelebrationsMessageType;
39
+
40
+ @Column({ type: 'text', nullable: true })
41
+ status: string;
42
+ }
@@ -0,0 +1,46 @@
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum NationalDayCelebrationsRequestStatus {
5
+ PENDING = 'Pending',
6
+ ASSIGNED = 'Assigned',
7
+ IN_PROGRESS = 'In Progress',
8
+ APPROVED = 'Approved',
9
+ REJECTED = 'Rejected',
10
+ CANCELLED = 'Cancelled',
11
+ }
12
+
13
+ @Entity({ name: 'national_day_celebrations_requests' })
14
+ export class NationalDayCelebrationsRequests extends BaseModel {
15
+ @Column({ type: 'int', nullable: true })
16
+ req_user_department_id: number | null;
17
+
18
+ @Column({ type: 'int', nullable: true })
19
+ req_user_section_id: number | null;
20
+
21
+ @Column({ type: 'int', nullable: true })
22
+ service_id: number | null;
23
+
24
+ @Column({ type: 'int', nullable: true })
25
+ sub_service_id: number | null;
26
+
27
+ @Column({ type: 'int', nullable: false })
28
+ user_id: number;
29
+
30
+ @Column({
31
+ type: 'enum',
32
+ enum: NationalDayCelebrationsRequestStatus,
33
+ default: NationalDayCelebrationsRequestStatus.PENDING,
34
+ nullable: false,
35
+ })
36
+ status: NationalDayCelebrationsRequestStatus;
37
+
38
+ @Column({ type: 'varchar', nullable: true })
39
+ workflow_execution_id: string | null;
40
+
41
+ @Column({ type: 'decimal', precision: 15, scale: 2, nullable: true })
42
+ amount: string | null;
43
+
44
+ @Column({ type: 'text', nullable: true })
45
+ reason: string | null;
46
+ }
@@ -0,0 +1,43 @@
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ export enum NationalDayCelebrationsWorkFlowStatus {
5
+ COMPLETED = 'Completed',
6
+ NOT_YET_STARTED = 'Not Yet Started',
7
+ PENDING = 'Pending',
8
+ }
9
+
10
+ @Entity({ name: 'national_day_celebrations_workflows' })
11
+ export class NationalDayCelebrationsWorkFlow extends BaseModel {
12
+ @Column({ type: 'integer', nullable: false })
13
+ request_id: number;
14
+
15
+ @Column({ type: 'integer', nullable: true })
16
+ service_id: number | null;
17
+
18
+ @Column({ type: 'integer', nullable: true })
19
+ sub_service_id: number | null;
20
+
21
+ @Column({ type: 'varchar', length: 500, nullable: false })
22
+ content: string;
23
+
24
+ @Column({
25
+ type: 'enum',
26
+ enum: NationalDayCelebrationsWorkFlowStatus,
27
+ default: NationalDayCelebrationsWorkFlowStatus.NOT_YET_STARTED,
28
+ nullable: false,
29
+ })
30
+ status: NationalDayCelebrationsWorkFlowStatus;
31
+
32
+ @Column({ type: 'integer', nullable: true })
33
+ user_id: number | null;
34
+
35
+ @Column({ type: 'integer', nullable: true })
36
+ role_id: number | null;
37
+
38
+ @Column({ type: 'integer', nullable: true })
39
+ department_id: number | null;
40
+
41
+ @Column({ type: 'integer', nullable: true })
42
+ section_id: number | null;
43
+ }
@@ -1,35 +1,36 @@
1
- import { Column, Entity } from 'typeorm';
2
- import { BaseModel } from './BaseModel';
3
-
4
- @Entity({ name: 'project_faqs' })
5
- export class ProjectFaqs extends BaseModel {
6
- @Column({ type: 'boolean', default: false })
7
- is_popular: boolean;
8
-
9
- @Column({ type: 'text' })
10
- question: string;
11
-
12
- @Column({ type: 'int' })
13
- project_id: number;
14
-
15
- @Column({ type: 'int', nullable: true })
16
- department_id: number;
17
-
18
- @Column({ type: 'text', nullable: true })
19
- answer: string;
20
-
21
- constructor(
22
- question?: string,
23
- project_id?: number,
24
- department_id?: number,
25
- answer?: string,
26
- is_popular?: boolean
27
- ) {
28
- super();
29
- this.question = question ?? '';
30
- this.project_id = project_id ?? 0;
31
- this.department_id = department_id ?? 0;
32
- this.answer = answer ?? '';
33
- this.is_popular = is_popular ?? false;
34
- }
35
- }
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ @Entity({ name: 'project_faqs' })
5
+ export class ProjectFaqs extends BaseModel {
6
+ @Column({ type: 'boolean', default: false })
7
+ is_popular: boolean;
8
+
9
+ @Column({ type: 'text' })
10
+ question: string;
11
+
12
+ /** Null = global / general FAQ not tied to a project */
13
+ @Column({ type: 'int', nullable: true })
14
+ project_id: number | null;
15
+
16
+ @Column({ type: 'int', nullable: true })
17
+ department_id: number;
18
+
19
+ @Column({ type: 'text', nullable: true })
20
+ answer: string;
21
+
22
+ constructor(
23
+ question?: string,
24
+ project_id?: number | null,
25
+ department_id?: number,
26
+ answer?: string,
27
+ is_popular?: boolean
28
+ ) {
29
+ super();
30
+ this.question = question ?? '';
31
+ this.project_id = project_id ?? null;
32
+ this.department_id = department_id ?? 0;
33
+ this.answer = answer ?? '';
34
+ this.is_popular = is_popular ?? false;
35
+ }
36
+ }
@@ -1,41 +1,41 @@
1
- import { Column, Entity } from 'typeorm';
2
- import { BaseModel } from './BaseModel';
3
-
4
- @Entity({ name: 'project_invoices' })
5
- export class ProjectInvoices extends BaseModel {
6
- @Column({ type: 'int' })
7
- project_id: number;
8
-
9
- /** Optional link to a project milestone (same project). */
10
- @Column({ type: 'int', nullable: true })
11
- milestone_id: number | null;
12
-
13
- @Column({ type: 'text', nullable: true })
14
- invoice_link: string;
15
-
16
- @Column({ type: 'varchar', length: 500, nullable: true })
17
- filename: string;
18
-
19
- @Column({ type: 'bigint', nullable: true })
20
- filesize: number;
21
-
22
- @Column({ type: 'varchar', length: 100, nullable: true })
23
- filetype: string;
24
-
25
- constructor(
26
- project_id?: number,
27
- milestone_id?: number | null,
28
- invoice_link?: string,
29
- filename?: string,
30
- filesize?: number,
31
- filetype?: string
32
- ) {
33
- super();
34
- this.project_id = project_id ?? 0;
35
- this.milestone_id = milestone_id ?? null;
36
- this.invoice_link = invoice_link ?? '';
37
- this.filename = filename ?? '';
38
- this.filesize = filesize ?? 0;
39
- this.filetype = filetype ?? '';
40
- }
41
- }
1
+ import { Column, Entity } from 'typeorm';
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ @Entity({ name: 'project_invoices' })
5
+ export class ProjectInvoices extends BaseModel {
6
+ @Column({ type: 'int' })
7
+ project_id: number;
8
+
9
+ /** Optional link to a project milestone (same project). */
10
+ @Column({ type: 'int', nullable: true })
11
+ milestone_id: number | null;
12
+
13
+ @Column({ type: 'text', nullable: true })
14
+ invoice_link: string;
15
+
16
+ @Column({ type: 'varchar', length: 500, nullable: true })
17
+ filename: string;
18
+
19
+ @Column({ type: 'bigint', nullable: true })
20
+ filesize: number;
21
+
22
+ @Column({ type: 'varchar', length: 100, nullable: true })
23
+ filetype: string;
24
+
25
+ constructor(
26
+ project_id?: number,
27
+ milestone_id?: number | null,
28
+ invoice_link?: string,
29
+ filename?: string,
30
+ filesize?: number,
31
+ filetype?: string
32
+ ) {
33
+ super();
34
+ this.project_id = project_id ?? 0;
35
+ this.milestone_id = milestone_id ?? null;
36
+ this.invoice_link = invoice_link ?? '';
37
+ this.filename = filename ?? '';
38
+ this.filesize = filesize ?? 0;
39
+ this.filetype = filetype ?? '';
40
+ }
41
+ }