mui-demo-project/src/interface/products.interface.ts
2024-08-07 23:40:43 +05:30

73 lines
1.4 KiB
TypeScript

export interface IProducts {
products: Product[];
total: number;
skip: number;
limit: number;
}
export interface Product {
id: number;
title: string;
description: string;
category: Category;
price: number;
discountPercentage: number;
rating: number;
stock: number;
tags: string[];
brand?: string;
sku: string;
weight: number;
dimensions: Dimensions;
warrantyInformation: string;
shippingInformation: string;
availabilityStatus: AvailabilityStatus;
reviews: Review[];
returnPolicy: ReturnPolicy;
minimumOrderQuantity: number;
meta: Meta;
images: string[];
thumbnail: string;
}
export enum AvailabilityStatus {
InStock = 'In Stock',
LowStock = 'Low Stock',
}
export enum Category {
Beauty = 'beauty',
Fragrances = 'fragrances',
Furniture = 'furniture',
Groceries = 'groceries',
}
export interface Dimensions {
width: number;
height: number;
depth: number;
}
export interface Meta {
createdAt: Date;
updatedAt: Date;
barcode: string;
qrCode: string;
}
export enum ReturnPolicy {
NoReturnPolicy = 'No return policy',
The30DaysReturnPolicy = '30 days return policy',
The60DaysReturnPolicy = '60 days return policy',
The7DaysReturnPolicy = '7 days return policy',
The90DaysReturnPolicy = '90 days return policy',
}
export interface Review {
rating: number;
comment: string;
date: Date;
reviewerName: string;
reviewerEmail: string;
}