jobsuche-api-js
Version:
A JavaScript wrapper for the Arbeitsagentur jobs API, allowing developers to easily integrate job search functionality into their applications.
42 lines (41 loc) • 1.72 kB
JavaScript
import axios from "axios";
import { companyLogoV3 } from "../constants/urls";
import { fetchCompanyInfo } from "./companyInfo";
import { companyLogoReturnHelper } from "../helpers/companyLogoReturnHelper";
const constructAvatarUrl = (name) => {
const defaultSettings = {
name: name || "N/A",
background: "random",
color: "fff",
size: 128,
format: "svg",
};
return `https://ui-avatars.com/api/?name=${encodeURIComponent(defaultSettings.name)}&background=${defaultSettings.background}&color=${defaultSettings.color}&size=${defaultSettings.size}&format=${defaultSettings.format}`;
};
async function getCompanyLogoURL(kundennummerHash, companyName) {
let avatarUrl = null;
if (companyName)
avatarUrl = constructAvatarUrl(companyName);
if (!companyName) {
const companyInfo = await fetchCompanyInfo(kundennummerHash);
if (companyInfo) {
avatarUrl = constructAvatarUrl(companyInfo === null || companyInfo === void 0 ? void 0 : companyInfo.firma);
}
}
try {
const fullUrl = `${companyLogoV3}/${kundennummerHash}`;
// TODO check this later.
// make an axios request to check if the company logo exists.
// if there is an error the avatar will be returned.
const response = await axios.get(fullUrl);
const data = response.data;
if (!data) {
return companyLogoReturnHelper(avatarUrl, false, "Image not found from try!");
}
return companyLogoReturnHelper(fullUrl, fullUrl.length > 0, null);
}
catch (error) {
return companyLogoReturnHelper(avatarUrl, false, error.message);
}
}
export { getCompanyLogoURL };