UNPKG

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
"use strict"; 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); } }