@bit-ui-libs/common
Version:
This library was generated with [Nx](https://nx.dev).
94 lines (77 loc) • 2.76 kB
text/typescript
import { BaseService, BaseServiceOptions } from '../../api/services/base-service';
import { PagedResponse } from '../../common';
import {
Order,
OrderStatistics,
OrderStore,
Question,
SalesTax,
SalesTaxRequest,
ShippingCost,
ShippingCostReq,
TotalSales,
} from '../interfaces';
import { SearchListingsResponse } from './listing.service.interfaces';
import {
CancelOrderRequest,
DeliveredRequest,
GetOrdersReportRequest,
GetOrdersRequest,
GetSalesStatsRequest,
GetTotalSalesRequest,
OrderPaymentDetailsRequest,
OrderPaymentDetailsResponse,
OrderPaymentRequest,
SearchOrderStoreRequest,
SearchQuestionRequest,
ShippingOrderRequest,
} from './order.service.interfaces';
export class OrdersService extends BaseService {
orderApiUrl: string;
constructor(opts: BaseServiceOptions) {
super(opts);
this.orderApiUrl = `${this.apiUrl}/marketplace/v1/orders`;
}
reportDownloadUrl(req: GetOrdersReportRequest) {
return this.get<SearchListingsResponse, GetOrdersReportRequest>(`${this.orderApiUrl}/reports/order`, req);
}
search(req: GetOrdersRequest = {}) {
return this.get<PagedResponse<Order>, GetOrdersRequest>(this.orderApiUrl, req);
}
searchStore(req: SearchOrderStoreRequest = {}) {
return this.get<PagedResponse<OrderStore>, SearchOrderStoreRequest>(`${this.orderApiUrl}/search-store`, req);
}
searchQuestion(req: SearchQuestionRequest = {}) {
return this.get<PagedResponse<Question>>(`${this.orderApiUrl}/search-question`, req);
}
orderPayment(req: OrderPaymentRequest) {
return this.post<Order, OrderPaymentRequest>(`${this.orderApiUrl}/order-payment`, req);
}
shipping(req: ShippingOrderRequest) {
return this.put<Order, ShippingOrderRequest>(`${this.orderApiUrl}/shipping`, req);
}
delivered(req: DeliveredRequest) {
return this.put<Order, DeliveredRequest>(`${this.orderApiUrl}/delivered`, req);
}
cancel(req: CancelOrderRequest) {
return this.put<Order, CancelOrderRequest>(`${this.orderApiUrl}/${req.id}/cancel`, req);
}
getById(id: string) {
return this.get<Order>(`${this.orderApiUrl}/${id}`);
}
totalSales(req: GetTotalSalesRequest) {
return this.get<TotalSales>(`${this.orderApiUrl}/total-sales`, req);
}
salesTax(req: SalesTaxRequest) {
return this.get<SalesTax>(`${this.orderApiUrl}/sales-tax`, req);
}
shippingCost(req: ShippingCostReq) {
return this.get<ShippingCost[]>(`${this.orderApiUrl}/shipping-cost`, req);
}
stats(req: GetSalesStatsRequest) {
return this.get<OrderStatistics[]>(`${this.orderApiUrl}/stats`, req);
}
getPaymentDetails(req: OrderPaymentDetailsRequest) {
return this.get<OrderPaymentDetailsResponse>(`${this.orderApiUrl}/payment-details`, req);
}
}