import { AppActionData, EntityApi, IApi, IApiPayload, IApp, IdResultPayload } from "@etsoo/appscript"; import { ProductListRQ } from "./rq/product/ProductListRQ"; import { ProductListData } from "./dto/product/ProductListData"; import { ProductQueryRQ } from "./rq/product/ProductQueryRQ"; import { ProductQueryData } from "./dto/product/ProductQueryData"; import { ProductCreateRQ } from "./rq/product/ProductCreateRQ"; import { ProductUpdateRQ } from "./rq/product/ProductUpdateRQ"; import { ProductUpdateReadData } from "./dto/product/ProductUpdateReadData"; import { ProductDuplicateTestRQ } from "./rq/product/ProductDuplicateTestRQ"; import { ProductDuplicateTestData } from "./dto/product/ProductDuplicateTestData"; import { ProductUnitUpdateRQ } from "./rq/product/ProductUnitUpdateRQ"; import { ProductUnitItem } from "./dto/product/ProductUnitItem"; import { ProductViewData } from "./dto/product/ProductViewData"; import { ProductPriceItem } from "./dto/product/ProductPriceItem"; import { ProductUpdateLogoRQ } from "./rq/product/ProductUpdateLogoRQ"; import { QueryForSaleRQ } from "./rq/product/QueryForSaleRQ"; import { QueryForSaleData } from "./dto/product/QueryForSaleData"; import { ProductReadCustomData } from "./dto/product/ProductReadCustomData"; import { QueryForPurchaseRQ } from "./rq/product/QueryForPurchaseRQ"; import { QueryForPurchaseData } from "./dto/product/QueryForPurchaseData"; import { ProductEditBomsRQ } from "./rq/product/ProductEditBomsRQ"; /** * Product API */ export declare class ProductApi extends EntityApi { /** * Constructor * @param app Application * @param api API */ constructor(app: IApp, api?: IApi); /** * Create * @param rq Request data * @param payload Payload * @returns Result */ create(rq: ProductCreateRQ, payload?: IdResultPayload): Promise; /** * Delete * @param id Id * @param payload Payload * @returns Result */ delete(id: number, payload?: IdResultPayload): Promise; /** * Duplicate test * @param rq Request data * @param payload Payload * @returns Result */ duplicateTest(rq: ProductDuplicateTestRQ, payload?: IApiPayload): Promise; /** * Edit product BOMs * @param rq Request data * @param payload Payload * @returns Result */ editBoms(rq: ProductEditBomsRQ, payload?: IdResultPayload): Promise; /** * List * @param rq Request data * @param payload Payload * @returns Result */ list(rq: ProductListRQ, payload?: IApiPayload): Promise; /** * Query * @param rq Request data * @param payload Payload * @returns Result */ query(rq: ProductQueryRQ, payload?: IApiPayload): Promise; /** * Query for sale * @param rq Request data * @param payload Payload * @returns Result */ queryForPurchase(rq: QueryForPurchaseRQ, payload?: IApiPayload): Promise; /** * Query for sale * @param rq Request data * @param payload Payload * @returns Result */ queryForSale(rq: QueryForSaleRQ, payload?: IApiPayload): Promise; /** * Query product unit * @param payload Payload * @returns Result */ queryUnit(payload?: IApiPayload): Promise; /** * Read * @param id Id * @param payload Payload * @returns Result */ read(id: number, payload?: IApiPayload): Promise; /** * Read custom data * @param id Id * @param payload Payload * @returns Result */ readCustom(id: number, payload?: IApiPayload): Promise; /** * Read price * @param id Id * @param currency Currency * @param payload Payload * @returns Result */ readPrice(id: number, currency: string, payload?: IApiPayload): Promise; /** * Update * @param rq Request data * @param payload Payload * @returns Result */ update(rq: ProductUpdateRQ, payload?: IdResultPayload): Promise; /** * Update logo * @param rq Request data * @param payload Payload * @returns Result */ updateLogo(rq: ProductUpdateLogoRQ, payload?: IdResultPayload): Promise; /** * Get upload logo action data * @param id Id * @param payload Payload * @returns Result */ uploadLogoAction(id: number, payload?: IApiPayload): Promise; /** * Update read * @param id Id * @param payload Payload * @returns Result */ updateRead(id: number, payload?: IApiPayload): Promise; /** * Update price * @param id Product id * @param rq Request data * @param payload Payload * @returns Result */ updatePrice(id: number, rq: ProductPriceItem, payload?: IdResultPayload): Promise; /** * Update product unit * @param rq Request data * @param payload Payload * @returns Result */ updateUnit(rq: ProductUnitUpdateRQ, payload?: IApiPayload): Promise; }