law-common 9.1.3-beta.5 → 9.1.4
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/leave.create.dto.interface.d.ts +2 -2
- package/dist/src/api/interface/leave.update.dto.interface.d.ts +2 -2
- package/dist/src/constants/entity_constants.d.ts +1 -0
- package/dist/src/constants/entity_constants.js +2 -1
- package/dist/src/entities/enums/leave-type.enum.d.ts +16 -0
- package/dist/src/entities/enums/leave-type.enum.js +87 -0
- package/dist/src/entities/index.d.ts +1 -0
- package/dist/src/entities/index.js +1 -0
- package/dist/src/entities/interface/entity.utils.interface.d.ts +8 -11
- package/dist/src/entities/interface/leave.entity.interface.d.ts +13 -0
- package/dist/src/enums/error.key.enum.d.ts +1 -0
- package/dist/src/enums/error.key.enum.js +1 -0
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IEntityCreateDto, ILeaveEntity, LeaveStatusEnum } from "../../entities";
|
|
1
|
+
import { IEntityCreateDto, ILeaveDtoInclude, ILeaveEntity, LeaveStatusEnum } from "../../entities";
|
|
2
2
|
export type ILeaveExclude = "status";
|
|
3
|
-
export interface ILeaveCreateDto extends Omit<IEntityCreateDto<ILeaveEntity>, ILeaveExclude
|
|
3
|
+
export interface ILeaveCreateDto extends Omit<IEntityCreateDto<ILeaveEntity>, ILeaveExclude>, ILeaveDtoInclude {
|
|
4
4
|
status?: LeaveStatusEnum;
|
|
5
5
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { IEntityUpdateDto, ILeaveEntity, LeaveActionEnum } from "../../entities";
|
|
1
|
+
import { IEntityUpdateDto, ILeaveDtoInclude, 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> {
|
|
6
|
+
export interface ILeaveUpdateDto extends IEntityUpdateDto<ILeaveEntity>, Partial<ILeaveDtoInclude> {
|
|
7
7
|
actionData?: ILeaveActionDataDto;
|
|
8
8
|
}
|
|
@@ -3,3 +3,4 @@ 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,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.reimbursementPaymentProcessorPermissionName = exports.timesheetMinimumTotalDuration = exports.timesheetEnterThreshold = exports.timesheetThreshold = exports.timesheetViewThreshold = void 0;
|
|
3
|
+
exports.leaveImplicitDays = 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"];
|
|
@@ -0,0 +1,16 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
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 = {}));
|
|
@@ -65,3 +65,4 @@ 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,3 +82,4 @@ __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,6 +75,14 @@ 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
|
+
};
|
|
78
86
|
export type IEntityServiceResponse = {
|
|
79
87
|
[K in EntityEnum]?: IBaseEntityServiceResponse<EntityKeyType<K>>;
|
|
80
88
|
};
|
|
@@ -133,17 +141,6 @@ export type IEntityFilterData<T extends EnumEntityType<EntityEnum>> = ConvertToA
|
|
|
133
141
|
entities?: ISearchIncludeEntity<EntityEnum>[];
|
|
134
142
|
columnKeys?: (keyof T)[];
|
|
135
143
|
};
|
|
136
|
-
export type ISearchIncludeEntity<T extends EntityEnum> = {
|
|
137
|
-
name: T;
|
|
138
|
-
relations?: ISearchIncludeEntity<EntityRelations[EntityEnum]>[];
|
|
139
|
-
entities?: ISearchIncludeEntity<EntityRelations[EntityEnum]>[];
|
|
140
|
-
columnKeys?: EntityKeyType<EntityRelations[T]>[];
|
|
141
|
-
mappingProperties?: EntityKeyType<T>[];
|
|
142
|
-
searchProperty?: EntityKeyType<T>;
|
|
143
|
-
include?: {
|
|
144
|
-
[key in keyof EnumEntityType<EntityRelations[T]>]?: EnumEntityType<EntityRelations[T]>[key][];
|
|
145
|
-
};
|
|
146
|
-
};
|
|
147
144
|
export type IEntityHistoryParsed = {
|
|
148
145
|
parsedData: any;
|
|
149
146
|
id: number;
|
|
@@ -1,13 +1,26 @@
|
|
|
1
|
+
import { LeaveTypeEnum } from "../enums/leave-type.enum";
|
|
1
2
|
import { LeaveStatusEnum } from "../enums/leave.status.enum";
|
|
2
3
|
import { IAuditColumnEntity } from "./audit-column.entity.interface";
|
|
3
4
|
import { IEntityFilterData } from "./entity.utils.interface";
|
|
5
|
+
import { IUserEntity } from "./user.entity.interface";
|
|
4
6
|
export interface ILeaveEntity extends IAuditColumnEntity {
|
|
5
7
|
id: number;
|
|
6
8
|
employeeId: number;
|
|
7
9
|
fromDate: string;
|
|
8
10
|
toDate: string;
|
|
9
11
|
reason: string;
|
|
12
|
+
type: LeaveTypeEnum;
|
|
10
13
|
status: LeaveStatusEnum;
|
|
11
14
|
remark?: string;
|
|
12
15
|
}
|
|
13
16
|
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,6 +17,7 @@ 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",
|
|
20
21
|
WORK_FROM_HOME_FLOW_ACTION = "WORK_FROM_HOME_FLOW_ACTION",
|
|
21
22
|
WORK_FROM_HOME_STATUS = "WORK_FROM_HOME_STATUS",
|
|
22
23
|
WORK_FROM_HOME_FLOW = "WORK_FROM_HOME_FLOW",
|
|
@@ -21,6 +21,7 @@ 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";
|
|
24
25
|
ErrorKeyEnum["WORK_FROM_HOME_FLOW_ACTION"] = "WORK_FROM_HOME_FLOW_ACTION";
|
|
25
26
|
ErrorKeyEnum["WORK_FROM_HOME_STATUS"] = "WORK_FROM_HOME_STATUS";
|
|
26
27
|
ErrorKeyEnum["WORK_FROM_HOME_FLOW"] = "WORK_FROM_HOME_FLOW";
|