import { BatchResponse, MultipleItems, SingleItem } from "../lambda/response"; import { CursorPaginationEnabled, Filterable, QueryOptions, WithIndex } from "../lambda/request"; import { ITSSDITEntity } from "./model"; export interface CreateEntityRequest { mainId?: any; subId?: any; item: T; } export interface CreateEntityResponse extends SingleItem { } export declare type GetEntitiesRequest = QueryEntityRequest | GetEntityRequest; export interface QueryEntityRequest { mainId?: any; queryParam: CursorPaginationEnabled & Filterable & WithIndex & QueryOptions; reverse?: boolean; } export interface GetEntityRequest { mainId?: any; subIds: any[]; } export declare type GetEntitiesResponse = SingleItem | MultipleItems; /** * pk sk * Store:${storeId} Inventory:${inventoryId} * Inventory:${inventoryId} Product:${productId} * 用 storeId 查所有 Inventory-Product 的關係 * mainParentId: ${storeId} * reverse: false * * TODO: * pk sk * Store:${storeId} StoreRole:${storeRoleId} * StoreUser:${storeUser} StoreRole:${storeRoleId} * 用 storeId 查所有 StoreUser-StoreRole 的關係 * mainParentId: ${storeId} * reverse: true * */ export interface QueryAllRelationRequest { mainParentId?: any; } export interface QueryAllRelationResponse extends MultipleItems { } export interface UpdateEntityRequest { mainId?: any; subId?: any; item: Partial; } export interface UpdateEntityResponse extends SingleItem> { } export interface DeleteEntityRequest { mainId?: any; subId?: any; } export interface DeleteEntityResponse extends BatchResponse { } export interface DeleteAllRelationRequest { reverse?: boolean; id?: string; deleteSubs?: { entity: ITSSDITEntity; mainId: string; }; } export interface DeleteAllRelationResponse extends BatchResponse { } export interface BatchCreateEntityRequest { reverse?: boolean; mainId?: any; entities: { subId?: any; item: T; }[]; } export interface BatchCreateEntityResponse extends BatchResponse { } export interface BatchUpdateEntityRequest { mainId?: any; entities: { subId?: any; item: Partial; }[]; } export interface BatchUpdateEntityResponse extends BatchResponse { } export interface BatchDeleteEntityRequest { reverse?: boolean; mainId?: any; subIds?: any[]; } export interface BatchDeleteEntityResponse extends BatchResponse { }