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.
@@ -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
- const WORK_FROM_HOME_CREATE_PERMISSION = ["WORK_FROM_HOME_CREATE"];
8
- const WORK_FROM_HOME_UPDATE_PERMISSION = ["WORK_FROM_HOME_UPDATE"];
9
- const WORK_FROM_HOME_DELETE_PERMISSION = ["WORK_FROM_HOME_DELETE"];
10
- const WORK_FROM_HOME_APPROVE_PERMISSION = ["WORK_FROM_HOME_APPROVE"];
11
- const WORK_FROM_HOME_REJECT_PERMISSION = ["WORK_FROM_HOME_REJECT"];
12
- const WORK_FROM_HOME_RECALL_PERMISSION = ["WORK_FROM_HOME_RECALL"];
13
- const WORK_FROM_HOME_DEACTIVATE_PERMISSION = ["WORK_FROM_HOME_DEACTIVATE"];
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
- work_from_home_status_enum_1.WorkFromHomeStatusEnum.CHANGE_REQUESTED,
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: WORK_FROM_HOME_ACTIVATE_PERMISSION,
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 { UserEntityModel } from "./user.entity.model";
9
- import { LeaveApprovalEntityModel } from "./leave_approval.entity.model";
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 { ClientDebitNoteParticularsEntityModel } from "./client_debit_note_particulars.entity.model";
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "law-common",
3
- "version": "12.8.1-beta.2",
3
+ "version": "12.8.1-beta.20",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -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";
@@ -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
- // }
@@ -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
- // }