import { Store, StoreTemplateItemMutation } from "../../models"; import { BlockVersion } from "../../enums/block-storage"; import { Filterable, CursorPaginationEnabled, WithIndex, QueryOptions } from "./common"; import { StoreIndex } from "../../enums"; /** * Lambda event from kiosk-admin */ export interface CreateStoreRequest { /** only optional when creating store template */ userId?: string; item: Store; } /** * Lambda event from kiosk-admin */ export interface GetStoresRequest extends Filterable, CursorPaginationEnabled, WithIndex, QueryOptions { userId?: string; storeTemplateId?: string; chainId?: string; blockVersion?: BlockVersion; } export interface GetStoreByIdRequest { storeId: string; skipGetRelatedProperty?: boolean; blockVersion?: BlockVersion; } export interface GetBrandByStoreIdRequest { storeId: string; } export interface UpdateStoreRequest { item: Partial; } export interface SetAdminPinCodeRequest { storeId: string; code: string; } export interface VerifyAdminPinCodeRequest { storeId: string; code: string; } export interface GetDailySummaryRequest { storeId: string; } export interface GetTimeInfoRequest { storeId: string; } export interface SynchronizeBlockRequest { storeId: string; blockVersion: BlockVersion; } export interface DeleteStoreRequest { storeId: string; } export interface AssignStoreTemplateToStoreRequest { storeId: string; storeTemplate: { chainId: string; storeTemplateId: string; }; } export interface RemoveStoreTemplateFromStoreRequest { storeId: string; } export interface UpdateItemInStoreTemplateRequest { storeTemplateId: string; addItems?: StoreTemplateItemMutation[]; removeItems?: StoreTemplateItemMutation[]; } /** chainId or storeId must given */ export interface StoreTemplateItemRequest { chainId?: string; /** if chainId is given, this property will be storeTemplateId */ storeId?: string; } /** chainId or storeId must given */ export interface StoreTemplateItemDeleteRequest { chainId?: string; storeId?: string; itemId: string; }