front-hub/src/api/ticket.ts

47 lines
1.3 KiB
TypeScript
Raw Normal View History

import makeRequest from "@api/makeRequest"
2024-03-11 16:02:37 +00:00
import { parseAxiosError } from "@root/utils/parse-error";
2023-08-31 10:02:11 +00:00
2024-03-11 16:02:37 +00:00
import { SendTicketMessageRequest } from "@frontend/kitui";
2023-08-31 10:02:11 +00:00
2024-03-11 16:02:37 +00:00
const apiUrl = process.env.REACT_APP_DOMAIN + "/heruvym";
2023-08-31 10:02:11 +00:00
export async function sendTicketMessage(
2024-03-11 16:02:37 +00:00
ticketId: string,
message: string
2023-08-31 10:02:11 +00:00
): Promise<[null, string?]> {
2024-03-11 16:02:37 +00:00
try {
const sendTicketMessageResponse = await makeRequest<
2023-08-31 10:02:11 +00:00
SendTicketMessageRequest,
null
>({
2024-03-11 16:02:37 +00:00
url: `${apiUrl}/send`,
method: "POST",
useToken: true,
body: { ticket: ticketId, message: message, lang: "ru", files: [] },
});
return [sendTicketMessageResponse];
} catch (nativeError) {
const [error] = parseAxiosError(nativeError);
return [null, `Не удалось отправить сообщение. ${error}`];
}
2023-08-31 10:02:11 +00:00
}
export async function shownMessage(id: string): Promise<[null, string?]> {
2024-03-11 16:02:37 +00:00
try {
const shownMessageResponse = await makeRequest<{ id: string }, null>({
url: apiUrl + "/shown",
method: "POST",
useToken: true,
body: { id },
});
return [shownMessageResponse];
} catch (nativeError) {
const [error] = parseAxiosError(nativeError);
return [null, `Не удалось прочесть сообщение. ${error}`];
}
2023-08-31 10:02:11 +00:00
}