law-common 12.8.1-beta.2 → 12.8.1-beta.20
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/dist/src/api/interface/work_from_home.create.dto.interface.d.ts +1 -1
- package/dist/src/api/interface/work_from_home.update.dto.interface.d.ts +1 -6
- package/dist/src/api/interface/work_from_home.update.dto.interface.js +0 -5
- package/dist/src/entities/enums/work_from_home_status_enum.js +9 -0
- package/dist/src/entities/flow-configs/work_from_home_flow.config.js +11 -67
- package/dist/src/entities/interface/work_from_home.entity.interface.d.ts +1 -1
- package/dist/src/entities/model/work_from_home.entity.model.d.ts +18 -16
- package/dist/src/entities/model/work_from_home.entity.model.js +19 -4
- package/package.json +1 -1
- package/dist/src/api/interface/work.from.home.create.dto.interface.d.ts +0 -0
- package/dist/src/api/interface/work.from.home.create.dto.interface.js +0 -7
- package/dist/src/api/interface/work.from.home.update.interface.d.ts +0 -0
- package/dist/src/api/interface/work.from.home.update.interface.js +0 -11
- package/dist/src/entities/model/work-from-home.entity.model.d.ts +0 -0
- package/dist/src/entities/model/work-from-home.entity.model.js +0 -123
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IEntityCreateDto } from "../../entities";
|
|
2
2
|
import { IWorkFromHomeEntity } from "../../entities/interface/work_from_home.entity.interface";
|
|
3
|
-
export type IWorkFromHomeCreateExclude = "status";
|
|
3
|
+
export type IWorkFromHomeCreateExclude = "status" | "remark";
|
|
4
4
|
export interface IWorkFromHomeCreateDto extends Omit<IEntityCreateDto<IWorkFromHomeEntity>, IWorkFromHomeCreateExclude> {
|
|
5
5
|
}
|
|
@@ -11,12 +11,7 @@ export declare enum WorkFromHomeActionEnum {
|
|
|
11
11
|
CREATE = "create",
|
|
12
12
|
UPDATE = "update",
|
|
13
13
|
DELETE = "delete",
|
|
14
|
-
DEACTIVATE = "deactivate",
|
|
15
|
-
ACTIVATE = "activate",
|
|
16
|
-
RESTORE = "restore",
|
|
17
|
-
REQUEST_CHANGES = "request_changes",
|
|
18
14
|
REJECT = "reject",
|
|
19
15
|
RECALL = "recall",
|
|
20
|
-
APPROVE = "approve"
|
|
21
|
-
CHANGES_DONE = "changes_done"
|
|
16
|
+
APPROVE = "approve"
|
|
22
17
|
}
|
|
@@ -6,12 +6,7 @@ var WorkFromHomeActionEnum;
|
|
|
6
6
|
WorkFromHomeActionEnum["CREATE"] = "create";
|
|
7
7
|
WorkFromHomeActionEnum["UPDATE"] = "update";
|
|
8
8
|
WorkFromHomeActionEnum["DELETE"] = "delete";
|
|
9
|
-
WorkFromHomeActionEnum["DEACTIVATE"] = "deactivate";
|
|
10
|
-
WorkFromHomeActionEnum["ACTIVATE"] = "activate";
|
|
11
|
-
WorkFromHomeActionEnum["RESTORE"] = "restore";
|
|
12
|
-
WorkFromHomeActionEnum["REQUEST_CHANGES"] = "request_changes";
|
|
13
9
|
WorkFromHomeActionEnum["REJECT"] = "reject";
|
|
14
10
|
WorkFromHomeActionEnum["RECALL"] = "recall";
|
|
15
11
|
WorkFromHomeActionEnum["APPROVE"] = "approve";
|
|
16
|
-
WorkFromHomeActionEnum["CHANGES_DONE"] = "changes_done";
|
|
17
12
|
})(WorkFromHomeActionEnum || (exports.WorkFromHomeActionEnum = WorkFromHomeActionEnum = {}));
|
|
@@ -3,6 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.WorkFromHomeStatusEnum = void 0;
|
|
4
4
|
const error_key_enum_1 = require("../../enums/error.key.enum");
|
|
5
5
|
const exceptions_1 = require("../../exceptions");
|
|
6
|
+
// export enum WorkFromHomeStatusEnum {
|
|
7
|
+
// PENDING_APPROVAL = "pending_approval",
|
|
8
|
+
// EDIT_APPROVAL = "edit_approval",
|
|
9
|
+
// DELETE_APPROVAL = "delete_approval",
|
|
10
|
+
// RESOLVE_REJECTED = "resolve_rejected",
|
|
11
|
+
// APPROVED = "approved",
|
|
12
|
+
// REJECTED = "rejected",
|
|
13
|
+
// DELETED = "deleted",
|
|
14
|
+
// }
|
|
6
15
|
var WorkFromHomeStatusEnum;
|
|
7
16
|
(function (WorkFromHomeStatusEnum) {
|
|
8
17
|
WorkFromHomeStatusEnum["CREATE_APPROVAL_PENDING"] = "pending_approval";
|
|
@@ -4,17 +4,13 @@ exports.workFromHomeFlowConfig = void 0;
|
|
|
4
4
|
const base_flow_config_factory_1 = require("./base-flow-config.factory");
|
|
5
5
|
const api_1 = require("../../api");
|
|
6
6
|
const work_from_home_status_enum_1 = require("../enums/work_from_home_status_enum");
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const WORK_FROM_HOME_REQUEST_CHANGES_PERMISSION = ["WORK_FROM_HOME_REQUEST_CHANGES"];
|
|
15
|
-
const WORK_FROM_HOME_ACTIVATE_PERMISSION = ["WORK_FROM_HOME_ACTIVATE"];
|
|
16
|
-
const WORK_FROM_HOME_RESTORE_PERMISSION = ["WORK_FROM_HOME_RESTORE"];
|
|
17
|
-
const WORK_FROM_HOME_CHANGES_DONE_PERMISSION = ["WORK_FROM_HOME_CHANGES_DONE"];
|
|
7
|
+
// ORG/SELF permissions — matching legacy pattern from work_from_home.flow.config.ts
|
|
8
|
+
const WORK_FROM_HOME_CREATE_PERMISSION = ["WORK_FROM_HOME_CREATOR_ORG", "WORK_FROM_HOME_CREATOR_SELF"];
|
|
9
|
+
const WORK_FROM_HOME_UPDATE_PERMISSION = ["WORK_FROM_HOME_UPDATE_ORG", "WORK_FROM_HOME_UPDATE_SELF"];
|
|
10
|
+
const WORK_FROM_HOME_DELETE_PERMISSION = ["WORK_FROM_HOME_DELETE_SELF"];
|
|
11
|
+
const WORK_FROM_HOME_APPROVE_PERMISSION = ["WORK_FROM_HOME_APPROVER_ORG"];
|
|
12
|
+
const WORK_FROM_HOME_REJECT_PERMISSION = ["WORK_FROM_HOME_APPROVER_ORG"];
|
|
13
|
+
const WORK_FROM_HOME_RECALL_PERMISSION = ["WORK_FROM_HOME_UPDATE_ORG", "WORK_FROM_HOME_UPDATE_SELF"];
|
|
18
14
|
const ACTION_MAP = {
|
|
19
15
|
[api_1.WorkFromHomeActionEnum.CREATE]: {
|
|
20
16
|
reachableStatues: [work_from_home_status_enum_1.WorkFromHomeStatusEnum.CREATE_APPROVAL_PENDING],
|
|
@@ -24,7 +20,7 @@ const ACTION_MAP = {
|
|
|
24
20
|
reachableStatues: [
|
|
25
21
|
work_from_home_status_enum_1.WorkFromHomeStatusEnum.CREATE_APPROVAL_PENDING,
|
|
26
22
|
work_from_home_status_enum_1.WorkFromHomeStatusEnum.UPDATE_APPROVAL_PENDING,
|
|
27
|
-
|
|
23
|
+
// WorkFromHomeStatusEnum.CHANGE_REQUESTED,
|
|
28
24
|
],
|
|
29
25
|
permissions: WORK_FROM_HOME_UPDATE_PERMISSION,
|
|
30
26
|
},
|
|
@@ -41,28 +37,8 @@ const ACTION_MAP = {
|
|
|
41
37
|
permissions: WORK_FROM_HOME_REJECT_PERMISSION,
|
|
42
38
|
},
|
|
43
39
|
[api_1.WorkFromHomeActionEnum.RECALL]: {
|
|
44
|
-
reachableStatues: [work_from_home_status_enum_1.WorkFromHomeStatusEnum.APPROVED, work_from_home_status_enum_1.WorkFromHomeStatusEnum.DEACTIVATED],
|
|
45
|
-
permissions: WORK_FROM_HOME_RECALL_PERMISSION,
|
|
46
|
-
},
|
|
47
|
-
[api_1.WorkFromHomeActionEnum.DEACTIVATE]: {
|
|
48
|
-
reachableStatues: [work_from_home_status_enum_1.WorkFromHomeStatusEnum.UPDATE_APPROVAL_PENDING],
|
|
49
|
-
permissions: WORK_FROM_HOME_DEACTIVATE_PERMISSION,
|
|
50
|
-
},
|
|
51
|
-
[api_1.WorkFromHomeActionEnum.REQUEST_CHANGES]: {
|
|
52
|
-
reachableStatues: [work_from_home_status_enum_1.WorkFromHomeStatusEnum.CHANGE_REQUESTED],
|
|
53
|
-
permissions: WORK_FROM_HOME_REQUEST_CHANGES_PERMISSION,
|
|
54
|
-
},
|
|
55
|
-
[api_1.WorkFromHomeActionEnum.ACTIVATE]: {
|
|
56
40
|
reachableStatues: [work_from_home_status_enum_1.WorkFromHomeStatusEnum.APPROVED],
|
|
57
|
-
permissions:
|
|
58
|
-
},
|
|
59
|
-
[api_1.WorkFromHomeActionEnum.RESTORE]: {
|
|
60
|
-
reachableStatues: [work_from_home_status_enum_1.WorkFromHomeStatusEnum.CREATE_APPROVAL_PENDING],
|
|
61
|
-
permissions: WORK_FROM_HOME_RESTORE_PERMISSION,
|
|
62
|
-
},
|
|
63
|
-
[api_1.WorkFromHomeActionEnum.CHANGES_DONE]: {
|
|
64
|
-
reachableStatues: [work_from_home_status_enum_1.WorkFromHomeStatusEnum.UPDATE_APPROVAL_PENDING],
|
|
65
|
-
permissions: WORK_FROM_HOME_CHANGES_DONE_PERMISSION,
|
|
41
|
+
permissions: WORK_FROM_HOME_RECALL_PERMISSION,
|
|
66
42
|
},
|
|
67
43
|
};
|
|
68
44
|
const { createActionConfig } = (0, base_flow_config_factory_1.createFlowConfigFactory)()(ACTION_MAP);
|
|
@@ -71,14 +47,12 @@ const transitionCreateApprovalPendingStatusUpdateAction = createActionConfig(api
|
|
|
71
47
|
const transitionCreateApprovalPendingStatusDeleteAction = createActionConfig(api_1.WorkFromHomeActionEnum.DELETE, work_from_home_status_enum_1.WorkFromHomeStatusEnum.DELETED);
|
|
72
48
|
const transitionCreateApprovalPendingStatusApproveAction = createActionConfig(api_1.WorkFromHomeActionEnum.APPROVE, work_from_home_status_enum_1.WorkFromHomeStatusEnum.APPROVED);
|
|
73
49
|
const transitionCreateApprovalPendingStatusRejectAction = createActionConfig(api_1.WorkFromHomeActionEnum.REJECT, work_from_home_status_enum_1.WorkFromHomeStatusEnum.REJECTED);
|
|
74
|
-
const transitionCreateApprovalPendingStatusRequestChangesAction = createActionConfig(api_1.WorkFromHomeActionEnum.REQUEST_CHANGES, work_from_home_status_enum_1.WorkFromHomeStatusEnum.CHANGE_REQUESTED);
|
|
75
50
|
// UPDATE_APPROVAL_PENDING status transitions
|
|
76
51
|
const transitionUpdateApprovalPendingStatusUpdateAction = createActionConfig(api_1.WorkFromHomeActionEnum.UPDATE, work_from_home_status_enum_1.WorkFromHomeStatusEnum.UPDATE_APPROVAL_PENDING);
|
|
77
52
|
const transitionUpdateApprovalPendingStatusApproveAction = createActionConfig(api_1.WorkFromHomeActionEnum.APPROVE, work_from_home_status_enum_1.WorkFromHomeStatusEnum.APPROVED);
|
|
78
53
|
const transitionUpdateApprovalPendingStatusRejectAction = createActionConfig(api_1.WorkFromHomeActionEnum.REJECT, work_from_home_status_enum_1.WorkFromHomeStatusEnum.RESOLVED_REJECTED);
|
|
79
54
|
// <old approved state> - resolved at runtime
|
|
80
55
|
const transitionUpdateApprovalPendingStatusRecallAction = createActionConfig(api_1.WorkFromHomeActionEnum.RECALL, work_from_home_status_enum_1.WorkFromHomeStatusEnum.APPROVED);
|
|
81
|
-
const transitionUpdateApprovalPendingStatusRequestChangesAction = createActionConfig(api_1.WorkFromHomeActionEnum.REQUEST_CHANGES, work_from_home_status_enum_1.WorkFromHomeStatusEnum.CHANGE_REQUESTED);
|
|
82
56
|
// DELETE_APPROVAL_PENDING status transitions
|
|
83
57
|
const transitionDeleteApprovalPendingStatusApproveAction = createActionConfig(api_1.WorkFromHomeActionEnum.APPROVE, work_from_home_status_enum_1.WorkFromHomeStatusEnum.DELETED);
|
|
84
58
|
const transitionDeleteApprovalPendingStatusRejectAction = createActionConfig(api_1.WorkFromHomeActionEnum.REJECT, work_from_home_status_enum_1.WorkFromHomeStatusEnum.RESOLVED_REJECTED);
|
|
@@ -87,20 +61,9 @@ const transitionDeleteApprovalPendingStatusRecallAction = createActionConfig(api
|
|
|
87
61
|
// APPROVED status transitions
|
|
88
62
|
const transitionApprovedStatusUpdateAction = createActionConfig(api_1.WorkFromHomeActionEnum.UPDATE, work_from_home_status_enum_1.WorkFromHomeStatusEnum.UPDATE_APPROVAL_PENDING);
|
|
89
63
|
const transitionApprovedStatusDeleteAction = createActionConfig(api_1.WorkFromHomeActionEnum.DELETE, work_from_home_status_enum_1.WorkFromHomeStatusEnum.DELETE_APPROVAL_PENDING);
|
|
90
|
-
const transitionApprovedStatusDeactivateAction = createActionConfig(api_1.WorkFromHomeActionEnum.DEACTIVATE, work_from_home_status_enum_1.WorkFromHomeStatusEnum.UPDATE_APPROVAL_PENDING);
|
|
91
|
-
// REJECTED status transitions
|
|
92
|
-
const transitionRejectedStatusRestoreAction = createActionConfig(api_1.WorkFromHomeActionEnum.RESTORE, work_from_home_status_enum_1.WorkFromHomeStatusEnum.CREATE_APPROVAL_PENDING);
|
|
93
64
|
// RESOLVED_REJECTED status transitions
|
|
94
65
|
const transitionResolvedRejectedStatusUpdateAction = createActionConfig(api_1.WorkFromHomeActionEnum.UPDATE, work_from_home_status_enum_1.WorkFromHomeStatusEnum.UPDATE_APPROVAL_PENDING);
|
|
95
66
|
const transitionResolvedRejectedStatusDeleteAction = createActionConfig(api_1.WorkFromHomeActionEnum.DELETE, work_from_home_status_enum_1.WorkFromHomeStatusEnum.DELETED);
|
|
96
|
-
const transitionResolvedRejectedStatusDeactivateAction = createActionConfig(api_1.WorkFromHomeActionEnum.DEACTIVATE, work_from_home_status_enum_1.WorkFromHomeStatusEnum.UPDATE_APPROVAL_PENDING);
|
|
97
|
-
// DEACTIVATED status transitions
|
|
98
|
-
const transitionDeactivatedStatusRestoreAction = createActionConfig(api_1.WorkFromHomeActionEnum.RESTORE, work_from_home_status_enum_1.WorkFromHomeStatusEnum.CREATE_APPROVAL_PENDING);
|
|
99
|
-
// DELETED status transitions
|
|
100
|
-
const transitionDeletedStatusRestoreAction = createActionConfig(api_1.WorkFromHomeActionEnum.RESTORE, work_from_home_status_enum_1.WorkFromHomeStatusEnum.CREATE_APPROVAL_PENDING);
|
|
101
|
-
// CHANGE_REQUESTED status transitions
|
|
102
|
-
const transitionChangeRequestedStatusUpdateAction = createActionConfig(api_1.WorkFromHomeActionEnum.UPDATE, work_from_home_status_enum_1.WorkFromHomeStatusEnum.CHANGE_REQUESTED);
|
|
103
|
-
const transitionChangeRequestedStatusChangesDoneAction = createActionConfig(api_1.WorkFromHomeActionEnum.CHANGES_DONE, work_from_home_status_enum_1.WorkFromHomeStatusEnum.UPDATE_APPROVAL_PENDING);
|
|
104
67
|
exports.workFromHomeFlowConfig = {
|
|
105
68
|
[work_from_home_status_enum_1.WorkFromHomeStatusEnum.CREATE_APPROVAL_PENDING]: {
|
|
106
69
|
actions: {
|
|
@@ -108,7 +71,6 @@ exports.workFromHomeFlowConfig = {
|
|
|
108
71
|
[api_1.WorkFromHomeActionEnum.DELETE]: transitionCreateApprovalPendingStatusDeleteAction,
|
|
109
72
|
[api_1.WorkFromHomeActionEnum.APPROVE]: transitionCreateApprovalPendingStatusApproveAction,
|
|
110
73
|
[api_1.WorkFromHomeActionEnum.REJECT]: transitionCreateApprovalPendingStatusRejectAction,
|
|
111
|
-
[api_1.WorkFromHomeActionEnum.REQUEST_CHANGES]: transitionCreateApprovalPendingStatusRequestChangesAction,
|
|
112
74
|
},
|
|
113
75
|
},
|
|
114
76
|
[work_from_home_status_enum_1.WorkFromHomeStatusEnum.UPDATE_APPROVAL_PENDING]: {
|
|
@@ -117,7 +79,6 @@ exports.workFromHomeFlowConfig = {
|
|
|
117
79
|
[api_1.WorkFromHomeActionEnum.APPROVE]: transitionUpdateApprovalPendingStatusApproveAction,
|
|
118
80
|
[api_1.WorkFromHomeActionEnum.REJECT]: transitionUpdateApprovalPendingStatusRejectAction,
|
|
119
81
|
[api_1.WorkFromHomeActionEnum.RECALL]: transitionUpdateApprovalPendingStatusRecallAction,
|
|
120
|
-
[api_1.WorkFromHomeActionEnum.REQUEST_CHANGES]: transitionUpdateApprovalPendingStatusRequestChangesAction,
|
|
121
82
|
},
|
|
122
83
|
},
|
|
123
84
|
[work_from_home_status_enum_1.WorkFromHomeStatusEnum.DELETE_APPROVAL_PENDING]: {
|
|
@@ -131,35 +92,18 @@ exports.workFromHomeFlowConfig = {
|
|
|
131
92
|
actions: {
|
|
132
93
|
[api_1.WorkFromHomeActionEnum.UPDATE]: transitionApprovedStatusUpdateAction,
|
|
133
94
|
[api_1.WorkFromHomeActionEnum.DELETE]: transitionApprovedStatusDeleteAction,
|
|
134
|
-
[api_1.WorkFromHomeActionEnum.DEACTIVATE]: transitionApprovedStatusDeactivateAction,
|
|
135
95
|
},
|
|
136
96
|
},
|
|
137
97
|
[work_from_home_status_enum_1.WorkFromHomeStatusEnum.REJECTED]: {
|
|
138
|
-
actions: {
|
|
139
|
-
[api_1.WorkFromHomeActionEnum.RESTORE]: transitionRejectedStatusRestoreAction,
|
|
140
|
-
},
|
|
98
|
+
actions: {},
|
|
141
99
|
},
|
|
142
100
|
[work_from_home_status_enum_1.WorkFromHomeStatusEnum.RESOLVED_REJECTED]: {
|
|
143
101
|
actions: {
|
|
144
102
|
[api_1.WorkFromHomeActionEnum.UPDATE]: transitionResolvedRejectedStatusUpdateAction,
|
|
145
103
|
[api_1.WorkFromHomeActionEnum.DELETE]: transitionResolvedRejectedStatusDeleteAction,
|
|
146
|
-
[api_1.WorkFromHomeActionEnum.DEACTIVATE]: transitionResolvedRejectedStatusDeactivateAction,
|
|
147
|
-
},
|
|
148
|
-
},
|
|
149
|
-
[work_from_home_status_enum_1.WorkFromHomeStatusEnum.DEACTIVATED]: {
|
|
150
|
-
actions: {
|
|
151
|
-
[api_1.WorkFromHomeActionEnum.RESTORE]: transitionDeactivatedStatusRestoreAction,
|
|
152
104
|
},
|
|
153
105
|
},
|
|
154
106
|
[work_from_home_status_enum_1.WorkFromHomeStatusEnum.DELETED]: {
|
|
155
|
-
actions: {
|
|
156
|
-
[api_1.WorkFromHomeActionEnum.RESTORE]: transitionDeletedStatusRestoreAction,
|
|
157
|
-
},
|
|
158
|
-
},
|
|
159
|
-
[work_from_home_status_enum_1.WorkFromHomeStatusEnum.CHANGE_REQUESTED]: {
|
|
160
|
-
actions: {
|
|
161
|
-
[api_1.WorkFromHomeActionEnum.UPDATE]: transitionChangeRequestedStatusUpdateAction,
|
|
162
|
-
[api_1.WorkFromHomeActionEnum.CHANGES_DONE]: transitionChangeRequestedStatusChangesDoneAction,
|
|
163
|
-
},
|
|
107
|
+
actions: {},
|
|
164
108
|
},
|
|
165
109
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { WorkFromHomeStatusEnum } from "../enums/work_from_home_status_enum";
|
|
1
2
|
import { IEntityAuditColumn } from "./entity-audit-columns.interface";
|
|
2
3
|
import { IEntityFilterData, Nullable } from "./entity.utils.interface";
|
|
3
|
-
import { WorkFromHomeStatusEnum } from "../enums/work_from_home_status_enum";
|
|
4
4
|
export interface IWorkFromHomeEntity extends IEntityAuditColumn {
|
|
5
5
|
id: number;
|
|
6
6
|
employeeId: number;
|
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
import { EntityEnum } from "../interface/entity.utils.interface";
|
|
2
|
-
import { BaseEntityModel } from "./base.entity.model";
|
|
3
2
|
import { RelationConfigs } from "../interface/relation-config.interface";
|
|
4
3
|
import { IUserEntity } from "../interface/user.entity.interface";
|
|
4
|
+
import { BaseEntityModel } from "./base.entity.model";
|
|
5
5
|
import { IRowActions } from "./interface/row-actions.interface";
|
|
6
|
-
import { IWorkFromHomeEntity } from "../interface/work_from_home.entity.interface";
|
|
7
6
|
import { WorkFromHomeStatusEnum } from "../enums/work_from_home_status_enum";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { LeaveEntityModel } from "./leave.entity.model";
|
|
7
|
+
import { IWorkFromHomeEntity } from "../interface/work_from_home.entity.interface";
|
|
8
|
+
import { BankEntityModel } from "./bank.entity.model";
|
|
11
9
|
import { ClientEntityModel } from "./client.entity.model";
|
|
12
10
|
import { ClientDebitNoteEntityModel } from "./client_debit_note.entity.model";
|
|
13
|
-
import { BankEntityModel } from "./bank.entity.model";
|
|
14
|
-
import { VendorTdsChallanEntityModel } from "./vendor_tds_challan.entity.model";
|
|
15
|
-
import { TdsRateEntityModel } from "./tds_rate.entity.model";
|
|
16
|
-
import { OrganizationTypeEntityModel } from "./organization_type.entity.model";
|
|
17
|
-
import { VendorEntityModel } from "./vendor.entity.model";
|
|
18
|
-
import { StateEntityModel } from "./state.entity.model";
|
|
19
11
|
import { CountryEntityModel } from "./country.entity.model";
|
|
20
|
-
import { VendorInvoiceEntityModel } from "./vendor_invoice.entity.model";
|
|
21
|
-
import { OfficeLocationEntityModel } from "./office_location.entity.model";
|
|
22
|
-
import { VendorInvoiceItemEntityModel } from "./vendor_invoice_item.entity.model";
|
|
23
|
-
import { VoucherTypeEntityModel } from "./voucher_type.entity.model";
|
|
24
12
|
import { ExpenseHeadEntityModel } from "./expense_head.entity.model";
|
|
25
13
|
import { GstRateEntityModel } from "./gst_rate.entity.model";
|
|
14
|
+
import { LeaveEntityModel } from "./leave.entity.model";
|
|
15
|
+
import { LeaveApprovalEntityModel } from "./leave_approval.entity.model";
|
|
16
|
+
import { OfficeLocationEntityModel } from "./office_location.entity.model";
|
|
17
|
+
import { OrganizationTypeEntityModel } from "./organization_type.entity.model";
|
|
18
|
+
import { StateEntityModel } from "./state.entity.model";
|
|
19
|
+
import { TdsRateEntityModel } from "./tds_rate.entity.model";
|
|
20
|
+
import { UserEntityModel } from "./user.entity.model";
|
|
21
|
+
import { VendorEntityModel } from "./vendor.entity.model";
|
|
26
22
|
import { VendorAdvanceEntityModel } from "./vendor_advance.entity.model";
|
|
23
|
+
import { VendorInvoiceEntityModel } from "./vendor_invoice.entity.model";
|
|
27
24
|
import { VendorInvoiceAdvanceEntityModel } from "./vendor_invoice_advance.entity.model";
|
|
25
|
+
import { VendorInvoiceItemEntityModel } from "./vendor_invoice_item.entity.model";
|
|
28
26
|
import { VendorInvoicePaymentEntityModel } from "./vendor_invoice_payment.entity.model";
|
|
27
|
+
import { VendorTdsChallanEntityModel } from "./vendor_tds_challan.entity.model";
|
|
29
28
|
import { VendorTdsLiabilityEntityModel } from "./vendor_tds_liability.entity.model";
|
|
30
|
-
import {
|
|
29
|
+
import { VoucherTypeEntityModel } from "./voucher_type.entity.model";
|
|
31
30
|
import { WorkFromHomeActionEnum } from "../../api";
|
|
32
31
|
import { IWorkFromHomeFlowConfigContextData } from "../flow-configs/work_from_home_flow.config";
|
|
33
32
|
import { ClientAffiliateEntityModel } from "./client-affiliate.entity.model";
|
|
33
|
+
import { ClientDebitNoteParticularsEntityModel } from "./client_debit_note_particulars.entity.model";
|
|
34
34
|
export declare class WorkFromHomeEntityModel extends BaseEntityModel<EntityEnum.WORK_FROM_HOME> implements IWorkFromHomeEntity {
|
|
35
35
|
id: number;
|
|
36
36
|
employeeId: number;
|
|
@@ -81,4 +81,6 @@ export declare class WorkFromHomeEntityModel extends BaseEntityModel<EntityEnum.
|
|
|
81
81
|
getUpdateActionVisibility(currentUser: UserEntityModel): {
|
|
82
82
|
[key: string]: () => boolean;
|
|
83
83
|
};
|
|
84
|
+
getStatusLabel(status: WorkFromHomeStatusEnum): string;
|
|
85
|
+
getFormattedStatus(): string;
|
|
84
86
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WorkFromHomeEntityModel = void 0;
|
|
4
|
-
const entity_utils_interface_1 = require("../interface/entity.utils.interface");
|
|
5
|
-
const base_entity_model_1 = require("./base.entity.model");
|
|
6
|
-
const relation_type_enum_1 = require("../enums/relation-type.enum");
|
|
7
|
-
const exceptions_1 = require("../../exceptions");
|
|
8
4
|
const error_key_enum_1 = require("../../enums/error.key.enum");
|
|
5
|
+
const exceptions_1 = require("../../exceptions");
|
|
9
6
|
const utils_1 = require("../../utils");
|
|
7
|
+
const relation_type_enum_1 = require("../enums/relation-type.enum");
|
|
8
|
+
const entity_utils_interface_1 = require("../interface/entity.utils.interface");
|
|
9
|
+
const base_entity_model_1 = require("./base.entity.model");
|
|
10
10
|
const work_from_home_status_enum_1 = require("../enums/work_from_home_status_enum");
|
|
11
11
|
const work_from_home_flow_config_1 = require("../flow-configs/work_from_home_flow.config");
|
|
12
12
|
class WorkFromHomeEntityModel extends base_entity_model_1.BaseEntityModel {
|
|
@@ -392,6 +392,21 @@ class WorkFromHomeEntityModel extends base_entity_model_1.BaseEntityModel {
|
|
|
392
392
|
// this.currentUserDetails.user.id === rowData.createdBy,
|
|
393
393
|
};
|
|
394
394
|
}
|
|
395
|
+
getStatusLabel(status) {
|
|
396
|
+
const pendingStatuses = [
|
|
397
|
+
work_from_home_status_enum_1.WorkFromHomeStatusEnum.CREATE_APPROVAL_PENDING,
|
|
398
|
+
work_from_home_status_enum_1.WorkFromHomeStatusEnum.UPDATE_APPROVAL_PENDING,
|
|
399
|
+
work_from_home_status_enum_1.WorkFromHomeStatusEnum.DELETE_APPROVAL_PENDING,
|
|
400
|
+
];
|
|
401
|
+
if (pendingStatuses.includes(status))
|
|
402
|
+
return (0, utils_1.toTitleCase)("PENDING_APPROVAL");
|
|
403
|
+
if (status === work_from_home_status_enum_1.WorkFromHomeStatusEnum.RESOLVED_REJECTED)
|
|
404
|
+
return (0, utils_1.toTitleCase)("CHANGES_REJECTED");
|
|
405
|
+
return (0, utils_1.toTitleCase)(status);
|
|
406
|
+
}
|
|
407
|
+
getFormattedStatus() {
|
|
408
|
+
return this.getStatusLabel(this.status);
|
|
409
|
+
}
|
|
395
410
|
}
|
|
396
411
|
exports.WorkFromHomeEntityModel = WorkFromHomeEntityModel;
|
|
397
412
|
WorkFromHomeEntityModel.relationConfigs = [
|
package/package.json
CHANGED
|
File without changes
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// import { IEntityCreateDto, WorkFromHomeStatusEnum } from "../../entities";
|
|
3
|
-
// import { IWorkFromHomeEntity } from "../../entities/interface/work_from_home.entity.interface";
|
|
4
|
-
// export interface IWorkFromHomeCreateDto extends Omit<IEntityCreateDto<IWorkFromHomeEntity>, IWorkFromHomeExclude> {
|
|
5
|
-
// status?: WorkFromHomeStatusEnum; // Making status optional
|
|
6
|
-
// }
|
|
7
|
-
// export type IWorkFromHomeExclude = "status";
|
|
File without changes
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// import { IEntityUpdateDto } from "../../entities";
|
|
3
|
-
// import { WorkFromHomeActionEnum } from "../../entities/enums/work.from.home.action.enum";
|
|
4
|
-
// import { IWorkFromHomeEntity } from "../../entities/interface/work_from_home.entity.interface";
|
|
5
|
-
// export interface IWorkFromHomeActionDataDto {
|
|
6
|
-
// action: WorkFromHomeActionEnum;
|
|
7
|
-
// remark?: string;
|
|
8
|
-
// }
|
|
9
|
-
// export interface IWorkFromHomeUpdateDto extends IEntityUpdateDto<IWorkFromHomeEntity> {
|
|
10
|
-
// actionData?: IWorkFromHomeActionDataDto;
|
|
11
|
-
// }
|
|
File without changes
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// import { IWorkFromHomeUpdateDto } from "../../api";
|
|
3
|
-
// import { ErrorKeyEnum } from "../../enums/error.key.enum";
|
|
4
|
-
// import { AppBadRequestException } from "../../exceptions";
|
|
5
|
-
// import { EntityActionFlowResolverV2 } from "../../utils";
|
|
6
|
-
// import { WorkFromHomeActionEnum } from "../enums/work.from.home.action.enum";
|
|
7
|
-
// import { WorkFromHomeStatusEnum } from "../enums/work_from_home_status_enum";
|
|
8
|
-
// import { workFromHomeFlowConfig } from "../flow-configs/work_from_home.flow.config";
|
|
9
|
-
// import { EntityEnum } from "../interface/entity.utils.interface";
|
|
10
|
-
// import { IWorkFromHomeEntity } from "../interface/work_from_home.entity.interface";
|
|
11
|
-
// import { BaseEntityModel } from "./base.entity.model";
|
|
12
|
-
// import { IRowActions } from "./interface/row-actions.interface";
|
|
13
|
-
// import { UserEntityModel } from "./user.entity.model";
|
|
14
|
-
// export class WorkFromHomeEntityModel extends BaseEntityModel<EntityEnum.WORK_FROM_HOME> implements IWorkFromHomeEntity {
|
|
15
|
-
// id: number = 0;
|
|
16
|
-
// employeeId: number = 0;
|
|
17
|
-
// fromDate: string = "";
|
|
18
|
-
// toDate: string = "";
|
|
19
|
-
// reason: string = "";
|
|
20
|
-
// status: WorkFromHomeStatusEnum = WorkFromHomeStatusEnum.CREATE_APPROVAL_PENDING;
|
|
21
|
-
// remark?: string;
|
|
22
|
-
// createdOn: number = 0;
|
|
23
|
-
// updatedOn: number = 0;
|
|
24
|
-
// createdBy: number = 0;
|
|
25
|
-
// updatedBy: number = 0;
|
|
26
|
-
// static fromEntity(entity: IWorkFromHomeEntity): WorkFromHomeEntityModel {
|
|
27
|
-
// const model = new WorkFromHomeEntityModel(EntityEnum.WORK_FROM_HOME);
|
|
28
|
-
// Object.assign(model, entity);
|
|
29
|
-
// return model;
|
|
30
|
-
// }
|
|
31
|
-
// getRelationConfigs(): any[] {
|
|
32
|
-
// return this.constructor.prototype.constructor.relationConfigs || [];
|
|
33
|
-
// }
|
|
34
|
-
// getAvailableActions(
|
|
35
|
-
// currentUser: UserEntityModel,
|
|
36
|
-
// config?: {
|
|
37
|
-
// combinedActions?: Record<
|
|
38
|
-
// string,
|
|
39
|
-
// {
|
|
40
|
-
// combineActions: WorkFromHomeActionEnum[];
|
|
41
|
-
// label: string;
|
|
42
|
-
// }
|
|
43
|
-
// >;
|
|
44
|
-
// customLabels?: Partial<Record<WorkFromHomeActionEnum, string>>;
|
|
45
|
-
// },
|
|
46
|
-
// ): IRowActions<EntityEnum.WORK_FROM_HOME>[] {
|
|
47
|
-
// const params = {
|
|
48
|
-
// flowConfig: workFromHomeFlowConfig,
|
|
49
|
-
// currentStatus: this.status,
|
|
50
|
-
// userPermissions: currentUser.permissions ?? [],
|
|
51
|
-
// visibilityData: this.getUpdateActionVisibility.bind(this, currentUser),
|
|
52
|
-
// combinedActions: config?.combinedActions,
|
|
53
|
-
// customLabels: config?.customLabels,
|
|
54
|
-
// };
|
|
55
|
-
// return EntityActionFlowResolverV2.getAvailableActionsData(params);
|
|
56
|
-
// // return new EntityActionFlowResolver().getAvailableActionsData(params);
|
|
57
|
-
// }
|
|
58
|
-
// getAvailableActionsLabelValue(availableActionsFromModel: Map<WorkFromHomeActionEnum | string, string>): { label: string; value: string }[] {
|
|
59
|
-
// const availableActionsForRes: { label: string; value: string }[] = [];
|
|
60
|
-
// for (const [value, label] of availableActionsFromModel.entries()) {
|
|
61
|
-
// availableActionsForRes.push({
|
|
62
|
-
// label,
|
|
63
|
-
// value: value.toString(),
|
|
64
|
-
// });
|
|
65
|
-
// }
|
|
66
|
-
// return availableActionsForRes;
|
|
67
|
-
// }
|
|
68
|
-
// getNextStatus(currentUser: UserEntityModel, dto: IWorkFromHomeUpdateDto): WorkFromHomeStatusEnum {
|
|
69
|
-
// if (!this.status) {
|
|
70
|
-
// throw new AppBadRequestException({
|
|
71
|
-
// key: ErrorKeyEnum.STATUS,
|
|
72
|
-
// message: [`Status not found: ${this.status}`],
|
|
73
|
-
// });
|
|
74
|
-
// }
|
|
75
|
-
// //Here we flow config for current status
|
|
76
|
-
// const flowForStatus = workFromHomeFlowConfig[this.status];
|
|
77
|
-
// if (!flowForStatus) {
|
|
78
|
-
// throw new AppBadRequestException({
|
|
79
|
-
// key: ErrorKeyEnum.STATUS,
|
|
80
|
-
// message: [`No flow configuration found for status: ${this.status}`],
|
|
81
|
-
// });
|
|
82
|
-
// }
|
|
83
|
-
// if (!dto?.actionData) {
|
|
84
|
-
// throw new AppBadRequestException({
|
|
85
|
-
// key: ErrorKeyEnum.ACTION_DATA,
|
|
86
|
-
// message: ["dto.actionData is required"],
|
|
87
|
-
// });
|
|
88
|
-
// }
|
|
89
|
-
// // Here we get the permissionConfig for action in dto
|
|
90
|
-
// const matchingPermissionConfig = flowForStatus.actions[dto.actionData.action];
|
|
91
|
-
// if (!matchingPermissionConfig) {
|
|
92
|
-
// throw new AppBadRequestException({
|
|
93
|
-
// key: ErrorKeyEnum.ACTION,
|
|
94
|
-
// message: [`Action '${dto.actionData.action}' is not valid for the current status '${this.status}'.`],
|
|
95
|
-
// });
|
|
96
|
-
// }
|
|
97
|
-
// // Here we compare users permission & permissions from matchingPermissionConfig
|
|
98
|
-
// if (!currentUser.permissions || currentUser.permissions.length === 0) {
|
|
99
|
-
// throw new AppBadRequestException({
|
|
100
|
-
// key: ErrorKeyEnum.PERMISSIONS,
|
|
101
|
-
// message: ["Permission not available for currentUser"],
|
|
102
|
-
// });
|
|
103
|
-
// }
|
|
104
|
-
// const hasPermission: boolean = matchingPermissionConfig.permissions.some((permission) => currentUser.permissions?.includes(permission));
|
|
105
|
-
// if (!hasPermission) {
|
|
106
|
-
// throw new AppBadRequestException({
|
|
107
|
-
// key: ErrorKeyEnum.PERMISSION,
|
|
108
|
-
// message: [`Current user does not have permission to ${dto.actionData.action} leave`],
|
|
109
|
-
// });
|
|
110
|
-
// }
|
|
111
|
-
// const nextStatus: WorkFromHomeStatusEnum = matchingPermissionConfig.next();
|
|
112
|
-
// return nextStatus;
|
|
113
|
-
// }
|
|
114
|
-
// getUpdateActionVisibility(currentUser: UserEntityModel): {
|
|
115
|
-
// [key: string]: () => boolean;
|
|
116
|
-
// } {
|
|
117
|
-
// return {
|
|
118
|
-
// WORK_FROM_HOME_UPDATE_SELF: (): boolean => currentUser.id === this.createdBy,
|
|
119
|
-
// WORK_FROM_HOME_DELETE_SELF: (): boolean => currentUser.id === this.createdBy,
|
|
120
|
-
// // this.currentUserDetails.user.id === rowData.createdBy,
|
|
121
|
-
// };
|
|
122
|
-
// }
|
|
123
|
-
// }
|