change types to include applied discounts

rename fields
This commit is contained in:
nflnkr 2023-07-24 15:36:08 +03:00
parent 19cfdbd74e
commit 40c598ce9b
6 changed files with 15 additions and 8 deletions

@ -1,6 +1,6 @@
{ {
"name": "@frontend/kitui", "name": "@frontend/kitui",
"version": "1.0.15", "version": "1.0.16",
"description": "test", "description": "test",
"main": "index.js", "main": "index.js",
"types": "index.d.ts", "types": "index.d.ts",

@ -2,19 +2,20 @@ import { Discount } from "./discount";
export type PrivilegeCartData = { export type PrivilegeCartData = {
tariffName: string;
tariffId: string; tariffId: string;
serviceKey: string; serviceKey: string;
privilegeId: string; privilegeId: string;
description: string; description: string;
/** Цена с учетом скидок на привелегию и сервис */
price: number; price: number;
appliedPrivilegeDiscount: Discount | null;
}; };
export type ServiceCartData = { export type ServiceCartData = {
serviceKey: string; serviceKey: string;
privileges: PrivilegeCartData[]; privileges: PrivilegeCartData[];
/** Цена с учетом скидок на привелегию и сервис */
price: number; price: number;
appliedServiceDiscount: Discount | null;
}; };
export type CartData = { export type CartData = {
@ -22,5 +23,7 @@ export type CartData = {
priceBeforeDiscounts: number; priceBeforeDiscounts: number;
priceAfterDiscounts: number; priceAfterDiscounts: number;
itemCount: number; itemCount: number;
envolvedDiscounts: Discount[]; appliedCartPurchasesDiscount: Discount | null;
appliedLoyaltyDiscount: Discount | null;
allAppliedDiscounts: Discount[];
}; };

@ -8,7 +8,8 @@ export function applyCartDiscount(
const cartDiscount = findCartDiscount(cartData.priceAfterDiscounts, discounts); const cartDiscount = findCartDiscount(cartData.priceAfterDiscounts, discounts);
if (cartDiscount.discount) { if (cartDiscount.discount) {
cartData.priceAfterDiscounts *= cartDiscount.factor; cartData.priceAfterDiscounts *= cartDiscount.factor;
cartData.envolvedDiscounts.push(cartDiscount.discount); cartData.allAppliedDiscounts.push(cartDiscount.discount);
cartData.appliedCartPurchasesDiscount = cartDiscount.discount;
} }
} }

@ -9,7 +9,8 @@ export function applyLoyaltyDiscount(
const loyalDiscount = findLoyaltyDiscount(purchasesAmount, discounts); const loyalDiscount = findLoyaltyDiscount(purchasesAmount, discounts);
if (loyalDiscount.discount) { if (loyalDiscount.discount) {
cartData.priceAfterDiscounts *= loyalDiscount.factor; cartData.priceAfterDiscounts *= loyalDiscount.factor;
cartData.envolvedDiscounts.push(loyalDiscount.discount); cartData.allAppliedDiscounts.push(loyalDiscount.discount);
cartData.appliedLoyaltyDiscount = loyalDiscount.discount;
} }
} }

@ -10,7 +10,8 @@ export function applyPrivilegeDiscounts(
const privilegeDiscount = findPrivilegeDiscount(privilege.privilegeId, privilege.price, discounts); const privilegeDiscount = findPrivilegeDiscount(privilege.privilegeId, privilege.price, discounts);
if (privilegeDiscount.discount) { if (privilegeDiscount.discount) {
privilege.price *= privilegeDiscount.factor; privilege.price *= privilegeDiscount.factor;
cartData.envolvedDiscounts.push(privilegeDiscount.discount); cartData.allAppliedDiscounts.push(privilegeDiscount.discount);
privilege.appliedPrivilegeDiscount = privilegeDiscount.discount;
} }
}); });

@ -10,7 +10,8 @@ export function applyServiceDiscounts(
const privilegeDiscount = findServiceDiscount(privilege.serviceKey, privilege.price, discounts); const privilegeDiscount = findServiceDiscount(privilege.serviceKey, privilege.price, discounts);
if (privilegeDiscount.discount) { if (privilegeDiscount.discount) {
privilege.price *= privilegeDiscount.factor; privilege.price *= privilegeDiscount.factor;
cartData.envolvedDiscounts.push(privilegeDiscount.discount); cartData.allAppliedDiscounts.push(privilegeDiscount.discount);
service.appliedServiceDiscount = privilegeDiscount.discount;
} }
}); });