68 lines
1.2 KiB
TypeScript
68 lines
1.2 KiB
TypeScript
![]() |
|
|||
|
|
|||
|
export interface CreateTicketRequest {
|
|||
|
Title: string;
|
|||
|
Message: string;
|
|||
|
};
|
|||
|
|
|||
|
export interface CreateTicketResponse {
|
|||
|
Ticket: string;
|
|||
|
sess: string;
|
|||
|
};
|
|||
|
|
|||
|
export interface SendTicketMessageRequest {
|
|||
|
message: string;
|
|||
|
ticket: string;
|
|||
|
lang: string;
|
|||
|
files: string[];
|
|||
|
};
|
|||
|
|
|||
|
export type TicketStatus = "open";
|
|||
|
|
|||
|
export interface GetTicketsRequest {
|
|||
|
amt: number;
|
|||
|
/** Пагинация начинается с индекса 0 */
|
|||
|
page: number;
|
|||
|
srch?: string;
|
|||
|
status?: TicketStatus;
|
|||
|
};
|
|||
|
|
|||
|
export interface GetTicketsResponse {
|
|||
|
count: number;
|
|||
|
data: Ticket[] | null;
|
|||
|
};
|
|||
|
|
|||
|
export interface Ticket {
|
|||
|
id: string;
|
|||
|
user: string;
|
|||
|
sess: string;
|
|||
|
ans: string;
|
|||
|
state: string;
|
|||
|
top_message: TicketMessage;
|
|||
|
title: string;
|
|||
|
created_at: string;
|
|||
|
updated_at: string;
|
|||
|
rate: number;
|
|||
|
};
|
|||
|
|
|||
|
export interface TicketMessage {
|
|||
|
id: string;
|
|||
|
ticket_id: string;
|
|||
|
user_id: string,
|
|||
|
session_id: string;
|
|||
|
message: string;
|
|||
|
files: string[],
|
|||
|
shown: { [key: string]: number; },
|
|||
|
request_screenshot: string,
|
|||
|
created_at: string;
|
|||
|
};
|
|||
|
|
|||
|
export interface GetMessagesRequest {
|
|||
|
amt: number;
|
|||
|
page: number;
|
|||
|
srch?: string;
|
|||
|
ticket: string;
|
|||
|
};
|
|||
|
|
|||
|
export type GetMessagesResponse = TicketMessage[];
|