law-common 4.0.0 → 4.0.1-beta.1

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.
@@ -64,3 +64,7 @@ export * from "./interface/billing_timesheet_history.api";
64
64
  export * from "./interface/reimbursement_history.api";
65
65
  export * from "./interface/reimbursement_expense.api";
66
66
  export * from "./interface/bank_history.api";
67
+ export * from "./interface/leave.create.dto.interface";
68
+ export * from "./interface/leave.update.dto.interface";
69
+ export * from "./interface/leave.api";
70
+ export * from "./interface/leave_history.api";
@@ -80,3 +80,7 @@ __exportStar(require("./interface/billing_timesheet_history.api"), exports);
80
80
  __exportStar(require("./interface/reimbursement_history.api"), exports);
81
81
  __exportStar(require("./interface/reimbursement_expense.api"), exports);
82
82
  __exportStar(require("./interface/bank_history.api"), exports);
83
+ __exportStar(require("./interface/leave.create.dto.interface"), exports);
84
+ __exportStar(require("./interface/leave.update.dto.interface"), exports);
85
+ __exportStar(require("./interface/leave.api"), exports);
86
+ __exportStar(require("./interface/leave_history.api"), exports);
@@ -0,0 +1,18 @@
1
+ import { IApiEntity, ILeaveEntity, LeaveActionEnum, LeaveStatusEnum } from "../../entities";
2
+ import { ILeaveUpdateDto } from "./leave.update.dto.interface";
3
+ export type ILeaveApiEntity = IApiEntity<ILeaveEntity>;
4
+ export type ILeaveApiEntityArray = ILeaveApiEntity[];
5
+ export type ILeaveFlowContextData = {
6
+ currentTimesheet?: ILeaveEntity;
7
+ dto?: ILeaveUpdateDto;
8
+ };
9
+ export type ILeaveFlowConfig = {
10
+ [key in LeaveStatusEnum]?: {
11
+ actions: {
12
+ [key in LeaveActionEnum]?: {
13
+ permissions: string[];
14
+ next: () => LeaveStatusEnum;
15
+ };
16
+ };
17
+ };
18
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,3 @@
1
+ import { IEntityCreateDto, ILeaveEntity } from "../../entities";
2
+ export interface ILeaveCreateDto extends IEntityCreateDto<ILeaveEntity> {
3
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ import { IEntityUpdateDto, ILeaveEntity, LeaveActionEnum } from "../../entities";
2
+ export interface ILeaveActionDataDto {
3
+ action: LeaveActionEnum;
4
+ remark?: string;
5
+ }
6
+ export interface ILeaveUpdateDto extends IEntityUpdateDto<ILeaveEntity> {
7
+ actionData?: ILeaveActionDataDto;
8
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,3 @@
1
+ import { IApiEntity, ILeaveHistoryEntity } from "../../entities";
2
+ export type ILeaveHistoryApiEntity = IApiEntity<ILeaveHistoryEntity>;
3
+ export type ILeaveHistoryApiEntityArray = ILeaveHistoryApiEntity[];
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,11 @@
1
+ export declare enum LeaveActionEnum {
2
+ READ = "read",
3
+ EDIT = "edit",
4
+ APPROVE = "approve",
5
+ REJECT = "reject",
6
+ DELETE = "delete",
7
+ RECALL = "recall"
8
+ }
9
+ export declare namespace LeaveActionEnum {
10
+ function getLabel(action: LeaveActionEnum): string;
11
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LeaveActionEnum = void 0;
4
+ const error_key_enum_1 = require("../../enums/error.key.enum");
5
+ const exceptions_1 = require("../../exceptions");
6
+ var LeaveActionEnum;
7
+ (function (LeaveActionEnum) {
8
+ LeaveActionEnum["READ"] = "read";
9
+ LeaveActionEnum["EDIT"] = "edit";
10
+ LeaveActionEnum["APPROVE"] = "approve";
11
+ LeaveActionEnum["REJECT"] = "reject";
12
+ LeaveActionEnum["DELETE"] = "delete";
13
+ LeaveActionEnum["RECALL"] = "recall";
14
+ })(LeaveActionEnum || (exports.LeaveActionEnum = LeaveActionEnum = {}));
15
+ (function (LeaveActionEnum) {
16
+ const actionLabelMap = {
17
+ [LeaveActionEnum.READ]: "Read",
18
+ [LeaveActionEnum.EDIT]: "Edit",
19
+ [LeaveActionEnum.APPROVE]: "Approve",
20
+ [LeaveActionEnum.REJECT]: "Reject",
21
+ [LeaveActionEnum.DELETE]: "Delete",
22
+ [LeaveActionEnum.RECALL]: "Recall",
23
+ };
24
+ function getLabel(action) {
25
+ if (!Object.values(LeaveActionEnum).includes(action)) {
26
+ throw new exceptions_1.AppBadRequestException({
27
+ key: error_key_enum_1.ErrorKeyEnum.BANK_FLOW_ACTION,
28
+ message: ["Invalid action value"],
29
+ });
30
+ }
31
+ const label = actionLabelMap[action];
32
+ if (!label) {
33
+ throw new exceptions_1.AppBadRequestException({
34
+ key: error_key_enum_1.ErrorKeyEnum.BANK_FLOW_ACTION,
35
+ message: ["Invalid action value"],
36
+ });
37
+ }
38
+ return label;
39
+ }
40
+ LeaveActionEnum.getLabel = getLabel;
41
+ })(LeaveActionEnum || (exports.LeaveActionEnum = LeaveActionEnum = {}));
@@ -0,0 +1,13 @@
1
+ export declare enum LeaveStatusEnum {
2
+ PENDING_APPROVAL = "pending_approval",
3
+ EDIT_APPROVAL = "edit_approval",
4
+ DELETE_APPROVAL = "delete_approval",
5
+ RESOLVE_REJECTED = "resolve_rejected",
6
+ APPROVED = "approved",
7
+ REJECTED = "rejected",
8
+ DELETED = "deleted"
9
+ }
10
+ export declare namespace LeaveStatusEnum {
11
+ function getNames(): string[];
12
+ function parse(value: string): LeaveStatusEnum;
13
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LeaveStatusEnum = void 0;
4
+ const error_key_enum_1 = require("../../enums/error.key.enum");
5
+ const exceptions_1 = require("../../exceptions");
6
+ var LeaveStatusEnum;
7
+ (function (LeaveStatusEnum) {
8
+ LeaveStatusEnum["PENDING_APPROVAL"] = "pending_approval";
9
+ LeaveStatusEnum["EDIT_APPROVAL"] = "edit_approval";
10
+ LeaveStatusEnum["DELETE_APPROVAL"] = "delete_approval";
11
+ LeaveStatusEnum["RESOLVE_REJECTED"] = "resolve_rejected";
12
+ LeaveStatusEnum["APPROVED"] = "approved";
13
+ LeaveStatusEnum["REJECTED"] = "rejected";
14
+ LeaveStatusEnum["DELETED"] = "deleted";
15
+ })(LeaveStatusEnum || (exports.LeaveStatusEnum = LeaveStatusEnum = {}));
16
+ (function (LeaveStatusEnum) {
17
+ function getNames() {
18
+ return Object.values(LeaveStatusEnum).filter((value) => typeof value === "string");
19
+ }
20
+ LeaveStatusEnum.getNames = getNames;
21
+ function parse(value) {
22
+ if (Object.values(LeaveStatusEnum).includes(value)) {
23
+ return value;
24
+ }
25
+ throw new exceptions_1.AppBadRequestException({
26
+ key: error_key_enum_1.ErrorKeyEnum.LEAVE_STATUS,
27
+ message: ["Invalid leave status"],
28
+ });
29
+ }
30
+ LeaveStatusEnum.parse = parse;
31
+ })(LeaveStatusEnum || (exports.LeaveStatusEnum = LeaveStatusEnum = {}));
@@ -52,3 +52,7 @@ export * from "./enums/bank_action.enum";
52
52
  export * from "./enums/bank_status.enum";
53
53
  export * from "./interface/bank_history.entity.interface";
54
54
  export * from "./enums/bank_entity_keys.enum";
55
+ export * from "./enums/leave.action.enum";
56
+ export * from "./enums/leave.status.enum";
57
+ export * from "./interface/leave.entity.interface";
58
+ export * from "./interface/leave_history.entity.interface";
@@ -68,3 +68,7 @@ __exportStar(require("./enums/bank_action.enum"), exports);
68
68
  __exportStar(require("./enums/bank_status.enum"), exports);
69
69
  __exportStar(require("./interface/bank_history.entity.interface"), exports);
70
70
  __exportStar(require("./enums/bank_entity_keys.enum"), exports);
71
+ __exportStar(require("./enums/leave.action.enum"), exports);
72
+ __exportStar(require("./enums/leave.status.enum"), exports);
73
+ __exportStar(require("./interface/leave.entity.interface"), exports);
74
+ __exportStar(require("./interface/leave_history.entity.interface"), exports);
@@ -0,0 +1,13 @@
1
+ import { LeaveStatusEnum } from "../enums/leave.status.enum";
2
+ import { IAuditColumnEntity } from "./audit-column.entity.interface";
3
+ import { IEntityFilterData } from "./entity.utils.interface";
4
+ export interface ILeaveEntity extends IAuditColumnEntity {
5
+ id: number;
6
+ employeeId: number;
7
+ fromDate: string;
8
+ toDate: string;
9
+ reason: string;
10
+ status?: LeaveStatusEnum;
11
+ remark?: string;
12
+ }
13
+ export type ILeaveEntityFilterData = IEntityFilterData<ILeaveEntity>;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,14 @@
1
+ import { HistoryOperationEnum } from "../enums/history_operation.enum";
2
+ import { IAuditColumnEntity } from "./audit-column.entity.interface";
3
+ import { IEntityCreateDto, IEntityFilterData } from "./entity.utils.interface";
4
+ export interface ILeaveHistoryEntity extends IAuditColumnEntity {
5
+ id: number;
6
+ entityId: number;
7
+ operation: HistoryOperationEnum;
8
+ data: string;
9
+ }
10
+ export interface ILeaveHistoryCreateDto extends IEntityCreateDto<ILeaveHistoryEntity> {
11
+ }
12
+ export interface ILeaveHistorySearchDto extends IEntityFilterData<ILeaveHistoryEntity> {
13
+ }
14
+ export declare const leaveHistoryExcludeKeys: string[];
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.leaveHistoryExcludeKeys = void 0;
4
+ const constants_1 = require("../../constants");
5
+ exports.leaveHistoryExcludeKeys = [...constants_1.historyKeysToExclude];
@@ -12,5 +12,7 @@ export declare enum ErrorKeyEnum {
12
12
  BANK_STATUS = "BANK_STATUS",
13
13
  BILLING_TRANSACTION_TYPE = "BILLING_TRANSACTION_TYPE",
14
14
  HISTORY_OPERATION = "HISTORY_OPERATION",
15
- USER_ROLE = "USER_ROLE"
15
+ USER_ROLE = "USER_ROLE",
16
+ LEAVE_STATUS = "LEAVE_STATUS",
17
+ LEAVE_FLOW = "LEAVE_FLOW"
16
18
  }
@@ -17,4 +17,6 @@ var ErrorKeyEnum;
17
17
  ErrorKeyEnum["BILLING_TRANSACTION_TYPE"] = "BILLING_TRANSACTION_TYPE";
18
18
  ErrorKeyEnum["HISTORY_OPERATION"] = "HISTORY_OPERATION";
19
19
  ErrorKeyEnum["USER_ROLE"] = "USER_ROLE";
20
+ ErrorKeyEnum["LEAVE_STATUS"] = "LEAVE_STATUS";
21
+ ErrorKeyEnum["LEAVE_FLOW"] = "LEAVE_FLOW";
20
22
  })(ErrorKeyEnum || (exports.ErrorKeyEnum = ErrorKeyEnum = {}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "law-common",
3
- "version": "4.0.0",
3
+ "version": "4.0.1-beta.1",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "files": [