|
|
@@ -1,4 +1,5 @@
|
|
|
import { Integracao, INTEGRACAO_TIPO_IXC } from "../models/Integracao.model.js";
|
|
|
+import ixcHttpClient from "../services/ixcHttpClient.js";
|
|
|
|
|
|
function parseOutros(outros) {
|
|
|
if (!outros) return {};
|
|
|
@@ -22,41 +23,38 @@ export async function atualizaTokenIxcIntegradorERetorna() {
|
|
|
|
|
|
if (outros.token) {
|
|
|
try {
|
|
|
- const statusRes = await fetch(`${baseUrl}usuario/status`, {
|
|
|
- method: "POST",
|
|
|
- headers: { Authorization: `Bearer ${outros.token}` },
|
|
|
- signal: AbortSignal.timeout(10_000)
|
|
|
- });
|
|
|
- if (statusRes.ok) {
|
|
|
- const statusJson = await statusRes.json().catch(() => null);
|
|
|
- if (statusJson?.ok) return integracao;
|
|
|
- }
|
|
|
+ const statusRes = await ixcHttpClient.post(
|
|
|
+ `${baseUrl}usuario/status`,
|
|
|
+ {},
|
|
|
+ { headers: { Authorization: `Bearer ${outros.token}` }, timeout: 10_000 }
|
|
|
+ );
|
|
|
+ if (statusRes.data?.ok) return integracao;
|
|
|
} catch {
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- const loginRes = await fetch(`${baseUrl}usuario/login`, {
|
|
|
- method: "POST",
|
|
|
- headers: { "Content-Type": "application/json" },
|
|
|
- body: JSON.stringify({ Login: outros.Login, Senha: outros.Senha }),
|
|
|
- signal: AbortSignal.timeout(10_000)
|
|
|
- });
|
|
|
-
|
|
|
- if (!loginRes.ok) {
|
|
|
- const err = new Error(`ixc_integrador_login_falhou:${loginRes.status}`);
|
|
|
+ let loginRes;
|
|
|
+ try {
|
|
|
+ loginRes = await ixcHttpClient.post(
|
|
|
+ `${baseUrl}usuario/login`,
|
|
|
+ { Login: outros.Login, Senha: outros.Senha },
|
|
|
+ { timeout: 10_000 }
|
|
|
+ );
|
|
|
+ } catch (error) {
|
|
|
+ const err = new Error(`ixc_integrador_login_falhou:${error.response?.status ?? "sem_resposta"}`);
|
|
|
err.statusCode = 502;
|
|
|
throw err;
|
|
|
}
|
|
|
|
|
|
- const loginJson = await loginRes.json().catch(() => null);
|
|
|
- if (!loginJson?.token) {
|
|
|
+ const loginToken = loginRes.data?.token;
|
|
|
+ if (!loginToken) {
|
|
|
const err = new Error("ixc_integrador_login_sem_token");
|
|
|
err.statusCode = 502;
|
|
|
throw err;
|
|
|
}
|
|
|
|
|
|
return integracao.$query().patchAndFetch({
|
|
|
- Outros: JSON.stringify({ Login: outros.Login, Senha: outros.Senha, token: loginJson.token })
|
|
|
+ Outros: JSON.stringify({ Login: outros.Login, Senha: outros.Senha, token: loginToken })
|
|
|
});
|
|
|
}
|