import { IOffer } from 'order'; import { ICategoryNested } from './category.type'; import { IImageObject } from './media.entity'; export interface IProduct { isEnable: boolean; id: string; uri: string; consumerId: string; name: string; slogan: string; description: string; categoryUri: string; categoryUris?: string[]; offers: IOffer[]; metadatas: T; options: IOption[]; organizationUri: string; createdAt: string; updatedAt: string; category?: ICategoryNested; categories?: ICategoryNested[]; type?: string; priceTaxIncluded?: number; photos?: IImageObject[]; } export interface Action { type: string; frequency: string; quotaType: string; amount: number; } export interface IOption { id: string; items: IItem[]; name: string; required: boolean; rangeMin: number; } export interface IItem { name: string; priceTaxIncluded: number; } export interface IProductPlanStyled extends IProduct { backColor?: string; backImage?: string; textColor?: string; renewal?: 'perMonth' | 'perYear' | 'oneYear'; hightlightPackageColor?: string; linearGradient?: string; previousOptions?: string; more?: string[]; initial?: string[]; }