import { CreateReviewDTO, UpdateReviewDTO, UnifiedMediaDTO, UnifiedOrderDTO, UnifiedPaginationDTO, UnifiedProductDTO, UnifiedReviewDTO, UnifiedSearchParamsDTO, UnifiedSubscriptionDTO, UnifiedCustomerDTO, } from '../dto/site-api.dto'; export interface ISiteAdapter { /** * 获取产品列表 */ getProducts(params: UnifiedSearchParamsDTO): Promise>; /** * 获取单个产品 */ getProduct(id: string | number): Promise; /** * 获取订单列表 */ getOrders(params: UnifiedSearchParamsDTO): Promise>; /** * 获取单个订单 */ getOrder(id: string | number): Promise; /** * 获取订阅列表 */ getSubscriptions(params: UnifiedSearchParamsDTO): Promise>; /** * 获取媒体列表 */ getMedia(params: UnifiedSearchParamsDTO): Promise>; /** * 创建媒体 */ createMedia(file: any): Promise; /** * 获取评论列表 */ getReviews(params: UnifiedSearchParamsDTO): Promise>; /** * 创建评论 */ createReview(data: CreateReviewDTO): Promise; /** * 更新评论 */ updateReview(id: number, data: UpdateReviewDTO): Promise; /** * 删除评论 */ deleteReview(id: number): Promise; /** * 创建产品 */ createProduct(data: Partial): Promise; /** * 更新产品 */ updateProduct(id: string | number, data: Partial): Promise; /** * 更新产品变体 */ updateVariation(productId: string | number, variationId: string | number, data: any): Promise; /** * 获取订单备注 */ getOrderNotes(orderId: string | number): Promise; /** * 创建订单备注 */ createOrderNote(orderId: string | number, data: any): Promise; /** * 删除产品 */ deleteProduct(id: string | number): Promise; batchProcessProducts?(data: { create?: any[]; update?: any[]; delete?: Array }): Promise; createOrder(data: Partial): Promise; updateOrder(id: string | number, data: Partial): Promise; deleteOrder(id: string | number): Promise; batchProcessOrders?(data: { create?: any[]; update?: any[]; delete?: Array }): Promise; getCustomers(params: UnifiedSearchParamsDTO): Promise>; getCustomer(id: string | number): Promise; createCustomer(data: Partial): Promise; updateCustomer(id: string | number, data: Partial): Promise; deleteCustomer(id: string | number): Promise; batchProcessCustomers?(data: { create?: any[]; update?: any[]; delete?: Array }): Promise; }