summaryrefslogtreecommitdiff
path: root/src-migrate/common
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-12-22 17:33:46 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-12-22 17:33:46 +0700
commit89f32128f37d99b490de7590e2116a9cfd853f89 (patch)
treefeb74cc6bd0030b291fbf3dbba9b89a7afd6ea31 /src-migrate/common
parentc9366090153e8aba3a673b2b77cbc8acc24e59a5 (diff)
Update promotion program feature
Diffstat (limited to 'src-migrate/common')
-rw-r--r--src-migrate/common/libs/parse0
-rw-r--r--src-migrate/common/types/cart.ts4
-rw-r--r--src-migrate/common/types/checkout.ts16
-rw-r--r--src-migrate/common/types/promotion.ts9
-rw-r--r--src-migrate/common/types/promotionProgram.ts8
5 files changed, 35 insertions, 2 deletions
diff --git a/src-migrate/common/libs/parse b/src-migrate/common/libs/parse
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/src-migrate/common/libs/parse
diff --git a/src-migrate/common/types/cart.ts b/src-migrate/common/types/cart.ts
index 15e08093..3aceeac4 100644
--- a/src-migrate/common/types/cart.ts
+++ b/src-migrate/common/types/cart.ts
@@ -1,3 +1,5 @@
+import { CategoryPromo } from "./promotion";
+
type Price = {
price: number;
discount_percentage: number;
@@ -45,7 +47,7 @@ export type CartItem = {
image?: string;
remaining_time?: number;
promotion_type?: {
- value?: string;
+ value?: CategoryPromo;
label?: string;
};
limit_qty?: {
diff --git a/src-migrate/common/types/checkout.ts b/src-migrate/common/types/checkout.ts
new file mode 100644
index 00000000..dc1365d8
--- /dev/null
+++ b/src-migrate/common/types/checkout.ts
@@ -0,0 +1,16 @@
+import { CartItem } from './cart';
+
+export interface ICheckout {
+ total_purchase: number;
+ total_discount: number;
+ discount_voucher: number;
+ subtotal: number;
+ tax: number;
+ grand_total: number;
+ total_weight: {
+ kg: number;
+ g: number;
+ };
+ has_product_without_weight: boolean;
+ products: CartItem[];
+}
diff --git a/src-migrate/common/types/promotion.ts b/src-migrate/common/types/promotion.ts
index 9e62cc3f..1f8316cf 100644
--- a/src-migrate/common/types/promotion.ts
+++ b/src-migrate/common/types/promotion.ts
@@ -5,7 +5,7 @@ export interface IPromotion {
program_id: number;
name: string;
type: {
- value: string;
+ value: CategoryPromo;
label: string;
};
limit: number;
@@ -26,3 +26,10 @@ export interface IPromotion {
export interface IProductVariantPromo extends IProductVariant {
qty: number;
}
+
+export type CategoryPromo = 'bundling' | 'discount_loading' | 'merchandise';
+
+export interface ICategoryPromo {
+ value: CategoryPromo;
+ label: string;
+}
diff --git a/src-migrate/common/types/promotionProgram.ts b/src-migrate/common/types/promotionProgram.ts
new file mode 100644
index 00000000..205884b6
--- /dev/null
+++ b/src-migrate/common/types/promotionProgram.ts
@@ -0,0 +1,8 @@
+export type IPromotionProgram = {
+ id: number;
+ name: string;
+ start_time: string;
+ end_time: string;
+ applies_to: string;
+ time_left: number;
+};