@platform-modules/foreign-ministry 1.1.52 → 1.1.54

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 (190) hide show
  1. package/.env +3 -11
  2. package/dist/data-source.js +18 -34
  3. package/dist/index.d.ts +9 -24
  4. package/dist/index.js +9 -24
  5. package/dist/models/AttendanceModel.d.ts +1 -2
  6. package/dist/models/AttendanceModel.js +1 -2
  7. package/dist/models/DiplomaticApprovalsModel.d.ts +25 -0
  8. package/dist/models/DiplomaticApprovalsModel.js +95 -0
  9. package/dist/models/DiplomaticAttachmentsModel.d.ts +12 -0
  10. package/dist/models/{GeneralServiceAttachmentsModel.js → DiplomaticAttachmentsModel.js} +22 -18
  11. package/dist/models/DiplomaticChatsModel.d.ts +11 -0
  12. package/dist/models/{GeneralServiceChatsModel.js → DiplomaticChatsModel.js} +21 -17
  13. package/dist/models/DiplomaticClubCardApprovalModel.d.ts +16 -0
  14. package/dist/models/DiplomaticClubCardApprovalModel.js +58 -0
  15. package/dist/models/DiplomaticClubCardAttachmentModel.d.ts +9 -0
  16. package/dist/models/{HelpdeskCategoriesModel.js → DiplomaticClubCardAttachmentModel.js} +22 -27
  17. package/dist/models/DiplomaticClubCardChatModel.d.ts +7 -0
  18. package/dist/models/{JobsModel.js → DiplomaticClubCardChatModel.js} +16 -29
  19. package/dist/models/DiplomaticClubCardMemberModel.d.ts +13 -0
  20. package/dist/models/DiplomaticClubCardMemberModel.js +60 -0
  21. package/dist/models/DiplomaticClubCardRequestModel.d.ts +33 -0
  22. package/dist/models/DiplomaticClubCardRequestModel.js +98 -0
  23. package/dist/models/DiplomaticClubCardWorkFlowModel.d.ts +12 -0
  24. package/dist/models/DiplomaticClubCardWorkFlowModel.js +42 -0
  25. package/dist/models/DiplomaticRequestsModel.d.ts +43 -0
  26. package/dist/models/DiplomaticRequestsModel.js +142 -0
  27. package/dist/models/DiplomaticServiceDetailsModel.d.ts +20 -0
  28. package/dist/models/DiplomaticServiceDetailsModel.js +65 -0
  29. package/dist/models/DiplomaticSettingsModel.d.ts +11 -0
  30. package/dist/models/DiplomaticSettingsModel.js +59 -0
  31. package/dist/models/DiplomaticTitleModel.d.ts +12 -0
  32. package/dist/models/DiplomaticTitleModel.js +45 -0
  33. package/dist/models/DiplomaticWorkFlowModel.d.ts +21 -0
  34. package/dist/models/DiplomaticWorkFlowModel.js +78 -0
  35. package/dist/models/EarlyCheckoutApprovalModel.d.ts +0 -1
  36. package/dist/models/EarlyCheckoutApprovalModel.js +0 -4
  37. package/dist/models/EarlyCheckoutChatModel.d.ts +0 -4
  38. package/dist/models/EarlyCheckoutChatModel.js +2 -28
  39. package/dist/models/EarlyCheckoutWorkflowModel.d.ts +0 -4
  40. package/dist/models/EarlyCheckoutWorkflowModel.js +0 -16
  41. package/dist/models/FinancialChatsModel.d.ts +1 -16
  42. package/dist/models/FinancialChatsModel.js +3 -33
  43. package/dist/models/FinancialRequestsModel.d.ts +1 -1
  44. package/dist/models/FinancialRequestsModel.js +3 -3
  45. package/dist/models/FinancialWorkFlowModel.d.ts +1 -3
  46. package/dist/models/FinancialWorkFlowModel.js +2 -11
  47. package/dist/models/LeaveApprovalsModel.d.ts +1 -4
  48. package/dist/models/LeaveApprovalsModel.js +0 -9
  49. package/dist/models/LeaveAttachmentsModel.d.ts +2 -6
  50. package/dist/models/LeaveAttachmentsModel.js +7 -27
  51. package/dist/models/LeaveChatModel.d.ts +1 -5
  52. package/dist/models/LeaveChatModel.js +2 -22
  53. package/dist/models/LeaveRequestModel.d.ts +1 -12
  54. package/dist/models/LeaveRequestModel.js +0 -35
  55. package/dist/models/LeaveWorkFlowModel.d.ts +1 -5
  56. package/dist/models/LeaveWorkFlowModel.js +2 -22
  57. package/dist/models/MounringLeaveRelationModel.d.ts +1 -2
  58. package/dist/models/MounringLeaveRelationModel.js +2 -7
  59. package/dist/models/PassportRequestApprovalModel.d.ts +22 -0
  60. package/dist/models/PassportRequestApprovalModel.js +91 -0
  61. package/dist/models/PassportRequestAttachmentModel.d.ts +10 -0
  62. package/dist/models/{HelpdeskSubCategoriesModel.js → PassportRequestAttachmentModel.js} +29 -29
  63. package/dist/models/PassportRequestChatModel.d.ts +8 -0
  64. package/dist/models/PassportRequestChatModel.js +44 -0
  65. package/dist/models/PassportRequestDependentModel.d.ts +20 -0
  66. package/dist/models/PassportRequestDependentModel.js +85 -0
  67. package/dist/models/PassportRequestModel.d.ts +40 -0
  68. package/dist/models/PassportRequestModel.js +128 -0
  69. package/dist/models/PassportRequestWorkFlowModel.d.ts +15 -0
  70. package/dist/models/PassportRequestWorkFlowModel.js +60 -0
  71. package/dist/models/ReimbursementRequestsModel.d.ts +1 -2
  72. package/dist/models/ReimbursementRequestsModel.js +4 -9
  73. package/dist/models/StayAfterHoursApprovalModel.d.ts +0 -1
  74. package/dist/models/StayAfterHoursApprovalModel.js +0 -4
  75. package/dist/models/StayAfterHoursChatModel.d.ts +0 -4
  76. package/dist/models/StayAfterHoursChatModel.js +2 -28
  77. package/dist/models/StayAfterHoursWorkflowModel.d.ts +0 -4
  78. package/dist/models/StayAfterHoursWorkflowModel.js +0 -16
  79. package/dist/models/SubscriptionAmountModel.d.ts +13 -0
  80. package/dist/models/SubscriptionAmountModel.js +49 -0
  81. package/dist/models/WorkflowTask.d.ts +2 -5
  82. package/dist/models/WorkflowTask.js +4 -28
  83. package/dist/models/WorkflowTaskNames.d.ts +3 -12
  84. package/dist/models/WorkflowTaskNames.js +9 -28
  85. package/package.json +1 -1
  86. package/src/data-source.ts +30 -45
  87. package/src/index.ts +9 -24
  88. package/src/models/AttendanceModel.ts +1 -2
  89. package/src/models/DiplomaticApprovalsModel.ts +78 -0
  90. package/src/models/DiplomaticAttachmentsModel.ts +45 -0
  91. package/src/models/DiplomaticChatsModel.ts +41 -0
  92. package/src/models/DiplomaticRequestsModel.ts +121 -0
  93. package/src/models/DiplomaticServiceDetailsModel.ts +51 -0
  94. package/src/models/DiplomaticSettingsModel.ts +45 -0
  95. package/src/models/DiplomaticTitleModel.ts +27 -0
  96. package/src/models/DiplomaticWorkFlowModel.ts +62 -0
  97. package/src/models/EarlyCheckoutApprovalModel.ts +0 -3
  98. package/src/models/EarlyCheckoutChatModel.ts +1 -34
  99. package/src/models/EarlyCheckoutWorkflowModel.ts +0 -12
  100. package/src/models/FinancialChatsModel.ts +1 -27
  101. package/src/models/FinancialRequestsModel.ts +2 -2
  102. package/src/models/FinancialWorkFlowModel.ts +1 -9
  103. package/src/models/LeaveApprovalsModel.ts +1 -8
  104. package/src/models/LeaveAttachmentsModel.ts +5 -21
  105. package/src/models/LeaveChatModel.ts +1 -17
  106. package/src/models/LeaveRequestModel.ts +1 -29
  107. package/src/models/LeaveWorkFlowModel.ts +1 -17
  108. package/src/models/MounringLeaveRelationModel.ts +1 -5
  109. package/src/models/ReimbursementRequestsModel.ts +6 -8
  110. package/src/models/StayAfterHoursApprovalModel.ts +0 -3
  111. package/src/models/StayAfterHoursChatModel.ts +1 -34
  112. package/src/models/StayAfterHoursWorkflowModel.ts +0 -12
  113. package/src/models/SubscriptionAmountModel.ts +30 -0
  114. package/src/models/WorkflowTask.ts +4 -31
  115. package/src/models/WorkflowTaskNames.ts +8 -27
  116. package/dist/models/CurrencyModel.d.ts +0 -10
  117. package/dist/models/CurrencyModel.js +0 -53
  118. package/dist/models/GeneralServiceApprovalsModel.d.ts +0 -26
  119. package/dist/models/GeneralServiceApprovalsModel.js +0 -109
  120. package/dist/models/GeneralServiceAttachmentsModel.d.ts +0 -10
  121. package/dist/models/GeneralServiceChatsModel.d.ts +0 -9
  122. package/dist/models/GeneralServiceRequestsModel.d.ts +0 -36
  123. package/dist/models/GeneralServiceRequestsModel.js +0 -137
  124. package/dist/models/GeneralServiceWorkFlowModel.d.ts +0 -21
  125. package/dist/models/GeneralServiceWorkFlowModel.js +0 -80
  126. package/dist/models/GroupModel.d.ts +0 -16
  127. package/dist/models/GroupModel.js +0 -44
  128. package/dist/models/GroupNamesModel.d.ts +0 -6
  129. package/dist/models/GroupNamesModel.js +0 -34
  130. package/dist/models/HelpContentMappedCategoriesModel.d.ts +0 -6
  131. package/dist/models/HelpContentMappedCategoriesModel.js +0 -34
  132. package/dist/models/HelpContentMappedTagsModel.d.ts +0 -6
  133. package/dist/models/HelpContentMappedTagsModel.js +0 -34
  134. package/dist/models/HelpContentTagsModel.d.ts +0 -5
  135. package/dist/models/HelpContentTagsModel.js +0 -29
  136. package/dist/models/HelpdeskCategoriesModel.d.ts +0 -9
  137. package/dist/models/HelpdeskSubCategoriesModel.d.ts +0 -10
  138. package/dist/models/IssueTypesModel.d.ts +0 -10
  139. package/dist/models/IssueTypesModel.js +0 -54
  140. package/dist/models/JobsModel.d.ts +0 -17
  141. package/dist/models/RoutingGroupsModel.d.ts +0 -13
  142. package/dist/models/RoutingGroupsModel.js +0 -67
  143. package/dist/models/TelephoneDirectoryModel.d.ts +0 -21
  144. package/dist/models/TelephoneDirectoryModel.js +0 -108
  145. package/dist/models/TransferMissionApprovalModel.d.ts +0 -21
  146. package/dist/models/TransferMissionApprovalModel.js +0 -75
  147. package/dist/models/TransferMissionAttachmentModel.d.ts +0 -11
  148. package/dist/models/TransferMissionAttachmentModel.js +0 -52
  149. package/dist/models/TransferMissionChatModel.d.ts +0 -19
  150. package/dist/models/TransferMissionChatModel.js +0 -78
  151. package/dist/models/TransferMissionRequestModel.d.ts +0 -36
  152. package/dist/models/TransferMissionRequestModel.js +0 -132
  153. package/dist/models/TransferMissionWorkflowModel.d.ts +0 -17
  154. package/dist/models/TransferMissionWorkflowModel.js +0 -62
  155. package/dist/models/UpdateAttendanceApprovalModel.d.ts +0 -21
  156. package/dist/models/UpdateAttendanceApprovalModel.js +0 -75
  157. package/dist/models/UpdateAttendanceChatModel.d.ts +0 -16
  158. package/dist/models/UpdateAttendanceChatModel.js +0 -52
  159. package/dist/models/UpdateAttendanceRequestModel.d.ts +0 -28
  160. package/dist/models/UpdateAttendanceRequestModel.js +0 -86
  161. package/dist/models/UpdateAttendanceWorkflowModel.d.ts +0 -13
  162. package/dist/models/UpdateAttendanceWorkflowModel.js +0 -46
  163. package/dist/models/WorkScheduleModel.d.ts +0 -19
  164. package/dist/models/WorkScheduleModel.js +0 -60
  165. package/dist/models/questionTagsModel.d.ts +0 -6
  166. package/dist/models/questionTagsModel.js +0 -34
  167. package/src/models/CurrencyModel.ts +0 -38
  168. package/src/models/GeneralServiceApprovalsModel.ts +0 -95
  169. package/src/models/GeneralServiceAttachmentsModel.ts +0 -43
  170. package/src/models/GeneralServiceChatsModel.ts +0 -39
  171. package/src/models/GeneralServiceRequestsModel.ts +0 -113
  172. package/src/models/GeneralServiceWorkFlowModel.ts +0 -78
  173. package/src/models/GroupModel.ts +0 -30
  174. package/src/models/GroupNamesModel.ts +0 -22
  175. package/src/models/HelpdeskCategoriesModel.ts +0 -35
  176. package/src/models/HelpdeskSubCategoriesModel.ts +0 -40
  177. package/src/models/IssueTypesModel.ts +0 -47
  178. package/src/models/JobsModel.ts +0 -37
  179. package/src/models/RoutingGroupsModel.ts +0 -64
  180. package/src/models/TelephoneDirectoryModel.ts +0 -84
  181. package/src/models/TransferMissionApprovalModel.ts +0 -49
  182. package/src/models/TransferMissionAttachmentModel.ts +0 -31
  183. package/src/models/TransferMissionChatModel.ts +0 -66
  184. package/src/models/TransferMissionRequestModel.ts +0 -94
  185. package/src/models/TransferMissionWorkflowModel.ts +0 -39
  186. package/src/models/UpdateAttendanceApprovalModel.ts +0 -50
  187. package/src/models/UpdateAttendanceChatModel.ts +0 -35
  188. package/src/models/UpdateAttendanceRequestModel.ts +0 -63
  189. package/src/models/UpdateAttendanceWorkflowModel.ts +0 -28
  190. package/src/models/WorkScheduleModel.ts +0 -47
@@ -1,60 +0,0 @@
1
- "use strict";
2
- /**
3
- * @author
4
- * Amnet Digital
5
- * @date
6
- * 2024-12-20
7
- * @Model
8
- * WorkSchedule
9
- * @usage
10
- * Work Schedule Information will store
11
- */
12
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
13
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
15
- 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;
16
- return c > 3 && r && Object.defineProperty(target, key, r), r;
17
- };
18
- var __metadata = (this && this.__metadata) || function (k, v) {
19
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
20
- };
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.WorkSchedule = void 0;
23
- const typeorm_1 = require("typeorm");
24
- const BaseModel_1 = require("./BaseModel");
25
- let WorkSchedule = class WorkSchedule extends BaseModel_1.BaseModel {
26
- constructor(from_date, to_date, from_time, to_time, reason) {
27
- super();
28
- this.from_date = from_date;
29
- this.to_date = to_date;
30
- this.from_time = from_time;
31
- this.to_time = to_time;
32
- this.reason = reason || null;
33
- }
34
- };
35
- exports.WorkSchedule = WorkSchedule;
36
- __decorate([
37
- (0, typeorm_1.Column)({ type: 'date', nullable: false }),
38
- __metadata("design:type", Date)
39
- ], WorkSchedule.prototype, "from_date", void 0);
40
- __decorate([
41
- (0, typeorm_1.Column)({ type: 'date', nullable: false }),
42
- __metadata("design:type", Date)
43
- ], WorkSchedule.prototype, "to_date", void 0);
44
- __decorate([
45
- (0, typeorm_1.Column)({ type: 'time', nullable: false }),
46
- __metadata("design:type", String)
47
- ], WorkSchedule.prototype, "from_time", void 0);
48
- __decorate([
49
- (0, typeorm_1.Column)({ type: 'time', nullable: false }),
50
- __metadata("design:type", String)
51
- ], WorkSchedule.prototype, "to_time", void 0);
52
- __decorate([
53
- (0, typeorm_1.Column)({ type: 'text', nullable: true }),
54
- __metadata("design:type", Object)
55
- ], WorkSchedule.prototype, "reason", void 0);
56
- exports.WorkSchedule = WorkSchedule = __decorate([
57
- (0, typeorm_1.Entity)({ name: 'work_schedules' }),
58
- __metadata("design:paramtypes", [Date,
59
- Date, String, String, String])
60
- ], WorkSchedule);
@@ -1,6 +0,0 @@
1
- import { BaseModel } from './BaseModel';
2
- export declare class QuestionTags extends BaseModel {
3
- name: string;
4
- question_Id: number;
5
- constructor(name: string, question_Id: number);
6
- }
@@ -1,34 +0,0 @@
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.QuestionTags = void 0;
13
- const typeorm_1 = require("typeorm");
14
- const BaseModel_1 = require("./BaseModel");
15
- let QuestionTags = class QuestionTags extends BaseModel_1.BaseModel {
16
- constructor(name, question_Id) {
17
- super();
18
- this.name = name,
19
- this.question_Id = question_Id;
20
- }
21
- };
22
- exports.QuestionTags = QuestionTags;
23
- __decorate([
24
- (0, typeorm_1.Column)({ nullable: true }),
25
- __metadata("design:type", String)
26
- ], QuestionTags.prototype, "name", void 0);
27
- __decorate([
28
- (0, typeorm_1.Column)({ nullable: true }),
29
- __metadata("design:type", Number)
30
- ], QuestionTags.prototype, "question_Id", void 0);
31
- exports.QuestionTags = QuestionTags = __decorate([
32
- (0, typeorm_1.Entity)({ name: 'question_tags' }),
33
- __metadata("design:paramtypes", [String, Number])
34
- ], QuestionTags);
@@ -1,38 +0,0 @@
1
- import { Entity, Column, PrimaryGeneratedColumn } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- @Entity({ name: "currencies" })
5
- export class Currency extends BaseModel {
6
- @PrimaryGeneratedColumn()
7
- id: number;
8
-
9
- @Column({ type: "varchar", length: 10, nullable: false, unique: true })
10
- code: string; // Currency code (e.g., "OMR", "USD")
11
-
12
- @Column({ type: "varchar", length: 255, nullable: false })
13
- name: string; // Currency name (e.g., "Omani Rial", "US Dollar")
14
-
15
- @Column({ type: "varchar", length: 10, nullable: true })
16
- symbol: string; // Currency symbol (e.g., "﷼", "$")
17
-
18
- @Column({ type: "text", nullable: true })
19
- countries: string; // JSON array of countries as string (e.g., '["Oman"]')
20
-
21
- @Column({ type: "boolean", default: true })
22
- is_active: boolean;
23
-
24
- constructor(
25
- code: string,
26
- name: string,
27
- symbol?: string,
28
- countries?: string
29
- ) {
30
- super();
31
- this.code = code;
32
- this.name = name;
33
- this.symbol = symbol || '';
34
- this.countries = countries || '[]';
35
- this.is_active = true;
36
- }
37
- }
38
-
@@ -1,95 +0,0 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- export enum GeneralServiceApprovalStatus {
5
- PENDING = "Pending",
6
- APPROVED = "Approved",
7
- REJECTED = "Rejected",
8
- SKIPPED = "Skipped",
9
- IN_PROGRESS = "In Progress"
10
- }
11
-
12
- @Entity({ name: 'general_service_approvals' })
13
- export class GeneralServiceApprovals extends BaseModel {
14
- @Column({ type: 'int' })
15
- request_id: number;
16
-
17
- @Column({ type: 'int' })
18
- level: number;
19
-
20
- @Column({ type: 'int', nullable: true })
21
- approver_user_id: number | null;
22
-
23
- @Column({ type: 'int' })
24
- approver_role_id: number;
25
-
26
- @Column({ type: 'text', nullable: true })
27
- comment: string | null;
28
-
29
- @Column({ type: 'enum', enum: GeneralServiceApprovalStatus, default: GeneralServiceApprovalStatus.PENDING })
30
- approval_status: GeneralServiceApprovalStatus;
31
-
32
- @Column({ type: 'timestamp', nullable: true })
33
- action_date: Date;
34
-
35
- @Column({ type: 'int', nullable: true })
36
- department_id: number | null;
37
-
38
- @Column({ type: 'int', nullable: true })
39
- section_id: number | null;
40
-
41
- @Column({ type: 'int', nullable: true })
42
- approved_by: number | null;
43
-
44
- @Column({ type: 'int', nullable: true })
45
- service_id: number | null; // For filtering and multi-service support
46
-
47
- @Column({ type: 'int', nullable: true })
48
- sub_service_id: number | null; // For filtering and multi-service support
49
-
50
- // Helpdesk-specific fields (for assignment/routing tracking)
51
- @Column({ type: 'int', nullable: true })
52
- assigned_group_id: number | null; // Assigned group ID (for helpdesk routing)
53
-
54
- @Column({ type: 'int', nullable: true })
55
- transfer_from_user_id: number | null; // User who transferred from
56
-
57
- @Column({ type: 'int', nullable: true })
58
- transfer_to_user_id: number | null; // User who transferred to
59
-
60
- // @Column({ type: 'timestamp', nullable: true })
61
- // sla_start_time: Date | null; // SLA tracking start time for this assignment
62
-
63
- // @Column({ type: 'timestamp', nullable: true })
64
- // sla_end_time: Date | null; // SLA tracking end time for this assignment
65
-
66
- // @Column({ type: 'boolean', default: false })
67
- // sla_breached: boolean; // Whether SLA was breached for this assignment
68
-
69
- // Note: No relationship mapping - this table is generic and can be used with any request table
70
- // Use request_id to join manually when needed
71
-
72
- constructor(
73
- request_id: number,
74
- level: number,
75
- approver_role_id: number,
76
- approval_status: GeneralServiceApprovalStatus,
77
- department_id: number | null,
78
- section_id: number | null,
79
- approved_by: number | null,
80
- service_id?: number | null,
81
- sub_service_id?: number | null
82
- ) {
83
- super();
84
- this.request_id = request_id;
85
- this.level = level;
86
- this.approver_role_id = approver_role_id;
87
- this.approval_status = approval_status;
88
- this.department_id = department_id;
89
- this.section_id = section_id;
90
- this.approved_by = approved_by;
91
- this.service_id = service_id || null;
92
- this.sub_service_id = sub_service_id || null;
93
- }
94
- }
95
-
@@ -1,43 +0,0 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- @Entity({ name: 'general_service_attachments' })
5
- export class GeneralServiceAttachments extends BaseModel {
6
- @Column({ type: 'int' })
7
- request_id: number;
8
-
9
- @Column({ type: 'varchar', length: 500 })
10
- file_url: string;
11
-
12
- @Column({ type: 'varchar', length: 255 })
13
- file_name: string;
14
-
15
- @Column({ type: 'varchar', length: 50, nullable: true })
16
- file_type: string; // PDF, JPG, PNG, etc.
17
-
18
- @Column({ type: 'int', nullable: true })
19
- service_id: number | null; // For filtering and multi-service support
20
-
21
- @Column({ type: 'int', nullable: true })
22
- sub_service_id: number | null; // For filtering and multi-service support
23
-
24
- // Note: No relationship mapping - this table is generic and can be used with any request table
25
- // Use request_id to join manually when needed
26
-
27
- constructor(
28
- request_id: number,
29
- file_url: string,
30
- file_name: string,
31
- service_id?: number | null,
32
- sub_service_id?: number | null
33
- ) {
34
- super();
35
- this.request_id = request_id;
36
- this.file_url = file_url;
37
- this.file_name = file_name;
38
- this.file_type = 'PDF';
39
- this.service_id = service_id || null;
40
- this.sub_service_id = sub_service_id || null;
41
- }
42
- }
43
-
@@ -1,39 +0,0 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- @Entity({ name: 'general_service_chats' })
5
- export class GeneralServiceChats extends BaseModel {
6
- @Column({ type: 'int' })
7
- request_id: number;
8
-
9
- @Column({ type: 'text' })
10
- content: string;
11
-
12
- @Column({ type: 'int' })
13
- sender_user_id: number;
14
-
15
- @Column({ type: 'int', nullable: true })
16
- service_id: number | null; // For filtering and multi-service support
17
-
18
- @Column({ type: 'int', nullable: true })
19
- sub_service_id: number | null; // For filtering and multi-service support
20
-
21
- // Note: No relationship mapping - this table is generic and can be used with any request table
22
- // Use request_id to join manually when needed
23
-
24
- constructor(
25
- request_id: number,
26
- content: string,
27
- sender_user_id: number,
28
- service_id?: number | null,
29
- sub_service_id?: number | null
30
- ) {
31
- super();
32
- this.request_id = request_id;
33
- this.content = content;
34
- this.sender_user_id = sender_user_id;
35
- this.service_id = service_id || null;
36
- this.sub_service_id = sub_service_id || null;
37
- }
38
- }
39
-
@@ -1,113 +0,0 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- export enum GeneralServiceRequestStatus {
5
- DRAFT = "Draft",
6
- SUBMITTED = "Submitted",
7
- PENDING = "Pending",
8
- IN_PROGRESS = "In Progress",
9
- APPROVED = "Approved",
10
- REJECTED = "Rejected",
11
- COMPLETED = "Completed",
12
- CANCELLED = "Cancelled"
13
- }
14
-
15
- @Entity({ name: 'general_service_requests' })
16
- export class GeneralServiceRequests extends BaseModel {
17
- @Column({ type: 'int' })
18
- user_id: number;
19
-
20
- @Column({ type: 'varchar', length: 20, nullable: true })
21
- contact_number: string | null;
22
-
23
- @Column({ type: 'varchar', length: 255, nullable: true })
24
- person_name: string | null;
25
-
26
- @Column({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' })
27
- request_date: Date;
28
-
29
- @Column({ type: 'enum', enum: GeneralServiceRequestStatus, default: GeneralServiceRequestStatus.PENDING })
30
- request_status: GeneralServiceRequestStatus;
31
-
32
- @Column({ type: 'timestamp', nullable: true })
33
- request_close_date: Date | null;
34
-
35
- @Column({ type: 'text', nullable: true })
36
- problem: string | null;
37
-
38
- @Column({ type: 'int', nullable: true })
39
- service_id: number | null;
40
-
41
- @Column({ type: 'int', nullable: true })
42
- sub_service_id: number | null;
43
-
44
- @Column({ type: 'int', nullable: true })
45
- section_id: number | null;
46
-
47
- @Column({ type: 'varchar', length: 255, nullable: true })
48
- workflow_execution_id: string | null;
49
-
50
- @Column({ type: 'int', nullable: true })
51
- issue_type_id: number | null; // Reference to issue types table
52
-
53
- @Column({ type: 'int', nullable: true })
54
- assigned_group_id: number | null; // Reference to routing groups table
55
-
56
- @Column({ type: 'varchar', length: 255, nullable: true })
57
- group_name: string | null; // Auto-populated routing group name
58
-
59
- // Helpdesk-specific fields
60
- @Column({ type: 'int', nullable: true })
61
- category_id: number | null; // Helpdesk category (IT, Non-IT, etc.)
62
-
63
- @Column({ type: 'int', nullable: true })
64
- subcategory_id: number | null; // Helpdesk subcategory
65
-
66
-
67
- @Column({ type: 'int', nullable: true })
68
- current_assignee_group_id: number | null; // Currently assigned group
69
-
70
- @Column({ type: 'int', nullable: true })
71
- current_assignee_user_id: number | null; // Currently assigned individual user (for individual routing)
72
-
73
- @Column({ type: 'text', nullable: true })
74
- closure_reason: string | null; // Reason for closure (requirement #12)
75
-
76
- @Column({ type: 'text', nullable: true })
77
- description: string | null;
78
-
79
- @Column({ type: 'text', nullable: true })
80
- extension_number: string | null;
81
-
82
- @Column({ type: 'text', nullable: true })
83
- priority: string | null;
84
-
85
- // @Column({ type: 'timestamp', nullable: true })
86
- // sla_start_time: Date | null; // SLA tracking start time
87
-
88
- // @Column({ type: 'timestamp', nullable: true })
89
- // sla_end_time: Date | null; // SLA tracking end time
90
-
91
- // @Column({ type: 'boolean', default: false })
92
- // sla_breached: boolean; // Whether SLA was breached
93
-
94
- // Note: No relationship mappings - these 4 tables (approvals, workflows, chats, attachments)
95
- // are generic and can be used with any request table. Use request_id to join manually when needed.
96
-
97
- constructor(
98
- user_id: number,
99
- service_id: number | null,
100
- sub_service_id: number | null,
101
- section_id: number | null,
102
- ) {
103
- super();
104
- this.user_id = user_id;
105
-
106
- this.request_date = new Date();
107
- this.request_status = GeneralServiceRequestStatus.PENDING;
108
- this.service_id = service_id;
109
- this.sub_service_id = sub_service_id;
110
- this.section_id = section_id;
111
- }
112
- }
113
-
@@ -1,78 +0,0 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- export enum GeneralServiceWorkFlowStatus {
5
- COMPLETED = "Completed",
6
- NOT_YET_STARTED = "Not Yet Started",
7
- PENDING = "Pending",
8
- IN_PROGRESS = "In Progress",
9
- FAILED = "Failed"
10
- }
11
-
12
- @Entity({ name: 'general_service_work_flows' })
13
- export class GeneralServiceWorkFlow extends BaseModel {
14
- @Column({ type: 'int' })
15
- request_id: number;
16
-
17
- @Column({ type: 'int', nullable: true, default: 0 })
18
- approval_id: number;
19
-
20
- @Column({ type: 'enum', enum: GeneralServiceWorkFlowStatus, default: GeneralServiceWorkFlowStatus.NOT_YET_STARTED })
21
- status: GeneralServiceWorkFlowStatus;
22
-
23
- @Column({ type: 'int', nullable: true })
24
- approved_by_user_id: number;
25
-
26
- @Column({ type: 'int', nullable: true })
27
- approved_by_role_id: number;
28
-
29
- @Column({ type: 'varchar', length: 500 })
30
- content: string;
31
-
32
- @Column({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' })
33
- date: Date;
34
-
35
- @Column({ type: 'int', nullable: true })
36
- service_id: number | null; // For filtering and multi-service support
37
-
38
- @Column({ type: 'int', nullable: true })
39
- sub_service_id: number | null; // For filtering and multi-service support
40
-
41
- // Helpdesk-specific fields (for transfer tracking and closure)
42
- // @Column({ type: 'int', nullable: true })
43
- // transfer_from_group_id: number | null; // Group transferred from
44
-
45
- // @Column({ type: 'int', nullable: true })
46
- // transfer_to_group_id: number | null; // Group transferred to
47
-
48
- // @Column({ type: 'int', nullable: true })
49
- // transfer_from_user_id: number | null; // User transferred from
50
-
51
- // @Column({ type: 'int', nullable: true })
52
- // transfer_to_user_id: number | null; // User transferred to
53
-
54
- @Column({ type: 'text', nullable: true })
55
- closure_reason: string | null; // Reason for closure (requirement #12)
56
-
57
-
58
- constructor(
59
- request_id: number,
60
- status: GeneralServiceWorkFlowStatus,
61
- approved_by_user_id: number,
62
- approved_by_role_id: number,
63
- content: string,
64
- service_id?: number | null,
65
- sub_service_id?: number | null
66
- ) {
67
- super();
68
- this.request_id = request_id;
69
- this.status = status;
70
- this.approved_by_user_id = approved_by_user_id;
71
- this.approved_by_role_id = approved_by_role_id;
72
- this.content = content;
73
- this.date = new Date();
74
- this.service_id = service_id || null;
75
- this.sub_service_id = sub_service_id || null;
76
- }
77
- }
78
-
@@ -1,30 +0,0 @@
1
- /** *
2
- @author
3
- Amnet Digital
4
- @date
5
- 2024-05-20
6
- @Model
7
- Group
8
- @usage
9
- Group Information will store
10
- */
11
-
12
- import { Column, Entity } from "typeorm";
13
- import { BaseModel } from './BaseModel';
14
-
15
-
16
- @Entity({ name: 'Groups' })
17
- export class Group extends BaseModel {
18
-
19
- @Column({ type: 'bigint', nullable: false })
20
- group_id: number;
21
-
22
- @Column({ type: 'bigint', nullable: false })
23
- user_id: number;
24
-
25
- constructor(group_id: number, user_id: number) {
26
- super();
27
- this.group_id = group_id
28
- this.user_id = user_id
29
- }
30
- }
@@ -1,22 +0,0 @@
1
-
2
- import { Column, Entity } from "typeorm";
3
- import { BaseModel } from './BaseModel';
4
-
5
- @Entity({ name: 'group_names' })
6
- export class GroupNames extends BaseModel {
7
-
8
- @Column({ nullable: false })
9
- name: string;
10
-
11
- @Column({ nullable: true })
12
- description: string;
13
-
14
- constructor(
15
- name: string,
16
- description: string
17
- ) {
18
- super();
19
- this.name = name;
20
- this.description = description;
21
- }
22
- }
@@ -1,35 +0,0 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- @Entity({ name: 'helpdesk_categories' })
5
- export class HelpdeskCategories extends BaseModel {
6
- @Column({ type: 'varchar', length: 255 })
7
- name: string; // e.g., "IT", "Non-IT", "HR", "Finance"
8
-
9
- @Column({ type: 'varchar', length: 500, nullable: true })
10
- description: string | null;
11
-
12
- @Column({ type: 'varchar', length: 50, nullable: true })
13
- code: string | null; // e.g., "IT", "NON_IT"
14
-
15
- @Column({ type: 'boolean', default: true })
16
- is_active: boolean;
17
-
18
- @Column({ type: 'int', nullable: true })
19
- priority: number | null; // For ordering
20
-
21
- constructor(
22
- name: string,
23
- description?: string | null,
24
- code?: string | null,
25
- priority?: number | null
26
- ) {
27
- super();
28
- this.name = name;
29
- this.description = description || null;
30
- this.code = code || null;
31
- this.is_active = true;
32
- this.priority = priority || null;
33
- }
34
- }
35
-
@@ -1,40 +0,0 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- @Entity({ name: 'helpdesk_sub_categories' })
5
- export class HelpdeskSubCategories extends BaseModel {
6
- @Column({ type: 'varchar', length: 255 })
7
- name: string; // e.g., "Hardware", "Software", "Network", "Payroll", "Leave"
8
-
9
- @Column({ type: 'varchar', length: 500, nullable: true })
10
- description: string | null;
11
-
12
- @Column({ type: 'int' })
13
- category_id: number; // Reference to helpdesk_categories (use join in queries)
14
-
15
- @Column({ type: 'varchar', length: 50, nullable: true })
16
- code: string | null; // e.g., "HW", "SW", "NET"
17
-
18
- @Column({ type: 'boolean', default: true })
19
- is_active: boolean;
20
-
21
- @Column({ type: 'int', nullable: true })
22
- priority: number | null; // For ordering
23
-
24
- constructor(
25
- name: string,
26
- category_id: number,
27
- description?: string | null,
28
- code?: string | null,
29
- priority?: number | null
30
- ) {
31
- super();
32
- this.name = name;
33
- this.category_id = category_id;
34
- this.description = description || null;
35
- this.code = code || null;
36
- this.is_active = true;
37
- this.priority = priority || null;
38
- }
39
- }
40
-