70 lines
1.3 KiB
TypeScript
70 lines
1.3 KiB
TypeScript
|
||
|
||
export interface CreateTicketRequest {
|
||
Title: string;
|
||
Message: string;
|
||
System?: boolean;
|
||
}
|
||
|
||
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;
|
||
origin: string;
|
||
}
|
||
|
||
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[];
|