From 19fbf50f6f6057c5321a999b6551d05db32b5fd8 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Fri, 19 Feb 2021 19:10:02 +0000 Subject: [PATCH 01/13] =?UTF-8?q?=F0=9F=A7=BENew=20changelog=20file=20vers?= =?UTF-8?q?ion=20[CI=20SKIP]=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e5fd05..852cba2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,10 +4,12 @@ All notable changes to this project will be documented in this file. Dates are d #### [v0.3.3](https://git.odit.services/lfk/document-server/compare/v0.3.2...v0.3.3) +- Merge pull request 'Alpha Release 0.3.3 - Download options' (#32) from dev into main [`21b5e04`](https://git.odit.services/lfk/document-server/commit/21b5e048ed5ed72f88304e5c737639c54cc71483) - 🧾New changelog file version [CI SKIP] [skip ci] [`d1a29c1`](https://git.odit.services/lfk/document-server/commit/d1a29c1cbb8845a1adf8a414d158ebcabd48dc04) - 🧾New changelog file version [CI SKIP] [skip ci] [`fd8b7e5`](https://git.odit.services/lfk/document-server/commit/fd8b7e56da4a1601141f63627e3990660c521ea6) - Added download option to cards [`1ca5d3e`](https://git.odit.services/lfk/document-server/commit/1ca5d3ea078ef51818657e2b3c9f114c67bff86d) - Added download header [`55877de`](https://git.odit.services/lfk/document-server/commit/55877de2aa46583f30d033467037e0454d1236be) +- 🧾New changelog file version [CI SKIP] [skip ci] [`c012b49`](https://git.odit.services/lfk/document-server/commit/c012b4943d96ee3a9442c65389c4dcea08642109) - 🚀Bumped version to v0.3.3 [`ba566bc`](https://git.odit.services/lfk/document-server/commit/ba566bcc33ed920324cd9977b3f293a2c629f92c) - 🧾New changelog file version [CI SKIP] [skip ci] [`a386c5b`](https://git.odit.services/lfk/document-server/commit/a386c5bef88da29e4447399d4edca0234b674ed5) From 4e1e124d0dc08f96aeb05dd1c975064fe785b80f Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Sat, 20 Feb 2021 15:58:11 +0100 Subject: [PATCH 02/13] Added disclaimer to template ref #33 --- src/templates/sponsoring_contract.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/templates/sponsoring_contract.html b/src/templates/sponsoring_contract.html index ddcad0a..4815594 100644 --- a/src/templates/sponsoring_contract.html +++ b/src/templates/sponsoring_contract.html @@ -81,7 +81,7 @@

{{__ "address"}} ({{__ "sponsor"}})

({{__ "sponsoring_address_condition"}})

-
+
 

{{__ "street"}}

@@ -91,7 +91,7 @@

{{__ "house_number"}}

-
+
 

{{__ "postalcode"}}

@@ -101,8 +101,7 @@

{{__ "city"}}

-
-
+
 

{{__ "location"}}, {{__ "date"}}

@@ -112,6 +111,7 @@

{{__ "signature"}}

+

{{../disclaimer}}

{{/each}} From 03ed6d5bc18c5b26edd7b1d698c9de936e008f32 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Sat, 20 Feb 2021 16:03:15 +0100 Subject: [PATCH 03/13] Updated styleing ref #33 --- src/templates/sponsoring_contract.html | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/templates/sponsoring_contract.html b/src/templates/sponsoring_contract.html index 4815594..13e8e15 100644 --- a/src/templates/sponsoring_contract.html +++ b/src/templates/sponsoring_contract.html @@ -68,8 +68,8 @@

{{__ "group"}}

-

{{__ "sponsoring_amount_per_distance"}}

-
+

{{__ "sponsoring_amount_per_distance"}}

+
 

{{__ "lastname"}}

@@ -79,9 +79,9 @@

{{__ "firstname"}}

-

{{__ "address"}} ({{__ "sponsor"}})

+

{{__ "address"}} ({{__ "sponsor"}})

({{__ "sponsoring_address_condition"}})

-
+
 

{{__ "street"}}

@@ -91,7 +91,7 @@

{{__ "house_number"}}

-
+
 

{{__ "postalcode"}}

@@ -101,7 +101,7 @@

{{__ "city"}}

-
+
 

{{__ "location"}}, {{__ "date"}}

@@ -111,7 +111,7 @@

{{__ "signature"}}

-

{{../disclaimer}}

+

{{../disclaimer}}

{{/each}} From 885765ac71b6a65c869ee841c383667f4947dcde Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Sat, 20 Feb 2021 16:03:54 +0100 Subject: [PATCH 04/13] MAde disclaimer configurable via env --- src/PdfCreator.ts | 2 +- src/config.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/PdfCreator.ts b/src/PdfCreator.ts index b48889e..50023e1 100644 --- a/src/PdfCreator.ts +++ b/src/PdfCreator.ts @@ -121,7 +121,7 @@ export class PdfCreator { await i18next.changeLanguage(locale); const template_source = fs.readFileSync(`${this.templateDir}/sponsoring_contract.html`, 'utf8'); const template = Handlebars.compile(template_source); - let result = template({ runners, codeformat }); + let result = template({ runners, codeformat, disclaimer: config.disclaimer_text }); result = await awaitAsyncHandlebarHelpers(result); const pdf = await this.renderPdf(result, { format: "A5", landscape: true }); return pdf diff --git a/src/config.ts b/src/config.ts index bded138..d6e2565 100644 --- a/src/config.ts +++ b/src/config.ts @@ -12,6 +12,7 @@ export const config = { codeformat: process.env.CODEFORMAT || "qrcode", sponor_logos: getSponsorLogos(), api_key: getApiKey(), + disclaimer_text: process.env.DISCLAIMER_TEXT || "", } let errors = 0 if (typeof config.internal_port !== "number") { From 5e4d6f44dab581483135594432bd8c8d65ba74ef Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Sat, 20 Feb 2021 16:03:54 +0100 Subject: [PATCH 05/13] MAde disclaimer configurable via env ref #33 --- src/PdfCreator.ts | 2 +- src/config.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/PdfCreator.ts b/src/PdfCreator.ts index b48889e..50023e1 100644 --- a/src/PdfCreator.ts +++ b/src/PdfCreator.ts @@ -121,7 +121,7 @@ export class PdfCreator { await i18next.changeLanguage(locale); const template_source = fs.readFileSync(`${this.templateDir}/sponsoring_contract.html`, 'utf8'); const template = Handlebars.compile(template_source); - let result = template({ runners, codeformat }); + let result = template({ runners, codeformat, disclaimer: config.disclaimer_text }); result = await awaitAsyncHandlebarHelpers(result); const pdf = await this.renderPdf(result, { format: "A5", landscape: true }); return pdf diff --git a/src/config.ts b/src/config.ts index bded138..d6e2565 100644 --- a/src/config.ts +++ b/src/config.ts @@ -12,6 +12,7 @@ export const config = { codeformat: process.env.CODEFORMAT || "qrcode", sponor_logos: getSponsorLogos(), api_key: getApiKey(), + disclaimer_text: process.env.DISCLAIMER_TEXT || "", } let errors = 0 if (typeof config.internal_port !== "number") { From 9dd62cefa94bf3f0bf8e77fd25e7ca1ec4b30e2b Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Sat, 20 Feb 2021 16:05:58 +0100 Subject: [PATCH 06/13] Added reamde entry for the new env var ref #33 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ac522c5..3773b94 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,7 @@ The basic generation mechanism makes the templates and routes interchangeable (i | SPONSORING_RECEIPT_MINIMUM_AMOUNT | String | "10" | The mimimum total donation amount a sponsor has to donate to be able to receive a donation receipt - used to generate pdf text. | SPONOR_LOGOS | Array | Empty png | The sponsor images you want to loop through. You can provide them via http url, local file or base64-encoded image. | API_KEY | String(min length: 64) | Random generated string | The api key you want to use for auth (query-param `key`), has to be at least 64 chars long. +| DISCLAIMER_TEXT | String | N/A | A disclaimer that will get displayed on the bottom of each sponsoring contract. R/N You can only provide the disclaimer for one language. ## Templates > The document server uses html templates to generate various pdf documents. From b612562d347f5fafcf4ce94a4508b7c0bb9370c6 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Sat, 20 Feb 2021 15:19:11 +0000 Subject: [PATCH 07/13] =?UTF-8?q?=F0=9F=A7=BENew=20changelog=20file=20vers?= =?UTF-8?q?ion=20[CI=20SKIP]=20[skip=20ci]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 852cba2..dd50bf1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,8 +2,20 @@ All notable changes to this project will be documented in this file. Dates are displayed in UTC. +#### [v0.3.3](https://git.odit.services/lfk/document-server/compare/v0.3.3...v0.3.3) + +- Merge pull request 'Configurable sponsoring disclaimer feature/33-disclaimer' (#34) from feature/33-disclaimer into dev [`e9d3574`](https://git.odit.services/lfk/document-server/commit/e9d35745997a9e948509ea67b59f5a7658f9d652) +- Updated styleing [`03ed6d5`](https://git.odit.services/lfk/document-server/commit/03ed6d5bc18c5b26edd7b1d698c9de936e008f32) +- Added disclaimer to template [`4e1e124`](https://git.odit.services/lfk/document-server/commit/4e1e124d0dc08f96aeb05dd1c975064fe785b80f) +- MAde disclaimer configurable via env [`5e4d6f4`](https://git.odit.services/lfk/document-server/commit/5e4d6f44dab581483135594432bd8c8d65ba74ef) +- MAde disclaimer configurable via env [`885765a`](https://git.odit.services/lfk/document-server/commit/885765ac71b6a65c869ee841c383667f4947dcde) +- 🧾New changelog file version [CI SKIP] [skip ci] [`19fbf50`](https://git.odit.services/lfk/document-server/commit/19fbf50f6f6057c5321a999b6551d05db32b5fd8) +- Added reamde entry for the new env var [`9dd62ce`](https://git.odit.services/lfk/document-server/commit/9dd62cefa94bf3f0bf8e77fd25e7ca1ec4b30e2b) + #### [v0.3.3](https://git.odit.services/lfk/document-server/compare/v0.3.2...v0.3.3) +> 19 February 2021 + - Merge pull request 'Alpha Release 0.3.3 - Download options' (#32) from dev into main [`21b5e04`](https://git.odit.services/lfk/document-server/commit/21b5e048ed5ed72f88304e5c737639c54cc71483) - 🧾New changelog file version [CI SKIP] [skip ci] [`d1a29c1`](https://git.odit.services/lfk/document-server/commit/d1a29c1cbb8845a1adf8a414d158ebcabd48dc04) - 🧾New changelog file version [CI SKIP] [skip ci] [`fd8b7e5`](https://git.odit.services/lfk/document-server/commit/fd8b7e56da4a1601141f63627e3990660c521ea6) From 677bd861335302269baec96a59916475bbdd405f Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Wed, 10 Mar 2021 20:11:16 +0100 Subject: [PATCH 08/13] Changed ci pipeline type to kubernetes ref https://git.odit.services/odit/org/issues/12#issuecomment-4325 --- .drone.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.drone.yml b/.drone.yml index ad6a450..2a34b30 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,6 +1,6 @@ --- kind: pipeline -type: docker +type: kubernetes name: build:dev clone: disable: true @@ -66,7 +66,7 @@ trigger: --- kind: pipeline -type: docker +type: kubernetes name: build:latest clone: disable: true @@ -109,7 +109,7 @@ trigger: --- kind: pipeline -type: docker +type: kubernetes name: build:tags steps: From b180e0404537404d0564453fde5976f4de672a8b Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Fri, 12 Mar 2021 18:58:09 +0100 Subject: [PATCH 09/13] =?UTF-8?q?Updated=20ci=20with=20new=20kubernetes=20?= =?UTF-8?q?secrets=20=F0=9F=9A=80=F0=9F=9A=80=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ref https://git.odit.services/odit/org/issues/12 --- .drone.yml | 39 ++++++++++++++++++++++++++++++--------- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/.drone.yml b/.drone.yml index 2a34b30..168e6b2 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,3 +1,24 @@ +--- +kind: secret +name: docker_username +get: + path: odit-registry-builder + name: username + +--- +kind: secret +name: docker_password +get: + path: odit-registry-builder + name: password + +--- +kind: secret +name: git_ssh +get: + path: odit-git-bot + name: sshkey + --- kind: pipeline type: kubernetes @@ -16,9 +37,9 @@ steps: depends_on: [clone] settings: username: - from_secret: DOCKER_REGISTRY_USER + from_secret: docker_username password: - from_secret: DOCKER_REGISTRY_PASSWORD + from_secret: docker_password repo: registry.odit.services/lfk/document-server tags: - dev @@ -38,7 +59,7 @@ steps: author_email: bot@odit.services remote: git@git.odit.services:lfk/document-server.git ssh_key: - from_secret: GITLAB_SSHKEY + from_secret: git_ssh - name: run full license export depends_on: ["clone"] image: node:14.15.1-alpine3.12 @@ -56,7 +77,7 @@ steps: remote: git@git.odit.services:lfk/document-server.git skip_verify: true ssh_key: - from_secret: GITLAB_SSHKEY + from_secret: git_ssh trigger: branch: @@ -84,9 +105,9 @@ steps: image: plugins/docker settings: username: - from_secret: DOCKER_REGISTRY_USER + from_secret: docker_username password: - from_secret: DOCKER_REGISTRY_PASSWORD + from_secret: docker_password repo: registry.odit.services/lfk/document-server tags: - latest @@ -99,7 +120,7 @@ steps: commit: false remote: git@git.odit.services:lfk/document-server.git ssh_key: - from_secret: GITLAB_SSHKEY + from_secret: git_ssh trigger: branch: @@ -118,9 +139,9 @@ steps: depends_on: [clone] settings: username: - from_secret: DOCKER_REGISTRY_USER + from_secret: docker_username password: - from_secret: DOCKER_REGISTRY_PASSWORD + from_secret: docker_password repo: registry.odit.services/lfk/document-server tags: - '${DRONE_TAG}' From d9919404b5b90151318d20258a273ca6c7640393 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Sat, 13 Mar 2021 13:59:34 +0100 Subject: [PATCH 10/13] Added logic for generateing multiple contracts per runner ref #35 --- src/PdfCreator.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/PdfCreator.ts b/src/PdfCreator.ts index 50023e1..31fbeb7 100644 --- a/src/PdfCreator.ts +++ b/src/PdfCreator.ts @@ -108,6 +108,11 @@ export class PdfCreator { if (runners.length == 1 && Object.keys(runners[0]).length == 0) { runners[0] = this.generateEmptyRunner(); } + for (var i = 1; i < PdfCreator.contractsPerRunner; i++) { + runners = runners.reduce(function (res, current, index, array) { + return res.concat([current, current]); + }, []); + } if (runners.length > 50) { let pdf_promises = new Array>(); let i, j; From d01b4a0b99f3c1aa088b02d766d21bfb6b9e3a29 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Sat, 13 Mar 2021 14:01:30 +0100 Subject: [PATCH 11/13] Added config for amount of contracts per runner ref #35 --- src/PdfCreator.ts | 1 + src/config.ts | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/src/PdfCreator.ts b/src/PdfCreator.ts index 31fbeb7..549cf4f 100644 --- a/src/PdfCreator.ts +++ b/src/PdfCreator.ts @@ -22,6 +22,7 @@ export class PdfCreator { private templateDir = path.join(__dirname, '/templates'); private browser; private static interpolations = { eventname: config.eventname, sponsoring_receipt_minimum_amount: config.sponsoring_receipt_minimum_amount, currency_symbol: config.currency_symbol } + private static contractsPerRunner = config.contracts_per_runner; /** * Main constructor. diff --git a/src/config.ts b/src/config.ts index d6e2565..7dbc3c0 100644 --- a/src/config.ts +++ b/src/config.ts @@ -13,11 +13,15 @@ export const config = { sponor_logos: getSponsorLogos(), api_key: getApiKey(), disclaimer_text: process.env.DISCLAIMER_TEXT || "", + contracts_per_runner: process.env.CONTRACTS_PER_RUNNER || 1, } let errors = 0 if (typeof config.internal_port !== "number") { errors++ } +if (typeof config.contracts_per_runner !== "number") { + errors++ +} if (typeof config.development !== "boolean") { errors++ } From 31a59500fa77f1ad7c54fa297d00c8707ae6db9c Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Sat, 13 Mar 2021 14:03:14 +0100 Subject: [PATCH 12/13] Documented the new config var ref #35 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3773b94..d3bd447 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,7 @@ The basic generation mechanism makes the templates and routes interchangeable (i | SPONOR_LOGOS | Array | Empty png | The sponsor images you want to loop through. You can provide them via http url, local file or base64-encoded image. | API_KEY | String(min length: 64) | Random generated string | The api key you want to use for auth (query-param `key`), has to be at least 64 chars long. | DISCLAIMER_TEXT | String | N/A | A disclaimer that will get displayed on the bottom of each sponsoring contract. R/N You can only provide the disclaimer for one language. +| CONTRACTS_PER_RUNNER | Number | 1 | The amount of contracts that get created per runner (per request). ## Templates > The document server uses html templates to generate various pdf documents. From 85519bc2e4e8906732dc5f99e417014a14bad7d0 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Sun, 14 Mar 2021 16:33:17 +0100 Subject: [PATCH 13/13] =?UTF-8?q?=F0=9F=9A=80Bumped=20version=20to=20v0.4.?= =?UTF-8?q?0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7e0245e..af57d63 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@odit/lfk-document-server", - "version": "0.3.3", + "version": "0.4.0", "description": "The document generation server for the LfK! runner system. This generates certificates, sponsoring aggreements and more", "main": "src/app.ts", "scripts": {