law-common 9.1.5-beta.0 → 9.2.0

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
- import { IEntityCreateDto, ILeaveDtoInclude, ILeaveEntity, LeaveStatusEnum } from "../../entities";
1
+ import { IEntityCreateDto, ILeaveEntity, LeaveStatusEnum } from "../../entities";
2
2
  export type ILeaveExclude = "status";
3
- export interface ILeaveCreateDto extends Omit<IEntityCreateDto<ILeaveEntity>, ILeaveExclude>, ILeaveDtoInclude {
3
+ export interface ILeaveCreateDto extends Omit<IEntityCreateDto<ILeaveEntity>, ILeaveExclude> {
4
4
  status?: LeaveStatusEnum;
5
5
  }
@@ -1,8 +1,8 @@
1
- import { IEntityUpdateDto, ILeaveDtoInclude, ILeaveEntity, LeaveActionEnum } from "../../entities";
1
+ import { IEntityUpdateDto, ILeaveEntity, LeaveActionEnum } from "../../entities";
2
2
  export interface ILeaveActionDataDto {
3
3
  action: LeaveActionEnum;
4
4
  remark?: string;
5
5
  }
6
- export interface ILeaveUpdateDto extends IEntityUpdateDto<ILeaveEntity>, Partial<ILeaveDtoInclude> {
6
+ export interface ILeaveUpdateDto extends IEntityUpdateDto<ILeaveEntity> {
7
7
  actionData?: ILeaveActionDataDto;
8
8
  }
@@ -3,4 +3,3 @@ export declare const timesheetThreshold = "timesheetThreshold";
3
3
  export declare const timesheetEnterThreshold = "timesheetEnterThreshold";
4
4
  export declare const timesheetMinimumTotalDuration = 15;
5
5
  export declare const reimbursementPaymentProcessorPermissionName = "REIMBURSEMENT_PAYMENT_PROCESSOR";
6
- export declare const leaveImplicitDays: string[];
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.leaveImplicitDays = exports.reimbursementPaymentProcessorPermissionName = exports.timesheetMinimumTotalDuration = exports.timesheetEnterThreshold = exports.timesheetThreshold = exports.timesheetViewThreshold = void 0;
3
+ exports.reimbursementPaymentProcessorPermissionName = exports.timesheetMinimumTotalDuration = exports.timesheetEnterThreshold = exports.timesheetThreshold = exports.timesheetViewThreshold = void 0;
4
4
  exports.timesheetViewThreshold = "timesheetViewThreshold";
5
5
  exports.timesheetThreshold = "timesheetThreshold";
6
6
  exports.timesheetEnterThreshold = "timesheetEnterThreshold";
7
7
  exports.timesheetMinimumTotalDuration = 15;
8
8
  exports.reimbursementPaymentProcessorPermissionName = "REIMBURSEMENT_PAYMENT_PROCESSOR";
9
- exports.leaveImplicitDays = ["Saturday", "Sunday"];
@@ -65,4 +65,3 @@ export * from "./interface/country.entity.interface";
65
65
  export * from "./enums/billing_invoice_type.enum";
66
66
  export * from "./interface/billing_timesheet.entity.interface";
67
67
  export * from "./interface/intermediary_bank.entity.interface";
68
- export * from "./enums/leave-type.enum";
@@ -82,4 +82,3 @@ __exportStar(require("./interface/country.entity.interface"), exports);
82
82
  __exportStar(require("./enums/billing_invoice_type.enum"), exports);
83
83
  __exportStar(require("./interface/billing_timesheet.entity.interface"), exports);
84
84
  __exportStar(require("./interface/intermediary_bank.entity.interface"), exports);
85
- __exportStar(require("./enums/leave-type.enum"), exports);
@@ -75,14 +75,6 @@ export declare enum EntityEnum {
75
75
  export type EntityRelations = {
76
76
  [K in EntityEnum]: K;
77
77
  };
78
- export type ISearchIncludeEntity<T extends EntityEnum> = {
79
- name: T;
80
- relations?: ISearchIncludeEntity<EntityRelations[EntityEnum]>[];
81
- entities?: ISearchIncludeEntity<EntityRelations[EntityEnum]>[];
82
- columnkeys?: EntityKeyType<EntityRelations[T]>[];
83
- mappingProperties?: EntityKeyType<T>[];
84
- searchProperty?: EntityKeyType<T>;
85
- };
86
78
  export type IEntityServiceResponse = {
87
79
  [K in EntityEnum]?: IBaseEntityServiceResponse<EntityKeyType<K>>;
88
80
  };
@@ -131,6 +123,9 @@ export type IEntityFilterData<T extends EnumEntityType<EntityEnum>> = ConvertToA
131
123
  exclude?: {
132
124
  [key in keyof T]?: T[key][];
133
125
  };
126
+ include?: {
127
+ [key in keyof T]?: T[key][];
128
+ };
134
129
  greaterThan?: {
135
130
  [key in keyof T]?: T[key];
136
131
  };
@@ -141,6 +136,17 @@ export type IEntityFilterData<T extends EnumEntityType<EntityEnum>> = ConvertToA
141
136
  entities?: ISearchIncludeEntity<EntityEnum>[];
142
137
  columnKeys?: (keyof T)[];
143
138
  };
139
+ export type ISearchIncludeEntity<T extends EntityEnum> = {
140
+ name: T;
141
+ relations?: ISearchIncludeEntity<EntityRelations[EntityEnum]>[];
142
+ entities?: ISearchIncludeEntity<EntityRelations[EntityEnum]>[];
143
+ columnKeys?: EntityKeyType<EntityRelations[T]>[];
144
+ mappingProperties?: EntityKeyType<T>[];
145
+ searchProperty?: EntityKeyType<T>;
146
+ include?: {
147
+ [key in keyof EnumEntityType<EntityRelations[T]>]?: EnumEntityType<EntityRelations[T]>[key][];
148
+ };
149
+ };
144
150
  export type IEntityHistoryParsed = {
145
151
  parsedData: any;
146
152
  id: number;
@@ -1,26 +1,13 @@
1
- import { LeaveTypeEnum } from "../enums/leave-type.enum";
2
1
  import { LeaveStatusEnum } from "../enums/leave.status.enum";
3
2
  import { IAuditColumnEntity } from "./audit-column.entity.interface";
4
3
  import { IEntityFilterData } from "./entity.utils.interface";
5
- import { IUserEntity } from "./user.entity.interface";
6
4
  export interface ILeaveEntity extends IAuditColumnEntity {
7
5
  id: number;
8
6
  employeeId: number;
9
7
  fromDate: string;
10
8
  toDate: string;
11
9
  reason: string;
12
- type: LeaveTypeEnum;
13
10
  status: LeaveStatusEnum;
14
11
  remark?: string;
15
12
  }
16
13
  export type ILeaveEntityFilterData = IEntityFilterData<ILeaveEntity>;
17
- export interface ILeaveDtoInclude {
18
- fromType: LeaveTypeEnum;
19
- toType?: LeaveTypeEnum;
20
- }
21
- export interface ILeaveEntityCreateDtoValidationData {
22
- userEntity: IUserEntity;
23
- }
24
- export interface ILeaveEntityUpdateDtoValidationData extends ILeaveEntityCreateDtoValidationData {
25
- leaveEntity: ILeaveEntity;
26
- }
@@ -17,7 +17,6 @@ export declare enum ErrorKeyEnum {
17
17
  LEAVE_FLOW = "LEAVE_FLOW",
18
18
  LEAVE_KEY = "LEAVE_KEY",
19
19
  LEAVE_FLOW_ACTION = "LEAVE_FLOW_ACTION",
20
- LEAVE_TYPE = "LEAVE_TYPE",
21
20
  WORK_FROM_HOME_FLOW_ACTION = "WORK_FROM_HOME_FLOW_ACTION",
22
21
  WORK_FROM_HOME_STATUS = "WORK_FROM_HOME_STATUS",
23
22
  WORK_FROM_HOME_FLOW = "WORK_FROM_HOME_FLOW",
@@ -21,7 +21,6 @@ var ErrorKeyEnum;
21
21
  ErrorKeyEnum["LEAVE_FLOW"] = "LEAVE_FLOW";
22
22
  ErrorKeyEnum["LEAVE_KEY"] = "LEAVE_KEY";
23
23
  ErrorKeyEnum["LEAVE_FLOW_ACTION"] = "LEAVE_FLOW_ACTION";
24
- ErrorKeyEnum["LEAVE_TYPE"] = "LEAVE_TYPE";
25
24
  ErrorKeyEnum["WORK_FROM_HOME_FLOW_ACTION"] = "WORK_FROM_HOME_FLOW_ACTION";
26
25
  ErrorKeyEnum["WORK_FROM_HOME_STATUS"] = "WORK_FROM_HOME_STATUS";
27
26
  ErrorKeyEnum["WORK_FROM_HOME_FLOW"] = "WORK_FROM_HOME_FLOW";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "law-common",
3
- "version": "9.1.5-beta.0",
3
+ "version": "9.2.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -1,16 +0,0 @@
1
- export declare enum LeaveTypeEnum {
2
- FIRST = "first",
3
- SECOND = "second",
4
- FULL = "full",
5
- FULL_FIRST = "full_first",
6
- SECOND_FULL = "second_full",
7
- SECOND_FIRST = "second_first"
8
- }
9
- export declare namespace LeaveTypeEnum {
10
- function getDropdownLabel(action: LeaveTypeEnum): string;
11
- function getLeaveTypeFromStartEnd(from: LeaveTypeEnum, to?: LeaveTypeEnum): LeaveTypeEnum;
12
- function getStartEndFromLeaveType(type: LeaveTypeEnum): {
13
- fromType: LeaveTypeEnum;
14
- toType: LeaveTypeEnum;
15
- };
16
- }
@@ -1,87 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LeaveTypeEnum = void 0;
4
- const error_key_enum_1 = require("../../enums/error.key.enum");
5
- const exceptions_1 = require("../../exceptions");
6
- var LeaveTypeEnum;
7
- (function (LeaveTypeEnum) {
8
- LeaveTypeEnum["FIRST"] = "first";
9
- LeaveTypeEnum["SECOND"] = "second";
10
- LeaveTypeEnum["FULL"] = "full";
11
- LeaveTypeEnum["FULL_FIRST"] = "full_first";
12
- LeaveTypeEnum["SECOND_FULL"] = "second_full";
13
- LeaveTypeEnum["SECOND_FIRST"] = "second_first";
14
- })(LeaveTypeEnum || (exports.LeaveTypeEnum = LeaveTypeEnum = {}));
15
- (function (LeaveTypeEnum) {
16
- const typeLabelMap = {
17
- [LeaveTypeEnum.FIRST]: "First Half",
18
- [LeaveTypeEnum.SECOND]: "Second Half",
19
- [LeaveTypeEnum.FULL]: "Full Day",
20
- };
21
- function getDropdownLabel(action) {
22
- if (!Object.values(LeaveTypeEnum).includes(action)) {
23
- throw new exceptions_1.AppBadRequestException({
24
- key: error_key_enum_1.ErrorKeyEnum.LEAVE_TYPE,
25
- message: ["Invalid type value"],
26
- });
27
- }
28
- const label = typeLabelMap[action];
29
- if (!label) {
30
- throw new exceptions_1.AppBadRequestException({
31
- key: error_key_enum_1.ErrorKeyEnum.LEAVE_TYPE,
32
- message: ["Invalid type value"],
33
- });
34
- }
35
- return label;
36
- }
37
- LeaveTypeEnum.getDropdownLabel = getDropdownLabel;
38
- function getLeaveTypeFromStartEnd(from, to) {
39
- if (!to || from === to)
40
- return from;
41
- if (from === LeaveTypeEnum.FULL && to === LeaveTypeEnum.FIRST)
42
- return LeaveTypeEnum.FULL_FIRST;
43
- if (from === LeaveTypeEnum.SECOND && to === LeaveTypeEnum.FULL)
44
- return LeaveTypeEnum.SECOND_FULL;
45
- if (from === LeaveTypeEnum.SECOND && to === LeaveTypeEnum.FIRST)
46
- return LeaveTypeEnum.SECOND_FIRST;
47
- throw new Error(`Invalid leave type: ${from} + ${to}`);
48
- }
49
- LeaveTypeEnum.getLeaveTypeFromStartEnd = getLeaveTypeFromStartEnd;
50
- function getStartEndFromLeaveType(type) {
51
- switch (type) {
52
- case LeaveTypeEnum.FIRST:
53
- return {
54
- fromType: LeaveTypeEnum.FIRST,
55
- toType: LeaveTypeEnum.FIRST,
56
- };
57
- case LeaveTypeEnum.SECOND:
58
- return {
59
- fromType: LeaveTypeEnum.SECOND,
60
- toType: LeaveTypeEnum.SECOND,
61
- };
62
- case LeaveTypeEnum.FULL:
63
- return {
64
- fromType: LeaveTypeEnum.FULL,
65
- toType: LeaveTypeEnum.FULL,
66
- };
67
- case LeaveTypeEnum.FULL_FIRST:
68
- return {
69
- fromType: LeaveTypeEnum.FULL,
70
- toType: LeaveTypeEnum.FIRST,
71
- };
72
- case LeaveTypeEnum.SECOND_FULL:
73
- return {
74
- fromType: LeaveTypeEnum.SECOND,
75
- toType: LeaveTypeEnum.FULL,
76
- };
77
- case LeaveTypeEnum.SECOND_FIRST:
78
- return {
79
- fromType: LeaveTypeEnum.SECOND,
80
- toType: LeaveTypeEnum.FIRST,
81
- };
82
- default:
83
- throw new Error(`Invalid LeaveTypeEnum: ${type}`);
84
- }
85
- }
86
- LeaveTypeEnum.getStartEndFromLeaveType = getStartEndFromLeaveType;
87
- })(LeaveTypeEnum || (exports.LeaveTypeEnum = LeaveTypeEnum = {}));