@escapenavigator/utils 1.10.3 → 1.10.5
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.
|
@@ -12,11 +12,13 @@ declare type Props = {
|
|
|
12
12
|
transactions: Array<{
|
|
13
13
|
type: TransactionTypeEnum;
|
|
14
14
|
amount: number;
|
|
15
|
+
includedIncrease: number;
|
|
15
16
|
}>;
|
|
16
17
|
certificates: Array<{
|
|
17
18
|
nominal: number;
|
|
18
19
|
}>;
|
|
19
20
|
playersPrice: number;
|
|
21
|
+
forceFine?: number;
|
|
20
22
|
payed: number;
|
|
21
23
|
minimalPrice: number;
|
|
22
24
|
slotDiscount: number;
|
|
@@ -33,7 +35,7 @@ export declare const isCancelationAllowed: ({ date, minHoursForFreeCanceling, }:
|
|
|
33
35
|
date: string;
|
|
34
36
|
minHoursForFreeCanceling: number;
|
|
35
37
|
}) => boolean;
|
|
36
|
-
export declare function getOrderCancelationState({ cancelationReason, cancelationRule, cancelationAmount, transactions, date, returnCertificates, certificates, minHoursForFreeCanceling, minHoursForFullFine, playersPrice, slotDiscount, payed, minimalPrice, }: Props): {
|
|
38
|
+
export declare function getOrderCancelationState({ cancelationReason, cancelationRule, cancelationAmount, transactions, date, returnCertificates, forceFine, certificates, minHoursForFreeCanceling, minHoursForFullFine, playersPrice, slotDiscount, payed, minimalPrice, }: Props): {
|
|
37
39
|
fineAmount: number;
|
|
38
40
|
returnAmount: number;
|
|
39
41
|
allowedCancelation: boolean;
|
|
@@ -24,7 +24,7 @@ var FineDescriptions;
|
|
|
24
24
|
})(FineDescriptions = exports.FineDescriptions || (exports.FineDescriptions = {}));
|
|
25
25
|
const isCancelationAllowed = ({ date, minHoursForFreeCanceling = 0, }) => (0, differenceInHours_1.default)(new Date(date), new Date()) >= minHoursForFreeCanceling;
|
|
26
26
|
exports.isCancelationAllowed = isCancelationAllowed;
|
|
27
|
-
function getOrderCancelationState({ cancelationReason, cancelationRule, cancelationAmount, transactions, date, returnCertificates, certificates, minHoursForFreeCanceling, minHoursForFullFine, playersPrice, slotDiscount = 0, payed, minimalPrice, }) {
|
|
27
|
+
function getOrderCancelationState({ cancelationReason, cancelationRule, cancelationAmount, transactions, date, returnCertificates, forceFine, certificates, minHoursForFreeCanceling, minHoursForFullFine, playersPrice, slotDiscount = 0, payed, minimalPrice, }) {
|
|
28
28
|
const halfFineCancelation = cancelationRule !== questroom_cancelation_type_enum_1.QuestroomCancelationTypeEnum.NO &&
|
|
29
29
|
cancelationReason !== order_cancel_reson_enum_1.OrderCancelReasonEnum.QUESTROOM &&
|
|
30
30
|
!(0, exports.isCancelationAllowed)({
|
|
@@ -38,16 +38,18 @@ function getOrderCancelationState({ cancelationReason, cancelationRule, cancelat
|
|
|
38
38
|
date,
|
|
39
39
|
minHoursForFreeCanceling: minHoursForFullFine,
|
|
40
40
|
});
|
|
41
|
-
const allowedCancelation = !halfFineCancelation && !foolFineCancelation;
|
|
41
|
+
const allowedCancelation = !forceFine && !halfFineCancelation && !foolFineCancelation;
|
|
42
42
|
const receivedTransactions = getReceivedTransactions(transactions);
|
|
43
|
-
const receivedTransactionsAmount = receivedTransactions.reduce((acc, tr) => acc + tr.amount, 0);
|
|
43
|
+
const receivedTransactionsAmount = receivedTransactions.reduce((acc, tr) => acc + tr.amount - (tr.includedIncrease || 0), 0);
|
|
44
44
|
const autoReturtAvailable = receivedTransactions.length === 1 &&
|
|
45
45
|
receivedTransactions[0]?.type !== transaction_type_enum_1.TransactionTypeEnum.INSIDE;
|
|
46
46
|
const orderPayment = returnCertificates
|
|
47
47
|
? payed - certificates.reduce((acc, c) => acc + c.nominal, 0)
|
|
48
48
|
: payed;
|
|
49
|
-
const cancelationType = foolFineCancelation
|
|
50
|
-
|
|
49
|
+
const cancelationType = foolFineCancelation
|
|
50
|
+
? questroom_cancelation_type_enum_1.QuestroomCancelationTypeEnum.FULL_PRICE
|
|
51
|
+
: cancelationRule;
|
|
52
|
+
const fineAmount = (typeof forceFine === 'number' && forceFine) || +(0, get_cancelation_fee_amount_1.getCancelationFeeAmount)({
|
|
51
53
|
cancelationRule: cancelationType,
|
|
52
54
|
total: playersPrice,
|
|
53
55
|
slotDiscount,
|
package/dist/serialize-slot.js
CHANGED
|
@@ -6,6 +6,7 @@ const get_full_name_1 = require("./get-full-name");
|
|
|
6
6
|
const serializeSlotOrderData = (order) => order && {
|
|
7
7
|
id: order.id,
|
|
8
8
|
players: order.players,
|
|
9
|
+
children: order.children,
|
|
9
10
|
hasDiscounts: !!order.discounts?.length,
|
|
10
11
|
hasComments: !!order.messages?.length || !!order.comment,
|
|
11
12
|
hasCertificateApplies: !!order.certificates?.length,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@escapenavigator/utils",
|
|
3
|
-
"version": "1.10.
|
|
3
|
+
"version": "1.10.5",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"test": "jest"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@escapenavigator/types": "^1.10.
|
|
17
|
+
"@escapenavigator/types": "^1.10.5",
|
|
18
18
|
"axios": "^0.21.4",
|
|
19
19
|
"class-transformer": "^0.5.1",
|
|
20
20
|
"class-validator": "^0.13.2",
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"node_modules"
|
|
56
56
|
]
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "e1bbfdf1f784032892dd5ace2e8c80f7da93b553"
|
|
59
59
|
}
|