UNPKG

@vymalo/medusa-printful

Version:

Connect your MedusaJS store to Printful

37 lines (36 loc) 2.01 kB
import { Modules } from '@medusajs/utils'; import type { IPrintfulService, PrintfulOptions } from '../../../types'; import { CalculateShippingRatesData, Order, PackingSlip, SyncProduct, SyncVariant } from '../../../core'; import type { IFulfillmentModuleService, IProductModuleService, Logger, MedusaContainer, OrderDTO, ProductDTO } from '@medusajs/types'; type InjectedDependencies = { logger: Logger; [Modules.PRODUCT]: IProductModuleService; [Modules.FULFILLMENT]: IFulfillmentModuleService; }; type Options = Pick<PrintfulOptions, 'confirmOrder' | 'logo_url'>; export default class PrintFulService implements IPrintfulService { protected readonly logger_: Logger; protected readonly fulfillmentService: IFulfillmentModuleService; protected readonly productModuleService: IProductModuleService; private readonly options; constructor({ logger, fulfillment, product }: InjectedDependencies, options: Options); protected get confirmOrder(): boolean; getShippingRates(data: CalculateShippingRatesData['body']): Promise<import("../../../core").ShippingInfo[]>; createOrder(order: OrderDTO): Promise<Order>; confirmOrderById(orderId: string | number): Promise<Order>; cancelOrder(orderId: string | number): Promise<Order>; deleteMedusaProduct(productOrProductId: string, container: MedusaContainer): Promise<void>; getSyncProduct(id: number): Promise<{ sync_product?: SyncProduct; sync_variants?: Array<SyncVariant>; }>; createOrUpdateProduct(productId: number, container: MedusaContainer): Promise<void>; deleteProduct(productId: number, container: MedusaContainer): Promise<void>; syncProducts(container: MedusaContainer): Promise<void>; protected buildProductId(productId: number): string; protected getProductByPrintfulProductId(productId: number): Promise<ProductDTO>; protected getPackingSlip(order: OrderDTO): Promise<PackingSlip>; private syncProduct; private getPrintfulTag; } export {};