first commit
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
import { Clarizen, ClarizenApiError } from "@arco/clarizen-lib";
|
||||
|
||||
export function getApiKey(): string | undefined {
|
||||
return process.env.CLARIZEN_API_KEY ?? process.env.API_KEY_AW;
|
||||
}
|
||||
|
||||
export function createClarizenClient(): Clarizen {
|
||||
const apiKey = getApiKey();
|
||||
if (!apiKey) {
|
||||
throw new Error(
|
||||
"Defina CLARIZEN_API_KEY ou API_KEY_AW no arquivo .env na raiz do projeto.",
|
||||
);
|
||||
}
|
||||
|
||||
return new Clarizen({
|
||||
baseUrl: process.env.CLARIZEN_BASE_URL ?? "https://api.clarizen.com",
|
||||
apiToken: apiKey,
|
||||
});
|
||||
}
|
||||
|
||||
export async function checkClarizenAuth(
|
||||
clarizen: Clarizen,
|
||||
): Promise<
|
||||
{ ok: true; userId: string } | { ok: false; message: string; status?: number }
|
||||
> {
|
||||
try {
|
||||
const session = await clarizen.authentication.getSessionInfo();
|
||||
return { ok: true, userId: session.userId };
|
||||
} catch (err) {
|
||||
if (err instanceof ClarizenApiError) {
|
||||
return {
|
||||
ok: false,
|
||||
message: err.message,
|
||||
status: err.status === 401 || err.status === 403 ? err.status : 502,
|
||||
};
|
||||
}
|
||||
const message = err instanceof Error ? err.message : "Falha de autenticação";
|
||||
return { ok: false, message, status: 502 };
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user