@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 = +(0, get_cancelation_fee_amount_1.getCancelationFeeAmount)({
53
- cancelationRule: cancelationType,
54
- total: playersPrice,
55
- slotDiscount,
56
- minimalPrice,
57
- cancelationAmount,
58
- }).toFixed(0);
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
  * Кейсы, если игра отменяется в срок
@@ -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.4",
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.4",
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": "09cfd021bca13eaa7a15ff93d537b040b1d3076a"
58
+ "gitHead": "7032754e57291be53744f898a89e37413318e3d3"
59
59
  }