v1.0.109 добавлены запросы к api ticket
All checks were successful
CreateVersion / BumpVersion (push) Successful in 22s

This commit is contained in:
Nastya 2025-07-05 02:36:35 +03:00
parent bcadda8861
commit 96ab34c3a0
2 changed files with 103 additions and 15 deletions

@ -1,17 +1,100 @@
import { CreateTicketRequest, CreateTicketResponse } from "../model/ticket";
import { makeRequest } from "./makeRequest";
import type {
SendTicketMessageRequest,
CreateTicketResponse,
SendFileResponse,
CreateTicketRequest
} from "../model/ticket";
export function createTicket({ url, body, useToken = true }: {
url: string;
body: CreateTicketRequest;
useToken?: boolean;
}): Promise<CreateTicketResponse> {
return makeRequest({
url,
const apiUrl = `${process.env.REACT_APP_DOMAIN}/heruvym/v1.0.0`;
export const sendTicketMessage = async ({
ticketId,
message,
systemError
}: {
ticketId: string,
message: string,
systemError: boolean
}): Promise<[null, unknown?]> => {
try {
const sendTicketMessageResponse = await makeRequest<
SendTicketMessageRequest,
null
>({
url: `${apiUrl}/send`,
method: "POST",
useToken,
body,
withCredentials: true,
useToken: true,
body: { ticket: ticketId, message: message, lang: "ru", files: [], System: systemError },
});
return [sendTicketMessageResponse];
} catch (nativeError) {
return [null, nativeError];
}
};
export const shownMessage = async (id: string): Promise<[null, unknown?]> => {
try {
const shownMessageResponse = await makeRequest<{ id: string }, null>({
url: `${apiUrl}/shown`,
method: "POST",
useToken: true,
body: { id },
});
return [shownMessageResponse];
} catch (nativeError) {
return [null, nativeError];
}
};
export const sendFile = async ({
ticketId,
file,
}: {
ticketId: string,
file: File,
}): Promise<[SendFileResponse | null, unknown?]> => {
try {
const body = new FormData();
body.append(file.name, file);
body.append("ticket", ticketId);
const sendResponse = await makeRequest<FormData, SendFileResponse>({
method: "POST",
url: `${apiUrl}/sendFiles`,
body,
});
return [sendResponse];
} catch (nativeError) {
return [null, nativeError];
}
};
export const createTicket = async ({
message,
useToken,
systemError
}: {
message: string,
useToken: boolean,
systemError: boolean
}): Promise<[CreateTicketResponse | null, unknown?]> => {
try {
const createdTicket = await makeRequest<CreateTicketRequest, CreateTicketResponse>({
url: `${process.env.REACT_APP_DOMAIN}/heruvym/v1.0.0/create`,
body: { Title: "Unauth title", Message: message, System: systemError },
useToken,
});
return [createdTicket];
} catch (nativeError) {
return [null, nativeError];
}
};

@ -3,7 +3,7 @@
export interface CreateTicketRequest {
Title: string;
Message: string;
System?: boolean;
System: boolean
}
export interface CreateTicketResponse {
@ -16,6 +16,7 @@ export interface SendTicketMessageRequest {
ticket: string;
lang: string;
files: string[];
System?: boolean;
}
export type TicketStatus = "open";
@ -67,3 +68,7 @@ export interface GetMessagesRequest {
}
export type GetMessagesResponse = TicketMessage[];
export type SendFileResponse = {
message: string;
};