@bit-ui-libs/common
Version:
This library was generated with [Nx](https://nx.dev).
147 lines (129 loc) • 3.11 kB
text/typescript
import { FileFormatEnum, FilteredRequest, PagedRequest } from '../../common';
import { PaymentTypeEnum } from '../../users';
import { OrderStatusEnum } from '../enums';
import { BuyerBillingAddress, BuyerShippingAddress, ExtraCharges } from '../interfaces';
export enum OrderTypeEnum {
SELL = 'SELL',
BUY = 'BUY',
}
export type GetOrdersReportRequest = FilteredRequest<{
buyerId?: string;
sellerId?: string;
from?: string;
to?: string;
status?: OrderStatusEnum;
fileFormat?: FileFormatEnum;
}>;
export type GetOrdersRequest = PagedRequest<{
orderType?: OrderTypeEnum;
userId?: string;
assetId?: string;
status?: OrderStatusEnum;
orderState?: OrderStatusEnum;
}>;
export interface CreateOrderRequest {
listingId: string;
concurrencyStamp: string;
}
export interface CreateOrdersResponse {
id: string;
listingId: string;
assetId: string;
sellerId: string;
buyerId: string;
price: number;
status: string;
createdAt: string;
concurrencyStamp: string;
}
export type SearchOrderStoreRequest = PagedRequest<{
orderId?: string;
operation?: string;
createdBy?: string;
}>;
export type SearchQuestionRequest = PagedRequest<{
parentId?: string;
hint?: string;
}>;
export type OrderShippingInfoRequest = Omit<ExtraCharges, 'id'> & {
id: string;
concurrencyStamp: string;
shippingAddress: BuyerShippingAddress;
billingAddress: BuyerBillingAddress;
service: string;
price: number;
assetPrice: number;
};
export interface OrderPaymentRequest {
listingId: string;
concurrencyStamp: string;
shippingAddress: BuyerShippingAddress;
billingAddress: BuyerBillingAddress;
serviceCode: number;
paymentType: PaymentTypeEnum;
nameOnCard: string;
cardNumber: string;
cvv: string;
expiryDate: string;
// Only required if paymentType === PaymentTypeEnum.Paypal
paypalId: string;
}
export interface ShippingOrderRequest {
id: string;
concurrencyStamp: string;
status: OrderStatusEnum;
courier?: string;
trackingId?: string;
image?: string;
rejectReason?: string;
reasonDescription?: string;
}
export interface DeliveredRequest {
id: string;
concurrencyStamp: string;
status: OrderStatusEnum;
feedback: FeedbackRequest[];
image: string;
courier?: string;
trackingId?: string;
}
export interface FeedbackRequest {
id: string;
answer: string;
parentId?: string;
}
export interface GetTotalSalesRequest {
sellerId?: string;
orgId?: string;
}
export interface GetSalesStatsRequest {
sellerId?: string;
orgId?: string;
year: string;
}
export interface CancelOrderRequest {
id: string;
concurrencyStamp: string;
reasonId: string;
comment: string;
}
export interface OrderPaymentDetailsRequest {
listingId: string;
serviceCode?: string;
country?: string;
city?: string;
state?: string;
zip?: string;
}
export interface OrderPaymentDetailsResponse {
publicKey: string;
merchantRefNum: string;
sellingPrice: number;
amount: number;
amountPaysafe: number;
accountId: string;
gasFee: number;
costTax: number;
shippingCost: number;
handlingFee: number;
}