Options
All
  • Public
  • Public/Protected
  • All
Menu

@pizza-hut/lib-event-definitions

Index

Enumerations

Classes

Interfaces

Type aliases

Variables

Functions

Object literals

Type aliases

Currency

Currency: number

PriceBreakdownPerCurrency

PriceBreakdownPerCurrency: { charges: ChargeLine[]; currencyCode: CurrencyCode; grossPrice: Currency; netPrice: Currency }

Type declaration

PriceInfo

PriceInfo: PriceBreakdownPerCurrency & { pricesByCurrency?: PriceBreakdownPerCurrency[] }

Variables

Const CurrencySchema

CurrencySchema: NumberSchema = Joi.number().precision(2)

Private Const EXAMPLE_DIR

EXAMPLE_DIR: string = path.resolve(__dirname, '../../examples')

Const chance

chance: Chance = new Chance()

Const dispositionHours

dispositionHours: ObjectSchema = Joi.object({disposition: Joi.string().valid('collection', 'delivery').required(),open: Joi.string().required(),close: Joi.string().required(),})

Const orderLaterDispositionHours

orderLaterDispositionHours: ObjectSchema = dispositionHours.keys({periods: Joi.array().items(orderLaterPeriod).required(),})

Const orderLaterPeriod

orderLaterPeriod: ObjectSchema = Joi.object({from: Joi.string().required(),to: Joi.string().required(),interval: Joi.number().integer().required(),prep: Joi.number().integer().required(),})

Const schema

schema: ObjectSchema = Joi.object().keys({context: Joi.object({traceId: Joi.string(),envFlag: Joi.string().optional(),}),payload: Joi.object({}),})

Const surcharge

surcharge: ObjectSchema = Joi.object({type: Joi.string().required(),price: Joi.number().required(),})

Functions

Private applyDefaultConfig

  • applyDefaultConfig(config?: any): Config

build

  • build(config: Config): Customer

Private currencyFactory

Const displayPrice

generateExample

getDefinition

getExamples

  • getExamples(topic: string): any

Private getIsCurbSide

  • getIsCurbSide(type: string): boolean | undefined

getSchema

Private getTime

  • getTime(when: string): number | undefined

Private randomId

  • randomId(): string

Private randomLengthSelection

  • randomLengthSelection(ObjectDefinitionLike: ObjectDefinition, params: any, config: any): any[]

validateEvent

  • validateEvent<T>(eventName: EventNames, message: T, options?: ValidationOptions): T

validateMessage

  • validateMessage(topic: string, message: any): boolean

Object literals

Const output

output: object

[EventNames.AccountCreated]

[EventNames.AccountCreated]: AccountCreated = EventDefinitions.AccountCreated

[EventNames.AccountDeleted]

[EventNames.AccountDeleted]: AccountDeleted = EventDefinitions.AccountDeleted

[EventNames.AccountEdited]

[EventNames.AccountEdited]: AccountEdited = EventDefinitions.AccountEdited

[EventNames.DriverArrivedAtStore]

[EventNames.DriverArrivedAtStore]: DriverArrivedAtStore = EventDefinitions.DriverArrivedAtStore

[EventNames.DriverCollectedOrder]

[EventNames.DriverCollectedOrder]: DriverCollectedOrder = EventDefinitions.DriverCollectedOrder

[EventNames.DriverTrackingPublished]

[EventNames.DriverTrackingPublished]: DriverTrackingPublished = EventDefinitions.DriverTrackingPublished

[EventNames.DriverTrackingStatusUpdated]

[EventNames.DriverTrackingStatusUpdated]: DriverTrackingStatusUpdated = EventDefinitions.DriverTrackingStatusUpdated

[EventNames.MenuExported]

[EventNames.MenuExported]: MenuExported = EventDefinitions.MenuExported

[EventNames.MenuMasterUpdated]

[EventNames.MenuMasterUpdated]: MenuMasterUpdated = EventDefinitions.MenuMasterUpdated

[EventNames.MenuStockUpdated]

[EventNames.MenuStockUpdated]: MenuStockUpdated = EventDefinitions.MenuStockUpdated

[EventNames.MenuUpdated]

[EventNames.MenuUpdated]: MenuUpdated = EventDefinitions.MenuUpdated

[EventNames.OrderAccepted]

[EventNames.OrderAccepted]: OrderAccepted = EventDefinitions.OrderAccepted

[EventNames.OrderCancelled]

[EventNames.OrderCancelled]: OrderCancelled = EventDefinitions.OrderCancelled

[EventNames.OrderCooked]

[EventNames.OrderCooked]: OrderCooked = EventDefinitions.OrderCooked

[EventNames.OrderCreated]

[EventNames.OrderCreated]: OrderCreated = EventDefinitions.OrderCreated

[EventNames.OrderDelivered]

[EventNames.OrderDelivered]: OrderDelivered = EventDefinitions.OrderDelivered

[EventNames.OrderDispatched]

[EventNames.OrderDispatched]: OrderDispatched = EventDefinitions.OrderDispatched

[EventNames.OrderEmailNotificationSent]

[EventNames.OrderEmailNotificationSent]: OrderEmailNotificationSent = EventDefinitions.OrderEmailNotificationSent

[EventNames.OrderEtaUpdated]

[EventNames.OrderEtaUpdated]: OrderEtaUpdated = EventDefinitions.OrderEtaUpdated

[EventNames.OrderFailed]

[EventNames.OrderFailed]: OrderFailed = EventDefinitions.OrderFailed

[EventNames.OrderInProgress]

[EventNames.OrderInProgress]: OrderInProgress = EventDefinitions.OrderInProgress

[EventNames.OrderOnMakeTable]

[EventNames.OrderOnMakeTable]: OrderOnMakeTable = EventDefinitions.OrderOnMakeTable

[EventNames.OrderPaymentCaptured]

[EventNames.OrderPaymentCaptured]: OrderPaymentCaptured = EventDefinitions.OrderPaymentCaptured

[EventNames.OrderPaymentRefunded]

[EventNames.OrderPaymentRefunded]: OrderPaymentRefunded = EventDefinitions.OrderPaymentRefunded

[EventNames.OrderPrepared]

[EventNames.OrderPrepared]: OrderPrepared = EventDefinitions.OrderPrepared

[EventNames.OrderReady]

[EventNames.OrderReady]: OrderReady = EventDefinitions.OrderReady

[EventNames.OrderRejected]

[EventNames.OrderRejected]: OrderRejected = EventDefinitions.OrderRejected

[EventNames.OrderSubmitted]

[EventNames.OrderSubmitted]: OrderSubmitted = EventDefinitions.OrderSubmitted

[EventNames.OrderValidationFailed]

[EventNames.OrderValidationFailed]: OrderValidationFailed = EventDefinitions.OrderValidationFailed

[EventNames.OrderValidationPassed]

[EventNames.OrderValidationPassed]: OrderValidationPassed = EventDefinitions.OrderValidationPassed

[EventNames.OrderValidationSubmitted]

[EventNames.OrderValidationSubmitted]: OrderValidationSubmitted = EventDefinitions.OrderValidationSubmitted

[EventNames.PosAvailabilityChecked]

[EventNames.PosAvailabilityChecked]: PosAvailabilityChecked = EventDefinitions.PosAvailabilityChecked

[EventNames.StoreEtaPublished]

[EventNames.StoreEtaPublished]: StoreETAPublished = EventDefinitions.StoreETAPublished

[EventNames.StoreHoursUpdated]

[EventNames.StoreHoursUpdated]: StoreHoursUpdated = EventDefinitions.StoreHoursUpdated

[EventNames.StoreStatusChanged]

[EventNames.StoreStatusChanged]: StoreStatusChanged = EventDefinitions.StoreStatusChanged

[EventNames.StoreTimeOffsetChanged]

[EventNames.StoreTimeOffsetChanged]: StoreTimeOffsetChanged = EventDefinitions.StoreTimeOffsetChanged

[EventNames.VoucherRevoked]

[EventNames.VoucherRevoked]: VoucherRevoked = EventDefinitions.VoucherRevoked

[EventNames.orderCancellationRejected]

[EventNames.orderCancellationRejected]: OrderCancellationRejected = EventDefinitions.OrderCancellationRejected

Const pizzaIndia2

pizzaIndia2: object

id

id: string = "double-paneer-supreme-pan-medium"

price

price: number = 569

priceInfo

priceInfo: object

charges

charges: ({ amount: number; chargeMethod: PERCENTAGE; rate: number; type: CGST } | { amount: number; chargeMethod: PERCENTAGE; rate: number; type: SGST })[] = [{ type: ChargeType.CGST, amount: 14.25, rate: 2.4, chargeMethod: ChargeMethod.PERCENTAGE },{ type: ChargeType.SGST, amount: 14.25, rate: 2.4, chargeMethod: ChargeMethod.PERCENTAGE },]

currencyCode

currencyCode: INR = CurrencyCode.INR

grossPrice

grossPrice: number = 595.5

netPrice

netPrice: number = 569

Const pizzaUK2

pizzaUK2: object

id

id: string = "bbq-meatfeast-classic-without-garlic-large"

price

price: number = 19.99

priceInfo

priceInfo: object

charges

charges: { amount: number; chargeMethod: PERCENTAGE; rate: number; type: VAT }[] = [{ type: ChargeType.VAT, amount: 0.95, rate: 0.05, chargeMethod: ChargeMethod.PERCENTAGE }, // remember 5% VAT rate for takeaway food.]

currencyCode

currencyCode: GBP = CurrencyCode.GBP

grossPrice

grossPrice: number = 19.99

netPrice

netPrice: number = 19.04

pricesByCurrency

pricesByCurrency: { charges: ({ amount: number; chargeMethod: PERCENTAGE; rate: number; type: VAT } | { amount: number; chargeMethod: FLAT_RATE; rate: number; type: any })[]; currencyCode: any; grossPrice: number; netPrice: number }[] = [{netPrice: 0.00001,grossPrice: 0.00002,currencyCode: 'BTC' as any, // example which might include a flat charge (I don't know if BTC is a flat charge, don't hate me if you're a crypto boss)charges: [{ type: ChargeType.VAT, amount: 0.0000005, rate: 0.05, chargeMethod: ChargeMethod.PERCENTAGE },{ type: 'bitcoin fee' as any, amount: 1, rate: 1, chargeMethod: ChargeMethod.FLAT_RATE },],},]

Generated using TypeDoc