import { CustomerAsset } from "./customer-base";

export enum EOrderStatus {
  Created = "CREATED",
  ShippingInfo = "SHIPPING_INFO",
  PaymentCompleted = "PAYMENT_COMPLETED",
  PaymentFailed = "PAYMENT_FAILED",
  Confirmed = "CONFIRMED",
  Canceled = "CANCELED",
  OrderShipped = "ORDER_SHIPPED",
  OrderDelivered = "ORDER_DELIVERED",
  OwnershipTransferStarted = "OWNERSHIP_TRANSFER_STARTED",
  OwnershipTransferCompleted = "OWNERSHIP_TRANSFER_COMPLETED",
  OwnershipTransferFailed = "OWNERSHIP_TRANSFER_FAILED",
  OrderUndelivered = "ORDER_UNDELIVERED",
  OrderSuccess = "ORDER_SUCCESS",
  Return = "RETURN",
  ReturnShipped = "RETURN_SHIPPED",
  ReturnDelivered = "RETURN_DELIVERED",
  ReturnUndelivered = "RETURN_UNDELIVERED",
  Refund = "REFUND",
  RefundCompleted = "REFUND_COMPLETED",
  RefundFailed = "REFUND_FAILED",
}

export interface OrderDataDataResponse {
  id: string;
  listingId: string;
  assetId: string;
  sellerId: string;
  buyerId: string;
  price: number;
  status: EOrderStatus;
  createdAt: Date;
  updatedAt: Date;
  ownershipChangedAt: Date;
}

export interface OwnershipHistoryResponse {
  id: string;
  assetId: string;
  ownerId: string;
  orderData: OrderDataDataResponse;
  orgId: string;
  asset: CustomerAsset;
  createdAt: string;
}

