From 29376a7782ce39f04f856ec78775e65aa11f0ed7 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Fri, 12 Feb 2021 17:55:37 +0100 Subject: [PATCH] Now loading sponsor logos from env ref #14 --- src/PdfCreator.ts | 6 ++---- src/config.ts | 12 +++++++++++- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/PdfCreator.ts b/src/PdfCreator.ts index 83b5b5f..b48889e 100644 --- a/src/PdfCreator.ts +++ b/src/PdfCreator.ts @@ -14,8 +14,6 @@ import { Runner } from './models/Runner'; import { RunnerCard } from './models/RunnerCard'; import { RunnerGroup } from './models/RunnerGroup'; -const sponsors: string[] = ["https://odit.services/assets/img/profile-pic-no_bg.hash.0c81702a.png", "./sponsoringheader.png"] - /** * This class is responsible for all things pdf creation. * This uses the html templates from src/templates. @@ -91,11 +89,11 @@ export class PdfCreator { ); await Handlebars.registerHelper('--sponsor', function (str) { - const index = (parseInt(str) % sponsors.length); + const index = (parseInt(str) % config.sponor_logos.length); if (isNaN(index)) { return "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+P+/HgAFhAJ/wlseKgAAAABJRU5ErkJggg==" } - return sponsors[index]; + return config.sponor_logos[index]; } ); this.browser = await puppeteer.launch({ headless: true, args: minimal_args }); diff --git a/src/config.ts b/src/config.ts index 8422d8d..6815cc2 100644 --- a/src/config.ts +++ b/src/config.ts @@ -8,7 +8,8 @@ export const config = { eventname: process.env.EVENT_NAME || "Please set the event name", currency_symbol: process.env.CURRENCY_SYMBOL || "€", sponsoring_receipt_minimum_amount: process.env.SPONSORING_RECEIPT_MINIMUM_AMOUNT || "10", - codeformat: process.env.CODEFORMAT || "qrcode" + codeformat: process.env.CODEFORMAT || "qrcode", + sponor_logos: getSponsorLogos() } let errors = 0 if (typeof config.internal_port !== "number") { @@ -17,4 +18,13 @@ if (typeof config.internal_port !== "number") { if (typeof config.development !== "boolean") { errors++ } +function getSponsorLogos(): string[] { + try { + const logos = JSON.parse(process.env.SPONOR_LOGOS); + if (!Array.isArray(logos)) { throw new Error("Not an array.") } + return logos; + } catch (error) { + return ["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+P+/HgAFhAJ/wlseKgAAAABJRU5ErkJggg=="]; + } +} export let e = errors \ No newline at end of file