@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.
- package/.env +3 -11
- package/dist/data-source.js +18 -34
- package/dist/index.d.ts +9 -24
- package/dist/index.js +9 -24
- package/dist/models/AttendanceModel.d.ts +1 -2
- package/dist/models/AttendanceModel.js +1 -2
- package/dist/models/DiplomaticApprovalsModel.d.ts +25 -0
- package/dist/models/DiplomaticApprovalsModel.js +95 -0
- package/dist/models/DiplomaticAttachmentsModel.d.ts +12 -0
- package/dist/models/{GeneralServiceAttachmentsModel.js → DiplomaticAttachmentsModel.js} +22 -18
- package/dist/models/DiplomaticChatsModel.d.ts +11 -0
- package/dist/models/{GeneralServiceChatsModel.js → DiplomaticChatsModel.js} +21 -17
- package/dist/models/DiplomaticClubCardApprovalModel.d.ts +16 -0
- package/dist/models/DiplomaticClubCardApprovalModel.js +58 -0
- package/dist/models/DiplomaticClubCardAttachmentModel.d.ts +9 -0
- package/dist/models/{HelpdeskCategoriesModel.js → DiplomaticClubCardAttachmentModel.js} +22 -27
- package/dist/models/DiplomaticClubCardChatModel.d.ts +7 -0
- package/dist/models/{JobsModel.js → DiplomaticClubCardChatModel.js} +16 -29
- package/dist/models/DiplomaticClubCardMemberModel.d.ts +13 -0
- package/dist/models/DiplomaticClubCardMemberModel.js +60 -0
- package/dist/models/DiplomaticClubCardRequestModel.d.ts +33 -0
- package/dist/models/DiplomaticClubCardRequestModel.js +98 -0
- package/dist/models/DiplomaticClubCardWorkFlowModel.d.ts +12 -0
- package/dist/models/DiplomaticClubCardWorkFlowModel.js +42 -0
- package/dist/models/DiplomaticRequestsModel.d.ts +43 -0
- package/dist/models/DiplomaticRequestsModel.js +142 -0
- package/dist/models/DiplomaticServiceDetailsModel.d.ts +20 -0
- package/dist/models/DiplomaticServiceDetailsModel.js +65 -0
- package/dist/models/DiplomaticSettingsModel.d.ts +11 -0
- package/dist/models/DiplomaticSettingsModel.js +59 -0
- package/dist/models/DiplomaticTitleModel.d.ts +12 -0
- package/dist/models/DiplomaticTitleModel.js +45 -0
- package/dist/models/DiplomaticWorkFlowModel.d.ts +21 -0
- package/dist/models/DiplomaticWorkFlowModel.js +78 -0
- package/dist/models/EarlyCheckoutApprovalModel.d.ts +0 -1
- package/dist/models/EarlyCheckoutApprovalModel.js +0 -4
- package/dist/models/EarlyCheckoutChatModel.d.ts +0 -4
- package/dist/models/EarlyCheckoutChatModel.js +2 -28
- package/dist/models/EarlyCheckoutWorkflowModel.d.ts +0 -4
- package/dist/models/EarlyCheckoutWorkflowModel.js +0 -16
- package/dist/models/FinancialChatsModel.d.ts +1 -16
- package/dist/models/FinancialChatsModel.js +3 -33
- package/dist/models/FinancialRequestsModel.d.ts +1 -1
- package/dist/models/FinancialRequestsModel.js +3 -3
- package/dist/models/FinancialWorkFlowModel.d.ts +1 -3
- package/dist/models/FinancialWorkFlowModel.js +2 -11
- package/dist/models/LeaveApprovalsModel.d.ts +1 -4
- package/dist/models/LeaveApprovalsModel.js +0 -9
- package/dist/models/LeaveAttachmentsModel.d.ts +2 -6
- package/dist/models/LeaveAttachmentsModel.js +7 -27
- package/dist/models/LeaveChatModel.d.ts +1 -5
- package/dist/models/LeaveChatModel.js +2 -22
- package/dist/models/LeaveRequestModel.d.ts +1 -12
- package/dist/models/LeaveRequestModel.js +0 -35
- package/dist/models/LeaveWorkFlowModel.d.ts +1 -5
- package/dist/models/LeaveWorkFlowModel.js +2 -22
- package/dist/models/MounringLeaveRelationModel.d.ts +1 -2
- package/dist/models/MounringLeaveRelationModel.js +2 -7
- package/dist/models/PassportRequestApprovalModel.d.ts +22 -0
- package/dist/models/PassportRequestApprovalModel.js +91 -0
- package/dist/models/PassportRequestAttachmentModel.d.ts +10 -0
- package/dist/models/{HelpdeskSubCategoriesModel.js → PassportRequestAttachmentModel.js} +29 -29
- package/dist/models/PassportRequestChatModel.d.ts +8 -0
- package/dist/models/PassportRequestChatModel.js +44 -0
- package/dist/models/PassportRequestDependentModel.d.ts +20 -0
- package/dist/models/PassportRequestDependentModel.js +85 -0
- package/dist/models/PassportRequestModel.d.ts +40 -0
- package/dist/models/PassportRequestModel.js +128 -0
- package/dist/models/PassportRequestWorkFlowModel.d.ts +15 -0
- package/dist/models/PassportRequestWorkFlowModel.js +60 -0
- package/dist/models/ReimbursementRequestsModel.d.ts +1 -2
- package/dist/models/ReimbursementRequestsModel.js +4 -9
- package/dist/models/StayAfterHoursApprovalModel.d.ts +0 -1
- package/dist/models/StayAfterHoursApprovalModel.js +0 -4
- package/dist/models/StayAfterHoursChatModel.d.ts +0 -4
- package/dist/models/StayAfterHoursChatModel.js +2 -28
- package/dist/models/StayAfterHoursWorkflowModel.d.ts +0 -4
- package/dist/models/StayAfterHoursWorkflowModel.js +0 -16
- package/dist/models/SubscriptionAmountModel.d.ts +13 -0
- package/dist/models/SubscriptionAmountModel.js +49 -0
- package/dist/models/WorkflowTask.d.ts +2 -5
- package/dist/models/WorkflowTask.js +4 -28
- package/dist/models/WorkflowTaskNames.d.ts +3 -12
- package/dist/models/WorkflowTaskNames.js +9 -28
- package/package.json +1 -1
- package/src/data-source.ts +30 -45
- package/src/index.ts +9 -24
- package/src/models/AttendanceModel.ts +1 -2
- package/src/models/DiplomaticApprovalsModel.ts +78 -0
- package/src/models/DiplomaticAttachmentsModel.ts +45 -0
- package/src/models/DiplomaticChatsModel.ts +41 -0
- package/src/models/DiplomaticRequestsModel.ts +121 -0
- package/src/models/DiplomaticServiceDetailsModel.ts +51 -0
- package/src/models/DiplomaticSettingsModel.ts +45 -0
- package/src/models/DiplomaticTitleModel.ts +27 -0
- package/src/models/DiplomaticWorkFlowModel.ts +62 -0
- package/src/models/EarlyCheckoutApprovalModel.ts +0 -3
- package/src/models/EarlyCheckoutChatModel.ts +1 -34
- package/src/models/EarlyCheckoutWorkflowModel.ts +0 -12
- package/src/models/FinancialChatsModel.ts +1 -27
- package/src/models/FinancialRequestsModel.ts +2 -2
- package/src/models/FinancialWorkFlowModel.ts +1 -9
- package/src/models/LeaveApprovalsModel.ts +1 -8
- package/src/models/LeaveAttachmentsModel.ts +5 -21
- package/src/models/LeaveChatModel.ts +1 -17
- package/src/models/LeaveRequestModel.ts +1 -29
- package/src/models/LeaveWorkFlowModel.ts +1 -17
- package/src/models/MounringLeaveRelationModel.ts +1 -5
- package/src/models/ReimbursementRequestsModel.ts +6 -8
- package/src/models/StayAfterHoursApprovalModel.ts +0 -3
- package/src/models/StayAfterHoursChatModel.ts +1 -34
- package/src/models/StayAfterHoursWorkflowModel.ts +0 -12
- package/src/models/SubscriptionAmountModel.ts +30 -0
- package/src/models/WorkflowTask.ts +4 -31
- package/src/models/WorkflowTaskNames.ts +8 -27
- package/dist/models/CurrencyModel.d.ts +0 -10
- package/dist/models/CurrencyModel.js +0 -53
- package/dist/models/GeneralServiceApprovalsModel.d.ts +0 -26
- package/dist/models/GeneralServiceApprovalsModel.js +0 -109
- package/dist/models/GeneralServiceAttachmentsModel.d.ts +0 -10
- package/dist/models/GeneralServiceChatsModel.d.ts +0 -9
- package/dist/models/GeneralServiceRequestsModel.d.ts +0 -36
- package/dist/models/GeneralServiceRequestsModel.js +0 -137
- package/dist/models/GeneralServiceWorkFlowModel.d.ts +0 -21
- package/dist/models/GeneralServiceWorkFlowModel.js +0 -80
- package/dist/models/GroupModel.d.ts +0 -16
- package/dist/models/GroupModel.js +0 -44
- package/dist/models/GroupNamesModel.d.ts +0 -6
- package/dist/models/GroupNamesModel.js +0 -34
- package/dist/models/HelpContentMappedCategoriesModel.d.ts +0 -6
- package/dist/models/HelpContentMappedCategoriesModel.js +0 -34
- package/dist/models/HelpContentMappedTagsModel.d.ts +0 -6
- package/dist/models/HelpContentMappedTagsModel.js +0 -34
- package/dist/models/HelpContentTagsModel.d.ts +0 -5
- package/dist/models/HelpContentTagsModel.js +0 -29
- package/dist/models/HelpdeskCategoriesModel.d.ts +0 -9
- package/dist/models/HelpdeskSubCategoriesModel.d.ts +0 -10
- package/dist/models/IssueTypesModel.d.ts +0 -10
- package/dist/models/IssueTypesModel.js +0 -54
- package/dist/models/JobsModel.d.ts +0 -17
- package/dist/models/RoutingGroupsModel.d.ts +0 -13
- package/dist/models/RoutingGroupsModel.js +0 -67
- package/dist/models/TelephoneDirectoryModel.d.ts +0 -21
- package/dist/models/TelephoneDirectoryModel.js +0 -108
- package/dist/models/TransferMissionApprovalModel.d.ts +0 -21
- package/dist/models/TransferMissionApprovalModel.js +0 -75
- package/dist/models/TransferMissionAttachmentModel.d.ts +0 -11
- package/dist/models/TransferMissionAttachmentModel.js +0 -52
- package/dist/models/TransferMissionChatModel.d.ts +0 -19
- package/dist/models/TransferMissionChatModel.js +0 -78
- package/dist/models/TransferMissionRequestModel.d.ts +0 -36
- package/dist/models/TransferMissionRequestModel.js +0 -132
- package/dist/models/TransferMissionWorkflowModel.d.ts +0 -17
- package/dist/models/TransferMissionWorkflowModel.js +0 -62
- package/dist/models/UpdateAttendanceApprovalModel.d.ts +0 -21
- package/dist/models/UpdateAttendanceApprovalModel.js +0 -75
- package/dist/models/UpdateAttendanceChatModel.d.ts +0 -16
- package/dist/models/UpdateAttendanceChatModel.js +0 -52
- package/dist/models/UpdateAttendanceRequestModel.d.ts +0 -28
- package/dist/models/UpdateAttendanceRequestModel.js +0 -86
- package/dist/models/UpdateAttendanceWorkflowModel.d.ts +0 -13
- package/dist/models/UpdateAttendanceWorkflowModel.js +0 -46
- package/dist/models/WorkScheduleModel.d.ts +0 -19
- package/dist/models/WorkScheduleModel.js +0 -60
- package/dist/models/questionTagsModel.d.ts +0 -6
- package/dist/models/questionTagsModel.js +0 -34
- package/src/models/CurrencyModel.ts +0 -38
- package/src/models/GeneralServiceApprovalsModel.ts +0 -95
- package/src/models/GeneralServiceAttachmentsModel.ts +0 -43
- package/src/models/GeneralServiceChatsModel.ts +0 -39
- package/src/models/GeneralServiceRequestsModel.ts +0 -113
- package/src/models/GeneralServiceWorkFlowModel.ts +0 -78
- package/src/models/GroupModel.ts +0 -30
- package/src/models/GroupNamesModel.ts +0 -22
- package/src/models/HelpdeskCategoriesModel.ts +0 -35
- package/src/models/HelpdeskSubCategoriesModel.ts +0 -40
- package/src/models/IssueTypesModel.ts +0 -47
- package/src/models/JobsModel.ts +0 -37
- package/src/models/RoutingGroupsModel.ts +0 -64
- package/src/models/TelephoneDirectoryModel.ts +0 -84
- package/src/models/TransferMissionApprovalModel.ts +0 -49
- package/src/models/TransferMissionAttachmentModel.ts +0 -31
- package/src/models/TransferMissionChatModel.ts +0 -66
- package/src/models/TransferMissionRequestModel.ts +0 -94
- package/src/models/TransferMissionWorkflowModel.ts +0 -39
- package/src/models/UpdateAttendanceApprovalModel.ts +0 -50
- package/src/models/UpdateAttendanceChatModel.ts +0 -35
- package/src/models/UpdateAttendanceRequestModel.ts +0 -63
- package/src/models/UpdateAttendanceWorkflowModel.ts +0 -28
- 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,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
|
-
|
package/src/models/GroupModel.ts
DELETED
|
@@ -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
|
-
|