hunter-news-interfaces
Version:
Contains intefaces defition for Hunter News Social Network
75 lines (74 loc) • 2.29 kB
TypeScript
import { SecurityToken, DotDto } from './base';
/** Representa los distintos eventos que existen en el sistema */
export declare enum EventTypeEnum {
Fire = 1,
Accident = 2,
Crime = 3,
WithoutWater = 4,
WithoutElectricity = 5,
WithoutDigitalServices = 6,
ProblemsPublicTransport = 7,
Weahter = 8,
Earthquake = 9,
Turbulence = 10,
AuthorityPresence = 11,
}
export declare enum EventRequestQuantityEnum {
Single = 1,
All = 2,
}
export declare enum EventRequestDetailEnum {
Detail = 1,
Resume = 2,
}
export interface EventRequestType {
quantityType: EventRequestQuantityEnum;
detailType?: EventRequestDetailEnum;
}
/** Request para obtener un evento */
export interface GetEventRequest extends SecurityToken, EventRequestType {
eventId: string;
}
/** Request eventos resumidos para una cierta área */
export interface GetResumeEventsRequest extends SecurityToken, EventRequestType {
hash: string;
}
/** Response eventos resumidos para una cierta área */
export interface GetResumeEventsResponse extends DotDto {
hash: string;
count: number;
}
/** Request eventos detallados cercanos */
export interface GetDetailEventsRequest extends SecurityToken, EventRequestType {
hash: string;
}
/** Representa el resumen de un evento, con la información mínima necesaria para mostrarla en el mapa */
export interface EventInfoHeaderDto extends DotDto {
eventId: string;
eventTypes: EventTypeEnum[];
}
/** Respuesta del sistema cuando se solicitan los eventos cercanos */
export interface GetDetailEventsResponse {
hash: string;
events: EventInfoHeaderDto[];
}
/** Para la creación de un nuevo evento */
export interface CreateEventRequest extends DotDto, SecurityToken {
comment: string;
eventTypes: EventTypeEnum[];
}
/** Representa la respuesta al crear un evento. */
export interface EventInfoDto extends DotDto {
userId: string;
userName: string;
comment: string;
eventTypes: EventTypeEnum[];
eventId: string;
yearMonthDay: number;
geoHash: string;
createdAt: number;
lastWrite: number;
photoLinks?: string[];
videoLinks?: string[];
commentsIds?: string[];
}