@graphteon/juricode
Version:
We are forging the future with lines of digital steel
40 lines • 1.7 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.axiosInstance = exports.openHands = void 0;
const axios_1 = __importDefault(require("axios"));
exports.openHands = axios_1.default.create({
baseURL: process.env.JURICODE_BASE_URL || "http://localhost:13000",
});
const checkForEmailVerificationError = (data) => {
const EMAIL_NOT_VERIFIED = "EmailNotVerifiedError";
if (typeof data === "string") {
return data.includes(EMAIL_NOT_VERIFIED);
}
if (typeof data === "object" && data !== null) {
if ("message" in data) {
const { message } = data;
if (typeof message === "string") {
return message.includes(EMAIL_NOT_VERIFIED);
}
if (Array.isArray(message)) {
return message.some((msg) => typeof msg === "string" && msg.includes(EMAIL_NOT_VERIFIED));
}
}
return Object.values(data).some((value) => (typeof value === "string" && value.includes(EMAIL_NOT_VERIFIED)) ||
(Array.isArray(value) &&
value.some((v) => typeof v === "string" && v.includes(EMAIL_NOT_VERIFIED))));
}
return false;
};
exports.openHands.interceptors.response.use((response) => response, (error) => {
if (error.response?.status === 403 &&
checkForEmailVerificationError(error.response?.data)) {
console.warn("Email verification required");
}
return Promise.reject(error);
});
exports.axiosInstance = exports.openHands;
//# sourceMappingURL=axios-config.js.map