jobsuche-api-js
Version:
A JavaScript wrapper for the Arbeitsagentur jobs API, allowing developers to easily integrate job search functionality into their applications.
47 lines (46 loc) • 2.1 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getCompanyLogoURL = getCompanyLogoURL;
const axios_1 = __importDefault(require("axios"));
const urls_1 = require("../constants/urls");
const companyInfo_1 = require("./companyInfo");
const companyLogoReturnHelper_1 = require("../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 (0, companyInfo_1.fetchCompanyInfo)(kundennummerHash);
if (companyInfo) {
avatarUrl = constructAvatarUrl(companyInfo === null || companyInfo === void 0 ? void 0 : companyInfo.firma);
}
}
try {
const fullUrl = `${urls_1.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_1.default.get(fullUrl);
const data = response.data;
if (!data) {
return (0, companyLogoReturnHelper_1.companyLogoReturnHelper)(avatarUrl, false, "Image not found from try!");
}
return (0, companyLogoReturnHelper_1.companyLogoReturnHelper)(fullUrl, fullUrl.length > 0, null);
}
catch (error) {
return (0, companyLogoReturnHelper_1.companyLogoReturnHelper)(avatarUrl, false, error.message);
}
}