-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
70 changed files
with
1,350 additions
and
510 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
import UserBonusTransaction from "../../models/UserBonusTransaction"; | ||
import User from "../../models/User"; | ||
type InitBonusAdapter = { | ||
id: string; | ||
}; | ||
interface optionalId { | ||
id?: string; | ||
} | ||
interface BonusTransaction extends Pick<UserBonusTransaction, "type" | "group" | "amount" | "customData">, optionalId { | ||
} | ||
export default abstract class BonusAdapter { | ||
readonly InitBonusAdapter: InitBonusAdapter; | ||
protected constructor(InitBonusAdapter: InitBonusAdapter); | ||
/** | ||
* Return user balance | ||
*/ | ||
abstract getBalance(user: User): Promise<number>; | ||
/** | ||
* Return user | ||
* @param afterTime - UNIX seconds | ||
*/ | ||
abstract getTransactions(user: User, afterTime: string): Promise<BonusTransaction[]>; | ||
/** | ||
* Метод для создания и получения уже существующего Payment адаптера | ||
* @param params - параметры для инициализации | ||
*/ | ||
static getInstance(...params: any[]): BonusAdapter; | ||
} | ||
export {}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
class BonusAdapter { | ||
constructor(InitBonusAdapter) { | ||
this.InitBonusAdapter = InitBonusAdapter; | ||
BonusProgram.alive(this); | ||
} | ||
/** | ||
* Метод для создания и получения уже существующего Payment адаптера | ||
* @param params - параметры для инициализации | ||
*/ | ||
static getInstance(...params) { | ||
return BonusAdapter.prototype; | ||
} | ||
} | ||
exports.default = BonusAdapter; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
import UserBonusTransaction from "../../models/UserBonusTransaction" | ||
import User from "../../models/User" | ||
|
||
type InitBonusAdapter = { | ||
id: string | ||
} | ||
|
||
interface optionalId {id?: string} | ||
interface BonusTransaction extends Pick<UserBonusTransaction, "type" | "group" | "amount" | "customData" > , optionalId {} | ||
|
||
|
||
export default abstract class BonusAdapter { | ||
public readonly InitBonusAdapter: InitBonusAdapter; | ||
|
||
protected constructor(InitBonusAdapter: InitBonusAdapter) { | ||
this.InitBonusAdapter = InitBonusAdapter; | ||
BonusProgram.alive(this); | ||
} | ||
|
||
|
||
|
||
/** | ||
* Return user balance | ||
*/ | ||
public abstract getBalance(user: User): Promise<number>; | ||
|
||
/** | ||
* Return user | ||
* @param afterTime - UNIX seconds | ||
*/ | ||
public abstract getTransactions(user: User, afterTime: string): Promise<BonusTransaction[]>; | ||
|
||
/** | ||
* Метод для создания и получения уже существующего Payment адаптера | ||
* @param params - параметры для инициализации | ||
*/ | ||
static getInstance(...params): BonusAdapter { | ||
return BonusAdapter.prototype; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
import { IconfigDiscount } from "../../interfaces/ConfigDiscount"; | ||
import Order from "../../models/Order"; | ||
import User from '@webresto/core/models/User'; | ||
import Group from "../../models/Group"; | ||
import Dish from "../../models/Dish"; | ||
export default abstract class AbstractPromotionHandler { | ||
/** unique id */ | ||
abstract id: string; | ||
abstract isJoint: boolean; | ||
abstract name: string; | ||
abstract isPublic: boolean; | ||
abstract description?: string; | ||
abstract configDiscount?: IconfigDiscount; | ||
abstract concept: string[]; | ||
abstract externalId?: string; | ||
abstract condition?(arg1: Group | Dish | Order): boolean; | ||
abstract action?(order: Order): Promise<void>; | ||
abstract displayGroup?(group: Group, user?: string | User): Promise<Group[]>; | ||
abstract displayDish?(dish: Dish, user?: string | User): Promise<Dish[]>; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
class AbstractPromotionHandler { | ||
} | ||
exports.default = AbstractPromotionHandler; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
import Order from "../../models/Order"; | ||
import AbstractPromotionHandler from "./AbstractPromotion"; | ||
import Group from '@webresto/core/models/Group'; | ||
import Dish from '@webresto/core/models/Dish'; | ||
import { IconfigDiscount } from "@webresto/core/interfaces/ConfigDiscount"; | ||
import { PromotionAdapter } from "@webresto/core/adapters/discount/default/promotionAdapter"; | ||
import Promotion from '@webresto/core/models/Promotion'; | ||
export default abstract class AbstractPromotionHandlerINSTANCE { | ||
static promotions: { | ||
[key: string]: AbstractPromotionHandler; | ||
}; | ||
abstract processOrder(order: Order): Promise<void>; | ||
abstract displayDish(dish: Dish): Promise<AbstractPromotionHandler | undefined>; | ||
abstract displayGroup(group: Group): Promise<AbstractPromotionHandler | undefined>; | ||
static filterByConcept: (concept: string) => Promise<Promotion[]>; | ||
static filterPromotions: (promotionsByConcept: Promotion[], target: Group | Dish | Order) => Promise<Promotion[] | undefined>; | ||
static filterByCondition: (promotions: Promotion[], target: Group | Dish | Order) => Promise<Promotion[]>; | ||
static recreatePromotionHandler: (promotionToAdd: AbstractPromotionHandler) => Promise<void>; | ||
static getAllConcept: (concept: string[]) => Promise<AbstractPromotionHandler[]>; | ||
abstract getActivePromotionsIds(): string[]; | ||
static clearOfPromotion: (orderId: any) => Promise<void>; | ||
static applyPromotion: (orderId: any, spendPromotion: IconfigDiscount, promotionId: any) => Promise<void>; | ||
static initialize: (initParams?: { | ||
[key: string]: string | number | boolean; | ||
}) => PromotionAdapter; | ||
abstract addPromotionHandler(promotionToAdd: AbstractPromotionHandler): Promise<void>; | ||
static getPromotionHandlerById: (id: string) => Promise<AbstractPromotionHandler | undefined>; | ||
static getInstance: (initParams?: { | ||
[key: string]: string | number | boolean; | ||
}) => AbstractPromotionHandlerINSTANCE; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
class AbstractPromotionHandlerINSTANCE { | ||
} | ||
exports.default = AbstractPromotionHandlerINSTANCE; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
import Order from "../../models/Order" | ||
import AbstractPromotionHandler from "./AbstractPromotion"; | ||
import Group from '@webresto/core/models/Group'; | ||
import Dish from '@webresto/core/models/Dish'; | ||
import { IconfigDiscount } from "@webresto/core/interfaces/ConfigDiscount"; | ||
import { PromotionAdapter } from "@webresto/core/adapters/discount/default/promotionAdapter"; | ||
import Promotion from '@webresto/core/models/Promotion'; | ||
|
||
export default abstract class AbstractPromotionHandlerINSTANCE { | ||
static promotions: { [key: string]: AbstractPromotionHandler}; | ||
|
||
public abstract processOrder(order: Order): Promise<void>; | ||
public abstract displayDish(dish: Dish): Promise<AbstractPromotionHandler | undefined>; | ||
public abstract displayGroup(group: Group): Promise<AbstractPromotionHandler | undefined>; | ||
|
||
public static filterByConcept:(concept: string) => Promise<Promotion[]>; | ||
public static filterPromotions:(promotionsByConcept: Promotion[], target: Group | Dish | Order) => Promise<Promotion[] | undefined>; | ||
public static filterByCondition:(promotions: Promotion[], target: Group | Dish | Order)=> Promise<Promotion[]>; | ||
|
||
public static recreatePromotionHandler:(promotionToAdd: AbstractPromotionHandler) => Promise<void>; | ||
|
||
public static getAllConcept:(concept: string[]) => Promise<AbstractPromotionHandler[]>; | ||
|
||
public abstract getActivePromotionsIds(): string[]; | ||
public static clearOfPromotion:(orderId: any) => Promise<void>; | ||
public static applyPromotion: (orderId: any, spendPromotion: IconfigDiscount, promotionId: any) => Promise<void>; | ||
public static initialize:(initParams?: { | ||
[key: string]: string | number | boolean; | ||
}) => PromotionAdapter; | ||
|
||
public abstract addPromotionHandler(promotionToAdd: AbstractPromotionHandler): Promise<void>; | ||
|
||
public static getPromotionHandlerById:(id: string) => Promise<AbstractPromotionHandler | undefined>; | ||
|
||
static getInstance:(initParams?: { | ||
[key: string]: string | number | boolean; | ||
})=> AbstractPromotionHandlerINSTANCE; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.