@escapenavigator/utils 1.10.4 → 1.10.6
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,9 +38,9 @@ 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
|
|
@@ -49,13 +49,14 @@ function getOrderCancelationState({ cancelationReason, cancelationRule, cancelat
|
|
|
49
49
|
const cancelationType = foolFineCancelation
|
|
50
50
|
? questroom_cancelation_type_enum_1.QuestroomCancelationTypeEnum.FULL_PRICE
|
|
51
51
|
: cancelationRule;
|
|
52
|
-
const fineAmount =
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
52
|
+
const fineAmount = (typeof forceFine === 'number' && forceFine) ||
|
|
53
|
+
+(0, get_cancelation_fee_amount_1.getCancelationFeeAmount)({
|
|
54
|
+
cancelationRule: cancelationType,
|
|
55
|
+
total: playersPrice,
|
|
56
|
+
slotDiscount,
|
|
57
|
+
minimalPrice,
|
|
58
|
+
cancelationAmount,
|
|
59
|
+
}).toFixed(0);
|
|
59
60
|
const chargeAmount = fineAmount - orderPayment;
|
|
60
61
|
/**
|
|
61
62
|
* Кейсы, если игра отменяется в срок
|
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.6",
|
|
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.6",
|
|
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": "7032754e57291be53744f898a89e37413318e3d3"
|
|
59
59
|
}
|