43 lines
1.4 KiB
TypeScript
43 lines
1.4 KiB
TypeScript
|
|
import { Promocode } from "@root/model/promocodes";
|
||
|
|
|
||
|
|
|
||
|
|
export function createDiscountFromPromocode(promocode: Promocode, userId: string) {
|
||
|
|
return {
|
||
|
|
"ID": crypto.randomUUID(),
|
||
|
|
"Name": promocode.codeword,
|
||
|
|
"Layer": promocode.bonus.discount.layer,
|
||
|
|
"Description": "",
|
||
|
|
"Condition": {
|
||
|
|
"User": userId,
|
||
|
|
"UserType": "",
|
||
|
|
"Coupon": promocode.codeword,
|
||
|
|
"PurchasesAmount": "0",
|
||
|
|
"CartPurchasesAmount": "0",
|
||
|
|
"Product": promocode.bonus.discount.target,
|
||
|
|
"Term": "0",
|
||
|
|
"Usage": "0",
|
||
|
|
"PriceFrom": "0",
|
||
|
|
"Group": promocode.bonus.discount.target
|
||
|
|
},
|
||
|
|
"Target": {
|
||
|
|
"Products": promocode.bonus.discount.layer === 1 ? [
|
||
|
|
{
|
||
|
|
"ID": promocode.bonus.discount.target,
|
||
|
|
"Factor": promocode.bonus.discount.factor,
|
||
|
|
"Overhelm": false
|
||
|
|
}
|
||
|
|
] : [],
|
||
|
|
"Factor": promocode.bonus.discount.layer === 2 ? promocode.bonus.discount.factor : 0,
|
||
|
|
"TargetScope": "Sum",
|
||
|
|
"TargetGroup": promocode.bonus.discount.target,
|
||
|
|
"Overhelm": true
|
||
|
|
},
|
||
|
|
"Audit": {
|
||
|
|
"UpdatedAt": "",
|
||
|
|
"CreatedAt": "",
|
||
|
|
"Deleted": false
|
||
|
|
},
|
||
|
|
"Deprecated": false
|
||
|
|
};
|
||
|
|
}
|