API/src/interface/site-adapter.interface.ts

116 lines
3.1 KiB
TypeScript

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