import { IImageResponse } from "../../Base/response/image.response"; import { IPerformerModelAttributes } from "./performer.entity"; import { ISessionModelAttributes } from "./session.entity"; import { IEventCategoryModelAttributes } from "./eventCategory.entity"; import { IUserModelAttributes } from "./user.entity"; export interface IEventModelAttributes { _id: string; information: IEventInformation; roles: IEventRoles; sessions?: (string | ISessionModelAttributes)[]; performer?: (string | IPerformerModelAttributes)[]; eventCategory: string | IEventCategoryModelAttributes; status: "approved" | "pending"; createdBy: string | IUserModelAttributes; isActive?: boolean; deletedAt?: Date | null; } export interface IEventRoles { age_restriction: string; entry_requirements: string; prohibited_items: string[]; additional_info: { parking: string; food_and_drinks: string; accessibility: string; }; } export interface IEventInformation { title: string; slug: string; abstract: string; seo: { title: string; description: string; keywords: string[]; }; media: { images: IImageResponse[]; thumbnail: IImageResponse; }; isShowAllCities: boolean; suggested: string; mustKnow: string; hasSeat: boolean; }