@alisdigital/types-library
Version:
TypeScript type definitions for Papilet ecosystem with session soft delete and event management features
87 lines (86 loc) • 2.16 kB
TypeScript
import { StorageType } from "../../Base/entities/image.entity";
import { IEventModelAttributes } from "../entity/event.entity";
export interface IEventsRequest {
}
export interface IEventsGetByCityRequest {
city: string;
filter?: "all" | "minPrice" | "date";
}
export interface IEventsGetByCategoryRequest {
categoryId: string;
filter?: "all" | "minPrice" | "date";
city?: string;
}
export interface IEventDetailRequest {
city?: string;
slug: string;
}
export interface IEventsGetByVenueRequest {
venue: string;
}
export interface IEventsGetByPerformerRequest {
performer: string;
}
export interface IEventUpsertRequest extends Omit<IEventModelAttributes, "status" | "createdBy"> {
}
export interface IEventCreateRequest {
information: {
title: string;
slug: string;
abstract?: string;
seo: {
title?: string;
description?: string;
keywords?: string[];
};
media: {
images: {
url: string;
storage: StorageType;
}[];
thumbnail: {
url: string;
storage: StorageType;
};
};
suggested?: string;
mustKnow?: string;
};
roles: {
additional_info: {
accessibility: string;
food_and_drinks: string;
parking: string;
};
prohibited_items: string[];
entry_requirements: string;
age_restriction: string;
};
sessions?: {
venue: string;
city?: string;
date: Date;
organizer?: string;
tickets?: {
price: number;
capacity: number;
seatGroup?: string;
}[];
closeSellDate?: Date;
isSoldOut?: boolean;
lastSoldDate?: Date;
hasSeat?: boolean;
}[];
performer?: string[];
eventCategory: string;
status?: "approved" | "pending";
}
export interface IEventDeleteRequest {
id: string;
}
export interface IEventRequest {
id: string;
}
export interface IEventsSearchQueryRequest {
query: string;
}