turkmen-expo/lib/types/Calendar.type.ts

105 lines
1.7 KiB
TypeScript

export interface CalendarType {
data: EventDatum[];
links: Links;
meta: Meta;
}
export interface EventDatum {
id: number;
title: string;
description: string;
category: string;
organizers: Organizer[];
coorganizers?: Coorganizers[];
starts_at: string;
ends_at: string;
date: string;
images: CalendarImage[];
background_images: CalendarImage[];
web_site: string;
location: string;
timing: Timing[];
installation_date: string;
dismantling_date: string;
event_topic: string;
starts_at_text: string | null
ends_at_text: string | null
}
export interface Coorganizers {
id: number;
name: string;
address: string;
phones: Phone[];
fax: string;
email: string;
web_site: string;
}
export interface Phone {
phone: string;
}
export interface CalendarImage {
id: number;
disk_name: string;
file_name: string;
path: string;
extension: Extension;
}
export enum Extension {
ExtensionJPG = "JPG",
Jpg = "jpg",
PNG = "png",
}
export interface Organizer {
id: number;
name: string;
address: string;
phones: PhoneElement[];
fax: string;
email: string;
web_site: string;
}
export interface PhoneElement {
phone: PhoneEnum;
}
export enum PhoneEnum {
The99312398881 = "(+99312) 39 88 81",
The99312398981 = "(+99312) 39 89 81",
The99362006200 = "+993 62 006200",
}
export interface Timing {
date: null;
time: null;
}
export interface Links {
first: string;
last: string;
prev: null;
next: null;
}
export interface Meta {
current_page: number;
from: number;
last_page: number;
links: Link[];
path: string;
per_page: number;
to: number;
total: number;
}
export interface Link {
url: null | string;
label: string;
active: boolean;
}