front-hub/src/api/verification.ts

49 lines
1.4 KiB
TypeScript
Raw Normal View History

2023-07-06 21:52:07 +00:00
import { makeRequest } from "@frontend/kitui";
2023-08-30 07:38:33 +00:00
import { jsonToFormdata } from "@root/utils/jsonToFormdata";
2023-08-30 13:50:13 +00:00
import { parseAxiosError } from "@root/utils/parse-error";
import type { Verification, SendDocumentsArgs } from "@root/model/auth";
2023-07-06 21:52:07 +00:00
const apiUrl =
process.env.NODE_ENV === "production" ? "" : "https://hub.pena.digital";
2023-08-30 13:50:13 +00:00
export async function verification(
userId: string
): Promise<[Verification | null, string?]> {
try {
const verificationResponse = await makeRequest<never, Verification>({
url: apiUrl + "/verification/verification/" + userId,
method: "GET",
useToken: true,
withCredentials: true,
});
return [verificationResponse];
} catch (nativeError) {
const [error] = parseAxiosError(nativeError);
return [null, `Ошибка запроса верификации. ${error}`];
}
2023-07-06 21:52:07 +00:00
}
2023-08-30 13:50:13 +00:00
export async function sendDocuments(
documents: SendDocumentsArgs
): Promise<[Verification | null, string?]> {
try {
const sendDocumentsResponse = await makeRequest<FormData, Verification>({
url: apiUrl + "/verification/verification",
method: "POST",
useToken: true,
withCredentials: true,
body: jsonToFormdata({ ...documents, egrule: documents.inn }),
});
return [sendDocumentsResponse];
} catch (nativeError) {
const [error] = parseAxiosError(nativeError);
2023-08-30 13:50:13 +00:00
return [null, `Ошибка отправки документов. ${error}`];
}
}