@escapenavigator/types 2.2.9 → 2.2.10
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/admin/aggregator-order/aggregator-order.ro.d.ts +2 -0
- package/dist/admin/aggregator-order/aggregator-order.ro.js +8 -0
- package/dist/admin/aggregator-order/create-aggregator-order.dto.d.ts +4 -0
- package/dist/admin/aggregator-order/create-aggregator-order.dto.js +25 -0
- package/dist/certificate-sale/certificate-sale.ro.d.ts +2 -0
- package/dist/certificate-sale/certificate-sale.ro.js +5 -0
- package/dist/certificate-uploaded/certificate-uploaded.ro.d.ts +2 -0
- package/dist/certificate-v2/certificate-settings.ro.d.ts +2 -0
- package/dist/certificate-v2/certificate-settings.ro.js +5 -0
- package/dist/certificate-v2/enum/certificate-tax-mode.enum.d.ts +4 -0
- package/dist/certificate-v2/enum/certificate-tax-mode.enum.js +8 -0
- package/dist/certificate-v2/update-certificate-settings.dto.d.ts +2 -0
- package/dist/certificate-v2/update-certificate-settings.dto.js +7 -0
- package/dist/fortune-wheel/fortune-wheel.d.ts +39 -0
- package/dist/fortune-wheel/fortune-wheel.js +24 -0
- package/dist/kids-party-request/create-helper-request.dto.d.ts +26 -0
- package/dist/kids-party-request/create-helper-request.dto.js +138 -0
- package/dist/kids-party-request/kids-party-request.enums.d.ts +7 -1
- package/dist/kids-party-request/kids-party-request.enums.js +8 -1
- package/dist/kids-party-request/kids-party-request.ro.d.ts +9 -4
- package/dist/kids-party-request/query-kids-party-requests.dto.d.ts +2 -1
- package/dist/kids-party-request/query-kids-party-requests.dto.js +5 -0
- package/dist/lead/create-lead.dto.d.ts +1 -0
- package/dist/lead/create-lead.dto.js +7 -0
- package/dist/loyalty/client-loyalty-card.ro.d.ts +29 -0
- package/dist/loyalty/client-loyalty-card.ro.js +2 -0
- package/dist/openapi/orders/booking-calendar.d.ts +19 -0
- package/dist/openapi/orders/booking-calendar.js +29 -0
- package/dist/openapi/orders/openapi-create-preorder.dto.d.ts +2 -0
- package/dist/openapi/orders/openapi-create-preorder.dto.js +11 -0
- package/dist/openapi/orders/openapi-navigator-bonus.dto.d.ts +6 -0
- package/dist/openapi/orders/openapi-navigator-bonus.dto.js +40 -0
- package/dist/openapi/orders/openapi-order.ro.d.ts +5 -0
- package/dist/openapi/orders/openapi-order.ro.js +20 -0
- package/dist/openapi/orders/openapi-update-order-players.dto.d.ts +2 -0
- package/dist/openapi/orders/openapi-update-order-players.dto.js +11 -0
- package/dist/openapi/orders/openapi-update-order.dto.d.ts +2 -0
- package/dist/openapi/orders/openapi-update-order.dto.js +11 -0
- package/dist/openapi/profiles/openapi-create-certificate.dto.d.ts +2 -0
- package/dist/openapi/profiles/openapi-create-certificate.dto.js +7 -0
- package/dist/openapi/profiles/openapi-profile-booking-details.ro.d.ts +28 -0
- package/dist/openapi/profiles/openapi-profile-booking-details.ro.js +160 -1
- package/dist/openapi/shared/openapi-questroom.ro.d.ts +3 -0
- package/dist/openapi/shared/openapi-questroom.ro.js +8 -0
- package/dist/openapi/slots/openapi-slot-variation.ro.d.ts +2 -0
- package/dist/openapi/slots/openapi-slot-variation.ro.js +10 -0
- package/dist/order/create-order.dto.d.ts +4 -0
- package/dist/order/create-order.dto.js +18 -0
- package/dist/order/dashboard/dashboard-order-base.ro.d.ts +2 -0
- package/dist/order/dashboard/dashboard-order-base.ro.js +4 -0
- package/dist/order/order-light.ro.d.ts +2 -0
- package/dist/order/order-light.ro.js +4 -0
- package/dist/order/order-team.dto.d.ts +8 -0
- package/dist/order/order-team.dto.js +44 -0
- package/dist/order/order.ro.d.ts +7 -1
- package/dist/order/order.ro.js +20 -1
- package/dist/order/update-order-slot.dto.d.ts +2 -0
- package/dist/order/update-order-slot.dto.js +11 -0
- package/dist/order/update-players.dto.d.ts +2 -0
- package/dist/order/update-players.dto.js +11 -0
- package/dist/order-discount/enum/order-discount-source.enum.d.ts +1 -0
- package/dist/order-discount/enum/order-discount-source.enum.js +1 -0
- package/dist/order-group/order-group.ro.d.ts +4 -1
- package/dist/order-group/order-group.ro.js +9 -0
- package/dist/order-group/order-offer-copy.d.ts +77 -0
- package/dist/order-group/order-offer-copy.js +79 -0
- package/dist/order-group/order-offer.d.ts +95 -0
- package/dist/order-group/order-offer.js +188 -0
- package/dist/order-product/order-product.ro.d.ts +5 -0
- package/dist/order-product/order-product.ro.js +20 -0
- package/dist/packages/package-position-kind.enum.d.ts +2 -1
- package/dist/packages/package-position-kind.enum.js +1 -0
- package/dist/packages/package-position.dto.d.ts +1 -0
- package/dist/packages/package-position.dto.js +7 -0
- package/dist/packages/package.ro.d.ts +2 -0
- package/dist/packages/package.ro.js +8 -0
- package/dist/player/player.ro.d.ts +1 -0
- package/dist/player/player.ro.js +4 -0
- package/dist/player/recommender/recommender.dto.d.ts +20 -0
- package/dist/player/recommender/recommender.dto.js +100 -0
- package/dist/player/recommender/recommender.ro.d.ts +56 -0
- package/dist/player/recommender/recommender.ro.js +2 -0
- package/dist/product/create-product.dto.d.ts +1 -0
- package/dist/product/create-product.dto.js +8 -0
- package/dist/product/product.ro.d.ts +1 -0
- package/dist/product/product.ro.js +4 -0
- package/dist/product/update-product.dto.d.ts +1 -0
- package/dist/product/update-product.dto.js +8 -0
- package/dist/profile/admin-partner-filters.d.ts +31 -0
- package/dist/profile/admin-partner-filters.js +12 -0
- package/dist/profile/notification-chanel/notification-chanel-type.enum.d.ts +2 -0
- package/dist/profile/notification-chanel/notification-chanel-type.enum.js +2 -0
- package/dist/profile/notification-chanel/staff-messenger.dto.d.ts +37 -0
- package/dist/profile/notification-chanel/staff-messenger.dto.js +44 -0
- package/dist/profile/query-admin-profile.dto.d.ts +5 -0
- package/dist/profile/query-admin-profile.dto.js +17 -0
- package/dist/profile/telephony/call-journal.d.ts +67 -0
- package/dist/profile/telephony/call-journal.js +126 -0
- package/dist/profile/telephony/novofon.d.ts +10 -0
- package/dist/profile/telephony/novofon.js +29 -1
- package/dist/promocode/emun/promocode-kind.enum.d.ts +1 -0
- package/dist/promocode/emun/promocode-kind.enum.js +1 -0
- package/dist/salary/create-salary-scheme.dto.d.ts +2 -0
- package/dist/salary/create-salary-scheme.dto.js +8 -0
- package/dist/salary/index.d.ts +1 -0
- package/dist/salary/index.js +1 -0
- package/dist/salary/moderation-pay.dto.d.ts +35 -0
- package/dist/salary/moderation-pay.dto.js +117 -0
- package/dist/salary/query-salary-period.dto.d.ts +1 -0
- package/dist/salary/query-salary-period.dto.js +7 -0
- package/dist/salary/salary-accrual.ro.d.ts +2 -0
- package/dist/salary/salary-preview.ro.d.ts +2 -0
- package/dist/salary/salary-scheme.ro.d.ts +2 -0
- package/dist/slot/slot.ro.d.ts +3 -0
- package/dist/slot/update-slot-conditions.dto.d.ts +27 -0
- package/dist/slot/update-slot-conditions.dto.js +124 -0
- package/dist/tariff/create-tariff.dto.d.ts +2 -0
- package/dist/tariff/create-tariff.dto.js +7 -0
- package/dist/tariff/enum/tariff-selection-mode.enum.d.ts +4 -0
- package/dist/tariff/enum/tariff-selection-mode.enum.js +8 -0
- package/dist/tariff/tariff-light.ro.d.ts +2 -0
- package/dist/tariff/tariff-light.ro.js +5 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/user/task/user-task.ro.d.ts +2 -0
- package/dist/user/task/user-task.ro.js +8 -0
- package/dist/widget-chat/chat-channel.dto.d.ts +51 -0
- package/dist/widget-chat/chat-channel.dto.js +151 -0
- package/dist/widget-chat/widget-chat-conversation.ro.d.ts +5 -0
- package/dist/widget-chat/widget-chat-conversations-query.dto.d.ts +11 -0
- package/dist/widget-chat/widget-chat-conversations-query.dto.js +64 -0
- package/dist/widget-chat/widget-chat-message.ro.d.ts +5 -0
- package/dist/widget-chat/widget-chat-messages-query.dto.d.ts +3 -0
- package/dist/widget-chat/widget-chat-messages-query.dto.js +25 -0
- package/package.json +2 -2
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.UpdateStaffMessengerDto = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const notification_chanel_action_enum_1 = require("./notification-chanel-action.enum");
|
|
16
|
+
class UpdateStaffMessengerDto {
|
|
17
|
+
}
|
|
18
|
+
exports.UpdateStaffMessengerDto = UpdateStaffMessengerDto;
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, class_transformer_1.Expose)(),
|
|
21
|
+
(0, class_validator_1.IsArray)(),
|
|
22
|
+
(0, class_validator_1.ArrayUnique)(),
|
|
23
|
+
(0, class_validator_1.IsEnum)(notification_chanel_action_enum_1.NotificationTriggerEnum, { each: true }),
|
|
24
|
+
__metadata("design:type", Array)
|
|
25
|
+
], UpdateStaffMessengerDto.prototype, "notificationTriggers", void 0);
|
|
26
|
+
__decorate([
|
|
27
|
+
(0, class_transformer_1.Expose)(),
|
|
28
|
+
(0, class_validator_1.IsBoolean)(),
|
|
29
|
+
__metadata("design:type", Boolean)
|
|
30
|
+
], UpdateStaffMessengerDto.prototype, "allLocations", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, class_transformer_1.Expose)(),
|
|
33
|
+
(0, class_validator_1.IsArray)(),
|
|
34
|
+
(0, class_validator_1.ArrayUnique)(),
|
|
35
|
+
(0, class_validator_1.IsInt)({ each: true }),
|
|
36
|
+
(0, class_validator_1.Min)(1, { each: true }),
|
|
37
|
+
__metadata("design:type", Array)
|
|
38
|
+
], UpdateStaffMessengerDto.prototype, "locationIds", void 0);
|
|
39
|
+
__decorate([
|
|
40
|
+
(0, class_transformer_1.Expose)(),
|
|
41
|
+
(0, class_validator_1.IsOptional)(),
|
|
42
|
+
(0, class_validator_1.IsBoolean)(),
|
|
43
|
+
__metadata("design:type", Boolean)
|
|
44
|
+
], UpdateStaffMessengerDto.prototype, "enabled", void 0);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CountriesEnum } from '../shared/enum/countries.enum';
|
|
2
|
+
import { AdminLastVisitPeriod } from './admin-partner-filters';
|
|
2
3
|
import { PartnerProgramEnum } from './enum/partner-program.enum';
|
|
3
4
|
import { ProfileIntegrationTypeEnum } from './enum/profile-integration-type.enum';
|
|
4
5
|
import { ProfileSalesStatus } from './enum/profile-sales-status.enum';
|
|
@@ -8,6 +9,10 @@ import { ProfileSubscriptionTypeEnum } from './enum/profile-subscription-type.en
|
|
|
8
9
|
import { ProfileTagEnum } from './enum/profile-tag.enum';
|
|
9
10
|
import { ProfileTechStatusEnum } from './enum/profile-tech-status.enum';
|
|
10
11
|
export declare class QueryAdminProfileDto {
|
|
12
|
+
isIntegrated?: boolean;
|
|
13
|
+
isCrmClient?: boolean;
|
|
14
|
+
lastVisitPeriod?: AdminLastVisitPeriod;
|
|
15
|
+
lastVisitTimeZone?: string;
|
|
11
16
|
withActions?: string;
|
|
12
17
|
tags?: ProfileTagEnum[];
|
|
13
18
|
notTags?: ProfileTagEnum[];
|
|
@@ -13,6 +13,7 @@ exports.QueryAdminProfileDto = void 0;
|
|
|
13
13
|
/* eslint-disable max-classes-per-file */
|
|
14
14
|
const class_transformer_1 = require("class-transformer");
|
|
15
15
|
const countries_enum_1 = require("../shared/enum/countries.enum");
|
|
16
|
+
const admin_partner_filters_1 = require("./admin-partner-filters");
|
|
16
17
|
const partner_program_enum_1 = require("./enum/partner-program.enum");
|
|
17
18
|
const profile_integration_type_enum_1 = require("./enum/profile-integration-type.enum");
|
|
18
19
|
const profile_subscription_type_enum_1 = require("./enum/profile-subscription-type.enum");
|
|
@@ -20,6 +21,22 @@ const profile_tech_status_enum_1 = require("./enum/profile-tech-status.enum");
|
|
|
20
21
|
class QueryAdminProfileDto {
|
|
21
22
|
}
|
|
22
23
|
exports.QueryAdminProfileDto = QueryAdminProfileDto;
|
|
24
|
+
__decorate([
|
|
25
|
+
(0, class_transformer_1.Expose)(),
|
|
26
|
+
__metadata("design:type", Boolean)
|
|
27
|
+
], QueryAdminProfileDto.prototype, "isIntegrated", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
(0, class_transformer_1.Expose)(),
|
|
30
|
+
__metadata("design:type", Boolean)
|
|
31
|
+
], QueryAdminProfileDto.prototype, "isCrmClient", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
(0, class_transformer_1.Expose)(),
|
|
34
|
+
__metadata("design:type", String)
|
|
35
|
+
], QueryAdminProfileDto.prototype, "lastVisitPeriod", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, class_transformer_1.Expose)(),
|
|
38
|
+
__metadata("design:type", String)
|
|
39
|
+
], QueryAdminProfileDto.prototype, "lastVisitTimeZone", void 0);
|
|
23
40
|
__decorate([
|
|
24
41
|
(0, class_transformer_1.Expose)(),
|
|
25
42
|
__metadata("design:type", String)
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
export declare class CallJournalQuery {
|
|
2
|
+
page?: number;
|
|
3
|
+
limit?: number;
|
|
4
|
+
view?: string;
|
|
5
|
+
search?: string;
|
|
6
|
+
locationId?: number;
|
|
7
|
+
employeeId?: number;
|
|
8
|
+
taskId?: number;
|
|
9
|
+
clientId?: number;
|
|
10
|
+
}
|
|
11
|
+
export declare const CALLBACK_RESULTS: readonly ["resolved", "lead", "booking", "wrongNumber", "spam", "unreachable"];
|
|
12
|
+
export declare class CallCallbackActionDto {
|
|
13
|
+
action: string;
|
|
14
|
+
result?: string;
|
|
15
|
+
dueAt?: string;
|
|
16
|
+
note?: string;
|
|
17
|
+
employeeId?: number;
|
|
18
|
+
clientId?: number;
|
|
19
|
+
leadId?: number;
|
|
20
|
+
orderId?: number;
|
|
21
|
+
}
|
|
22
|
+
export type CallCallbackRO = {
|
|
23
|
+
id: number;
|
|
24
|
+
status: string;
|
|
25
|
+
employeeId: number | null;
|
|
26
|
+
employeeName: string | null;
|
|
27
|
+
dueAt: string | null;
|
|
28
|
+
result: string | null;
|
|
29
|
+
reason: string;
|
|
30
|
+
contactedAt: string | null;
|
|
31
|
+
clientId: number | null;
|
|
32
|
+
leadId: number | null;
|
|
33
|
+
orderId: number | null;
|
|
34
|
+
events: {
|
|
35
|
+
at: string;
|
|
36
|
+
action: string;
|
|
37
|
+
userId?: number;
|
|
38
|
+
note?: string;
|
|
39
|
+
result?: string;
|
|
40
|
+
}[];
|
|
41
|
+
};
|
|
42
|
+
export type CallJournalRO = {
|
|
43
|
+
id: number;
|
|
44
|
+
source: 'novofon' | 'handler';
|
|
45
|
+
direction: string;
|
|
46
|
+
status: string;
|
|
47
|
+
phone: string;
|
|
48
|
+
destination: string | null;
|
|
49
|
+
locationId: number | null;
|
|
50
|
+
duration: number;
|
|
51
|
+
startedAt: string;
|
|
52
|
+
recordingUrl: string | null;
|
|
53
|
+
clientId: number | null;
|
|
54
|
+
clientName: string | null;
|
|
55
|
+
orderId: number | null;
|
|
56
|
+
leadId: number | null;
|
|
57
|
+
callback: CallCallbackRO | null;
|
|
58
|
+
};
|
|
59
|
+
export type CallJournalPageRO = {
|
|
60
|
+
items: CallJournalRO[];
|
|
61
|
+
hasMore: boolean;
|
|
62
|
+
};
|
|
63
|
+
export type CallLinkTargetRO = {
|
|
64
|
+
kind: 'client' | 'lead' | 'order';
|
|
65
|
+
id: number;
|
|
66
|
+
label: string;
|
|
67
|
+
};
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.CallCallbackActionDto = exports.CALLBACK_RESULTS = exports.CallJournalQuery = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
class CallJournalQuery {
|
|
16
|
+
}
|
|
17
|
+
exports.CallJournalQuery = CallJournalQuery;
|
|
18
|
+
__decorate([
|
|
19
|
+
(0, class_validator_1.IsOptional)(),
|
|
20
|
+
(0, class_transformer_1.Type)(() => Number),
|
|
21
|
+
(0, class_validator_1.IsInt)(),
|
|
22
|
+
(0, class_validator_1.Min)(1),
|
|
23
|
+
__metadata("design:type", Number)
|
|
24
|
+
], CallJournalQuery.prototype, "page", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, class_validator_1.IsOptional)(),
|
|
27
|
+
(0, class_transformer_1.Type)(() => Number),
|
|
28
|
+
(0, class_validator_1.IsInt)(),
|
|
29
|
+
(0, class_validator_1.Min)(1),
|
|
30
|
+
(0, class_validator_1.Max)(100),
|
|
31
|
+
__metadata("design:type", Number)
|
|
32
|
+
], CallJournalQuery.prototype, "limit", void 0);
|
|
33
|
+
__decorate([
|
|
34
|
+
(0, class_validator_1.IsOptional)(),
|
|
35
|
+
(0, class_validator_1.IsIn)(['all', 'pending', 'missed', 'inbound', 'outbound']),
|
|
36
|
+
__metadata("design:type", String)
|
|
37
|
+
], CallJournalQuery.prototype, "view", void 0);
|
|
38
|
+
__decorate([
|
|
39
|
+
(0, class_validator_1.IsOptional)(),
|
|
40
|
+
(0, class_validator_1.IsString)(),
|
|
41
|
+
(0, class_validator_1.MaxLength)(100),
|
|
42
|
+
__metadata("design:type", String)
|
|
43
|
+
], CallJournalQuery.prototype, "search", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
(0, class_validator_1.IsOptional)(),
|
|
46
|
+
(0, class_transformer_1.Type)(() => Number),
|
|
47
|
+
(0, class_validator_1.IsInt)(),
|
|
48
|
+
(0, class_validator_1.Min)(1),
|
|
49
|
+
__metadata("design:type", Number)
|
|
50
|
+
], CallJournalQuery.prototype, "locationId", void 0);
|
|
51
|
+
__decorate([
|
|
52
|
+
(0, class_validator_1.IsOptional)(),
|
|
53
|
+
(0, class_transformer_1.Type)(() => Number),
|
|
54
|
+
(0, class_validator_1.IsInt)(),
|
|
55
|
+
(0, class_validator_1.Min)(1),
|
|
56
|
+
__metadata("design:type", Number)
|
|
57
|
+
], CallJournalQuery.prototype, "employeeId", void 0);
|
|
58
|
+
__decorate([
|
|
59
|
+
(0, class_validator_1.IsOptional)(),
|
|
60
|
+
(0, class_transformer_1.Type)(() => Number),
|
|
61
|
+
(0, class_validator_1.IsInt)(),
|
|
62
|
+
(0, class_validator_1.Min)(1),
|
|
63
|
+
__metadata("design:type", Number)
|
|
64
|
+
], CallJournalQuery.prototype, "taskId", void 0);
|
|
65
|
+
__decorate([
|
|
66
|
+
(0, class_validator_1.IsOptional)(),
|
|
67
|
+
(0, class_transformer_1.Type)(() => Number),
|
|
68
|
+
(0, class_validator_1.IsInt)(),
|
|
69
|
+
(0, class_validator_1.Min)(1),
|
|
70
|
+
__metadata("design:type", Number)
|
|
71
|
+
], CallJournalQuery.prototype, "clientId", void 0);
|
|
72
|
+
exports.CALLBACK_RESULTS = [
|
|
73
|
+
'resolved',
|
|
74
|
+
'lead',
|
|
75
|
+
'booking',
|
|
76
|
+
'wrongNumber',
|
|
77
|
+
'spam',
|
|
78
|
+
'unreachable',
|
|
79
|
+
];
|
|
80
|
+
class CallCallbackActionDto {
|
|
81
|
+
}
|
|
82
|
+
exports.CallCallbackActionDto = CallCallbackActionDto;
|
|
83
|
+
__decorate([
|
|
84
|
+
(0, class_validator_1.IsIn)(['claim', 'assign', 'retry', 'finish', 'link']),
|
|
85
|
+
__metadata("design:type", String)
|
|
86
|
+
], CallCallbackActionDto.prototype, "action", void 0);
|
|
87
|
+
__decorate([
|
|
88
|
+
(0, class_validator_1.IsOptional)(),
|
|
89
|
+
(0, class_validator_1.IsIn)(exports.CALLBACK_RESULTS),
|
|
90
|
+
__metadata("design:type", String)
|
|
91
|
+
], CallCallbackActionDto.prototype, "result", void 0);
|
|
92
|
+
__decorate([
|
|
93
|
+
(0, class_validator_1.IsOptional)(),
|
|
94
|
+
(0, class_validator_1.IsISO8601)(),
|
|
95
|
+
__metadata("design:type", String)
|
|
96
|
+
], CallCallbackActionDto.prototype, "dueAt", void 0);
|
|
97
|
+
__decorate([
|
|
98
|
+
(0, class_validator_1.IsOptional)(),
|
|
99
|
+
(0, class_validator_1.IsString)(),
|
|
100
|
+
(0, class_validator_1.MaxLength)(2000),
|
|
101
|
+
__metadata("design:type", String)
|
|
102
|
+
], CallCallbackActionDto.prototype, "note", void 0);
|
|
103
|
+
__decorate([
|
|
104
|
+
(0, class_validator_1.IsOptional)(),
|
|
105
|
+
(0, class_validator_1.IsInt)(),
|
|
106
|
+
(0, class_validator_1.Min)(1),
|
|
107
|
+
__metadata("design:type", Number)
|
|
108
|
+
], CallCallbackActionDto.prototype, "employeeId", void 0);
|
|
109
|
+
__decorate([
|
|
110
|
+
(0, class_validator_1.IsOptional)(),
|
|
111
|
+
(0, class_validator_1.IsInt)(),
|
|
112
|
+
(0, class_validator_1.Min)(1),
|
|
113
|
+
__metadata("design:type", Number)
|
|
114
|
+
], CallCallbackActionDto.prototype, "clientId", void 0);
|
|
115
|
+
__decorate([
|
|
116
|
+
(0, class_validator_1.IsOptional)(),
|
|
117
|
+
(0, class_validator_1.IsInt)(),
|
|
118
|
+
(0, class_validator_1.Min)(1),
|
|
119
|
+
__metadata("design:type", Number)
|
|
120
|
+
], CallCallbackActionDto.prototype, "leadId", void 0);
|
|
121
|
+
__decorate([
|
|
122
|
+
(0, class_validator_1.IsOptional)(),
|
|
123
|
+
(0, class_validator_1.IsInt)(),
|
|
124
|
+
(0, class_validator_1.Min)(1),
|
|
125
|
+
__metadata("design:type", Number)
|
|
126
|
+
], CallCallbackActionDto.prototype, "orderId", void 0);
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
+
export declare class NovofonDestinationDto {
|
|
2
|
+
phone: string;
|
|
3
|
+
locationId: number;
|
|
4
|
+
}
|
|
1
5
|
export declare class UpdateNovofonDto {
|
|
6
|
+
destinations?: NovofonDestinationDto[];
|
|
2
7
|
enabled: boolean;
|
|
3
8
|
accessToken?: string;
|
|
4
9
|
virtualPhone: string;
|
|
@@ -10,12 +15,17 @@ export declare class UpdateNovofonLineDto {
|
|
|
10
15
|
canListen: boolean;
|
|
11
16
|
}
|
|
12
17
|
export declare class StartNovofonCallDto {
|
|
18
|
+
callbackTaskId?: number;
|
|
13
19
|
phone: string;
|
|
14
20
|
clientId?: number;
|
|
15
21
|
orderId?: number;
|
|
16
22
|
leadId?: number;
|
|
17
23
|
}
|
|
18
24
|
export type NovofonSettingsRO = {
|
|
25
|
+
destinations?: {
|
|
26
|
+
phone: string;
|
|
27
|
+
locationId: number;
|
|
28
|
+
}[];
|
|
19
29
|
enabled: boolean;
|
|
20
30
|
hasAccessToken: boolean;
|
|
21
31
|
virtualPhone: string;
|
|
@@ -9,11 +9,33 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.StartNovofonCallDto = exports.UpdateNovofonLineDto = exports.UpdateNovofonDto = void 0;
|
|
12
|
+
exports.StartNovofonCallDto = exports.UpdateNovofonLineDto = exports.UpdateNovofonDto = exports.NovofonDestinationDto = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
13
14
|
const class_validator_1 = require("class-validator");
|
|
15
|
+
class NovofonDestinationDto {
|
|
16
|
+
}
|
|
17
|
+
exports.NovofonDestinationDto = NovofonDestinationDto;
|
|
18
|
+
__decorate([
|
|
19
|
+
(0, class_validator_1.IsString)(),
|
|
20
|
+
(0, class_validator_1.Matches)(/^\+?[0-9]{10,15}$/),
|
|
21
|
+
__metadata("design:type", String)
|
|
22
|
+
], NovofonDestinationDto.prototype, "phone", void 0);
|
|
23
|
+
__decorate([
|
|
24
|
+
(0, class_validator_1.IsInt)(),
|
|
25
|
+
(0, class_validator_1.Min)(1),
|
|
26
|
+
__metadata("design:type", Number)
|
|
27
|
+
], NovofonDestinationDto.prototype, "locationId", void 0);
|
|
14
28
|
class UpdateNovofonDto {
|
|
15
29
|
}
|
|
16
30
|
exports.UpdateNovofonDto = UpdateNovofonDto;
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, class_validator_1.IsOptional)(),
|
|
33
|
+
(0, class_validator_1.IsArray)(),
|
|
34
|
+
(0, class_validator_1.ArrayMaxSize)(100),
|
|
35
|
+
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
36
|
+
(0, class_transformer_1.Type)(() => NovofonDestinationDto),
|
|
37
|
+
__metadata("design:type", Array)
|
|
38
|
+
], UpdateNovofonDto.prototype, "destinations", void 0);
|
|
17
39
|
__decorate([
|
|
18
40
|
(0, class_validator_1.IsBoolean)(),
|
|
19
41
|
__metadata("design:type", Boolean)
|
|
@@ -55,6 +77,12 @@ __decorate([
|
|
|
55
77
|
class StartNovofonCallDto {
|
|
56
78
|
}
|
|
57
79
|
exports.StartNovofonCallDto = StartNovofonCallDto;
|
|
80
|
+
__decorate([
|
|
81
|
+
(0, class_validator_1.IsOptional)(),
|
|
82
|
+
(0, class_validator_1.IsInt)(),
|
|
83
|
+
(0, class_validator_1.Min)(1),
|
|
84
|
+
__metadata("design:type", Number)
|
|
85
|
+
], StartNovofonCallDto.prototype, "callbackTaskId", void 0);
|
|
58
86
|
__decorate([
|
|
59
87
|
(0, class_validator_1.IsString)(),
|
|
60
88
|
(0, class_validator_1.Matches)(/^\+?[0-9 ()-]{7,25}$/),
|
|
@@ -18,6 +18,7 @@ exports.PromocodeKindEnum = void 0;
|
|
|
18
18
|
var PromocodeKindEnum;
|
|
19
19
|
(function (PromocodeKindEnum) {
|
|
20
20
|
PromocodeKindEnum["MANUAL"] = "MANUAL";
|
|
21
|
+
PromocodeKindEnum["FORTUNE_WHEEL"] = "FORTUNE_WHEEL";
|
|
21
22
|
PromocodeKindEnum["CROSS_SALE"] = "CROSS_SALE";
|
|
22
23
|
PromocodeKindEnum["RETARGETING"] = "RETARGETING";
|
|
23
24
|
PromocodeKindEnum["BIRTHDAY"] = "BIRTHDAY";
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ModerationPayDto } from './moderation-pay.dto';
|
|
1
2
|
export declare class CreateSalarySchemeDto {
|
|
2
3
|
title: string;
|
|
3
4
|
/** Minor units per worked hour. */
|
|
@@ -8,6 +9,7 @@ export declare class CreateSalarySchemeDto {
|
|
|
8
9
|
upsellingBonus?: number;
|
|
9
10
|
/** Minor units per game moderated by the employee. */
|
|
10
11
|
moderateGameBonusFix?: number;
|
|
12
|
+
moderationPay?: ModerationPayDto | null;
|
|
11
13
|
/** Position id to minor units per worked game. */
|
|
12
14
|
otherPositions?: Record<string, number>;
|
|
13
15
|
}
|
|
@@ -13,6 +13,7 @@ exports.CreateSalarySchemeDto = void 0;
|
|
|
13
13
|
const class_transformer_1 = require("class-transformer");
|
|
14
14
|
const class_validator_1 = require("class-validator");
|
|
15
15
|
const is_not_blank_1 = require("../shared/is-not-blank");
|
|
16
|
+
const moderation_pay_dto_1 = require("./moderation-pay.dto");
|
|
16
17
|
const MAX_PERCENT_BP = 10000;
|
|
17
18
|
class CreateSalarySchemeDto {
|
|
18
19
|
}
|
|
@@ -51,6 +52,13 @@ __decorate([
|
|
|
51
52
|
(0, class_transformer_1.Expose)(),
|
|
52
53
|
__metadata("design:type", Number)
|
|
53
54
|
], CreateSalarySchemeDto.prototype, "moderateGameBonusFix", void 0);
|
|
55
|
+
__decorate([
|
|
56
|
+
(0, class_validator_1.IsOptional)(),
|
|
57
|
+
(0, class_transformer_1.Expose)(),
|
|
58
|
+
(0, class_validator_1.ValidateNested)(),
|
|
59
|
+
(0, class_transformer_1.Type)(() => moderation_pay_dto_1.ModerationPayDto),
|
|
60
|
+
__metadata("design:type", moderation_pay_dto_1.ModerationPayDto)
|
|
61
|
+
], CreateSalarySchemeDto.prototype, "moderationPay", void 0);
|
|
54
62
|
__decorate([
|
|
55
63
|
(0, class_validator_1.IsOptional)(),
|
|
56
64
|
(0, class_validator_1.IsObject)(),
|
package/dist/salary/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export * from './create-salary-accrual.dto';
|
|
|
3
3
|
export * from './create-salary-scheme.dto';
|
|
4
4
|
export * from './enum/salary-accrual-source-type.enum';
|
|
5
5
|
export * from './enum/salary-accrual-type.enum';
|
|
6
|
+
export * from './moderation-pay.dto';
|
|
6
7
|
export * from './query-salary-period.dto';
|
|
7
8
|
export * from './run-salary-accruals.dto';
|
|
8
9
|
export * from './salary-accrual.ro';
|
package/dist/salary/index.js
CHANGED
|
@@ -19,6 +19,7 @@ __exportStar(require("./create-salary-accrual.dto"), exports);
|
|
|
19
19
|
__exportStar(require("./create-salary-scheme.dto"), exports);
|
|
20
20
|
__exportStar(require("./enum/salary-accrual-source-type.enum"), exports);
|
|
21
21
|
__exportStar(require("./enum/salary-accrual-type.enum"), exports);
|
|
22
|
+
__exportStar(require("./moderation-pay.dto"), exports);
|
|
22
23
|
__exportStar(require("./query-salary-period.dto"), exports);
|
|
23
24
|
__exportStar(require("./run-salary-accruals.dto"), exports);
|
|
24
25
|
__exportStar(require("./salary-accrual.ro"), exports);
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export type ModerationPayMode = 'fixed' | 'percent' | 'mixed';
|
|
2
|
+
export declare class ModerationPayTierDto {
|
|
3
|
+
fromGame: number;
|
|
4
|
+
fixed: number;
|
|
5
|
+
/** Basis points: 1000 = 10%. */
|
|
6
|
+
percent: number;
|
|
7
|
+
}
|
|
8
|
+
export declare class ModerationPayDto {
|
|
9
|
+
mode: ModerationPayMode;
|
|
10
|
+
daily: boolean;
|
|
11
|
+
includeGame: boolean;
|
|
12
|
+
upsellingIds: string[];
|
|
13
|
+
tiers: ModerationPayTierDto[];
|
|
14
|
+
}
|
|
15
|
+
/** Shared cross-field validation; DTO decorators additionally validate individual values. */
|
|
16
|
+
export declare const validModerationPay: (pay: ModerationPayDto) => boolean;
|
|
17
|
+
export type ModerationPayDetails = {
|
|
18
|
+
version: 1;
|
|
19
|
+
dayGame: number;
|
|
20
|
+
daily: boolean;
|
|
21
|
+
tierFrom: number;
|
|
22
|
+
fixed: number;
|
|
23
|
+
percent: number;
|
|
24
|
+
base: number;
|
|
25
|
+
/** Gross and net amounts of every game/add-on line; payment methods never enter the base. */
|
|
26
|
+
items: Array<{
|
|
27
|
+
kind: 'game' | 'addon' | 'product';
|
|
28
|
+
lineId: string;
|
|
29
|
+
id: string;
|
|
30
|
+
title: string;
|
|
31
|
+
gross: number;
|
|
32
|
+
net: number;
|
|
33
|
+
included: boolean;
|
|
34
|
+
}>;
|
|
35
|
+
};
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.validModerationPay = exports.ModerationPayDto = exports.ModerationPayTierDto = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
class ModerationPayTierDto {
|
|
16
|
+
}
|
|
17
|
+
exports.ModerationPayTierDto = ModerationPayTierDto;
|
|
18
|
+
__decorate([
|
|
19
|
+
(0, class_transformer_1.Expose)(),
|
|
20
|
+
(0, class_validator_1.IsInt)(),
|
|
21
|
+
(0, class_validator_1.Min)(1),
|
|
22
|
+
(0, class_validator_1.Max)(1000),
|
|
23
|
+
__metadata("design:type", Number)
|
|
24
|
+
], ModerationPayTierDto.prototype, "fromGame", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, class_transformer_1.Expose)(),
|
|
27
|
+
(0, class_validator_1.IsInt)(),
|
|
28
|
+
(0, class_validator_1.Min)(0),
|
|
29
|
+
(0, class_validator_1.Max)(100000000),
|
|
30
|
+
__metadata("design:type", Number)
|
|
31
|
+
], ModerationPayTierDto.prototype, "fixed", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
(0, class_transformer_1.Expose)(),
|
|
34
|
+
(0, class_validator_1.IsInt)(),
|
|
35
|
+
(0, class_validator_1.Min)(0),
|
|
36
|
+
(0, class_validator_1.Max)(10000),
|
|
37
|
+
__metadata("design:type", Number)
|
|
38
|
+
], ModerationPayTierDto.prototype, "percent", void 0);
|
|
39
|
+
class ModerationPayDto {
|
|
40
|
+
}
|
|
41
|
+
exports.ModerationPayDto = ModerationPayDto;
|
|
42
|
+
__decorate([
|
|
43
|
+
(0, class_transformer_1.Expose)(),
|
|
44
|
+
(0, class_validator_1.IsIn)(['fixed', 'percent', 'mixed']),
|
|
45
|
+
__metadata("design:type", String)
|
|
46
|
+
], ModerationPayDto.prototype, "mode", void 0);
|
|
47
|
+
__decorate([
|
|
48
|
+
(0, class_transformer_1.Expose)(),
|
|
49
|
+
(0, class_validator_1.IsBoolean)(),
|
|
50
|
+
__metadata("design:type", Boolean)
|
|
51
|
+
], ModerationPayDto.prototype, "daily", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
(0, class_transformer_1.Expose)(),
|
|
54
|
+
(0, class_validator_1.IsBoolean)(),
|
|
55
|
+
__metadata("design:type", Boolean)
|
|
56
|
+
], ModerationPayDto.prototype, "includeGame", void 0);
|
|
57
|
+
__decorate([
|
|
58
|
+
(0, class_transformer_1.Expose)(),
|
|
59
|
+
(0, class_validator_1.IsArray)(),
|
|
60
|
+
(0, class_validator_1.ArrayMaxSize)(200),
|
|
61
|
+
(0, class_validator_1.ArrayUnique)(),
|
|
62
|
+
(0, class_validator_1.IsString)({ each: true }),
|
|
63
|
+
__metadata("design:type", Array)
|
|
64
|
+
], ModerationPayDto.prototype, "upsellingIds", void 0);
|
|
65
|
+
__decorate([
|
|
66
|
+
(0, class_transformer_1.Expose)(),
|
|
67
|
+
(0, class_validator_1.IsArray)(),
|
|
68
|
+
(0, class_validator_1.ArrayMinSize)(1),
|
|
69
|
+
(0, class_validator_1.ArrayMaxSize)(20),
|
|
70
|
+
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
71
|
+
(0, class_transformer_1.Type)(() => ModerationPayTierDto),
|
|
72
|
+
__metadata("design:type", Array)
|
|
73
|
+
], ModerationPayDto.prototype, "tiers", void 0);
|
|
74
|
+
/** Shared cross-field validation; DTO decorators additionally validate individual values. */
|
|
75
|
+
const validModerationPay = (pay) => {
|
|
76
|
+
var _a;
|
|
77
|
+
if (!pay ||
|
|
78
|
+
!['fixed', 'percent', 'mixed'].includes(pay.mode) ||
|
|
79
|
+
typeof pay.daily !== 'boolean' ||
|
|
80
|
+
typeof pay.includeGame !== 'boolean' ||
|
|
81
|
+
!Array.isArray(pay.upsellingIds) ||
|
|
82
|
+
pay.upsellingIds.length > 200 ||
|
|
83
|
+
pay.upsellingIds.some((id) => typeof id !== 'string' ||
|
|
84
|
+
!/^\d+$/.test(id) ||
|
|
85
|
+
!Number.isSafeInteger(Number(id)) ||
|
|
86
|
+
Number(id) <= 0) ||
|
|
87
|
+
new Set(pay.upsellingIds).size !== pay.upsellingIds.length ||
|
|
88
|
+
!Array.isArray(pay.tiers) ||
|
|
89
|
+
!pay.tiers.length ||
|
|
90
|
+
pay.tiers.length > 20 ||
|
|
91
|
+
((_a = pay.tiers[0]) === null || _a === void 0 ? void 0 : _a.fromGame) !== 1 ||
|
|
92
|
+
(!pay.daily && pay.tiers.length !== 1))
|
|
93
|
+
return false;
|
|
94
|
+
if (pay.mode !== 'fixed' && !pay.includeGame && !pay.upsellingIds.length)
|
|
95
|
+
return false;
|
|
96
|
+
return pay.tiers.every((tier, index) => {
|
|
97
|
+
if (!tier)
|
|
98
|
+
return false;
|
|
99
|
+
const previous = pay.tiers[index - 1];
|
|
100
|
+
return (Number.isInteger(tier.fromGame) &&
|
|
101
|
+
tier.fromGame >= 1 &&
|
|
102
|
+
tier.fromGame <= 1000 &&
|
|
103
|
+
Number.isInteger(tier.fixed) &&
|
|
104
|
+
tier.fixed >= 0 &&
|
|
105
|
+
tier.fixed <= 100000000 &&
|
|
106
|
+
Number.isInteger(tier.percent) &&
|
|
107
|
+
tier.percent >= 0 &&
|
|
108
|
+
tier.percent <= 10000 &&
|
|
109
|
+
(pay.mode !== 'fixed' || tier.percent === 0) &&
|
|
110
|
+
(pay.mode !== 'percent' || tier.fixed === 0) &&
|
|
111
|
+
(!previous ||
|
|
112
|
+
(tier.fromGame > previous.fromGame &&
|
|
113
|
+
tier.fixed >= previous.fixed &&
|
|
114
|
+
tier.percent >= previous.percent)));
|
|
115
|
+
});
|
|
116
|
+
};
|
|
117
|
+
exports.validModerationPay = validModerationPay;
|
|
@@ -49,6 +49,13 @@ __decorate([
|
|
|
49
49
|
class QuerySalarySummaryDto extends QuerySalaryPeriodDto {
|
|
50
50
|
}
|
|
51
51
|
exports.QuerySalarySummaryDto = QuerySalarySummaryDto;
|
|
52
|
+
__decorate([
|
|
53
|
+
(0, class_validator_1.IsOptional)(),
|
|
54
|
+
(0, class_validator_1.IsString)(),
|
|
55
|
+
(0, class_validator_1.MaxLength)(100),
|
|
56
|
+
(0, class_transformer_1.Expose)(),
|
|
57
|
+
__metadata("design:type", String)
|
|
58
|
+
], QuerySalarySummaryDto.prototype, "search", void 0);
|
|
52
59
|
__decorate([
|
|
53
60
|
(0, class_validator_1.IsOptional)(),
|
|
54
61
|
(0, class_transformer_1.Type)(() => Number),
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SalaryAccrualOriginEnum, SalaryAccrualSourceTypeEnum } from './enum/salary-accrual-source-type.enum';
|
|
2
2
|
import { SalaryAccrualTypeEnum } from './enum/salary-accrual-type.enum';
|
|
3
|
+
import type { ModerationPayDetails } from './moderation-pay.dto';
|
|
3
4
|
export type SalaryAccrualRO = {
|
|
4
5
|
id: number;
|
|
5
6
|
profileId: number;
|
|
@@ -8,6 +9,7 @@ export type SalaryAccrualRO = {
|
|
|
8
9
|
type: SalaryAccrualTypeEnum;
|
|
9
10
|
/** Minor units; fines and deductions are negative. */
|
|
10
11
|
amount: number;
|
|
12
|
+
moderationDetails?: ModerationPayDetails | null;
|
|
11
13
|
base: number | null;
|
|
12
14
|
/** Basis points for upsellings, otherwise a fixed rate in minor units. */
|
|
13
15
|
rate: number | null;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SalaryAccrualSourceTypeEnum } from './enum/salary-accrual-source-type.enum';
|
|
2
2
|
import { SalaryAccrualTypeEnum } from './enum/salary-accrual-type.enum';
|
|
3
|
+
import type { ModerationPayDetails } from './moderation-pay.dto';
|
|
3
4
|
export type SalaryPreviewLineRO = {
|
|
4
5
|
date: string;
|
|
5
6
|
type: SalaryAccrualTypeEnum;
|
|
@@ -7,6 +8,7 @@ export type SalaryPreviewLineRO = {
|
|
|
7
8
|
base: number | null;
|
|
8
9
|
rate: number | null;
|
|
9
10
|
amount: number;
|
|
11
|
+
moderationDetails?: ModerationPayDetails | null;
|
|
10
12
|
sourceType: SalaryAccrualSourceTypeEnum;
|
|
11
13
|
sourceId: number | null;
|
|
12
14
|
schemeId: number | null;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ModerationPayDto } from './moderation-pay.dto';
|
|
1
2
|
export type SalarySchemeAssignmentRO = {
|
|
2
3
|
id: number;
|
|
3
4
|
profileId: number;
|
|
@@ -18,6 +19,7 @@ export type SalarySchemeRO = {
|
|
|
18
19
|
/** Minor units per moderated game. */
|
|
19
20
|
moderateGameBonusFix: number;
|
|
20
21
|
/** Position id to minor units per worked game. */
|
|
22
|
+
moderationPay?: ModerationPayDto | null;
|
|
21
23
|
otherPositions: Record<string, number>;
|
|
22
24
|
assignments: SalarySchemeAssignmentRO[];
|
|
23
25
|
createdAt: Date;
|