4 Commits
1.2.3 ... 1.2.5

Author SHA1 Message Date
f9a202db55 chore(deps): bump
Some checks failed
Build Latest image / build-container (push) Successful in 44s
Build release images / build-container (push) Failing after 3h14m11s
2025-03-27 10:20:15 +01:00
92fc5762e4 chore(deps): bun:1.2.6
All checks were successful
Build Latest image / build-container (push) Successful in 38s
2025-03-27 10:03:18 +01:00
326b241dab feat: update email for new times
All checks were successful
Build Latest image / build-container (push) Successful in 33s
Build release images / build-container (push) Successful in 31s
2025-03-27 10:00:56 +01:00
a7a50ff59d refactor(ci): Switch to actions
All checks were successful
Build Latest image / build-container (push) Successful in 36s
2025-03-22 22:55:22 +01:00
12 changed files with 79 additions and 55 deletions

28
.gitea/workflows/dev.yaml Normal file
View File

@@ -0,0 +1,28 @@
name: Build Latest image
on:
push:
branches:
- dev
jobs:
build-container:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Login to registry
uses: docker/login-action@v3
with:
registry: registry.odit.services
username: ${{ vars.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push
uses: docker/build-push-action@v6
with:
push: true
tags: |
${{ vars.REGISTRY }}/lfk/mailer:dev
${{ vars.REGISTRY }}/lfk/mailer:latest
platforms: linux/amd64,linux/arm64

View File

@@ -0,0 +1,27 @@
name: Build release images
on:
push:
tags:
- "*.*.*"
jobs:
build-container:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Login to registry
uses: docker/login-action@v3
with:
registry: registry.odit.services
username: ${{ vars.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push
uses: docker/build-push-action@v6
with:
push: true
tags: |
${{ vars.REGISTRY }}/lfk/mailer:${{ github.ref_name }}
platforms: linux/amd64,linux/arm64

View File

@@ -1,18 +0,0 @@
steps:
- name: build dev
image: woodpeckerci/plugin-docker-buildx
settings:
repo: registry.odit.services/lfk/mailer
tags:
- dev
registry: registry.odit.services
platforms: linux/amd64,linux/arm64
cache_from: registry.odit.services/lfk/mailer:dev
username:
from_secret: odit-registry-builder-username
password:
from_secret: odit-registry-builder-password
when:
branch: dev
when:
event: push

View File

@@ -1,17 +0,0 @@
steps:
- name: build tag
image: woodpeckerci/plugin-docker-buildx
settings:
repo: registry.odit.services/lfk/mailer
tags:
- "${CI_COMMIT_TAG}"
registry: registry.odit.services
platforms: linux/amd64,linux/arm64
cache_from: registry.odit.services/lfk/mailer:dev
username:
from_secret: odit-registry-builder-username
password:
from_secret: odit-registry-builder-password
when:
event:
- tag

View File

@@ -1,4 +1,4 @@
FROM oven/bun:1.1.40-slim FROM oven/bun:1.2.6-slim
WORKDIR /app WORKDIR /app
COPY package.json . COPY package.json .
RUN bun i RUN bun i

BIN
bun.lockb

Binary file not shown.

View File

@@ -8,20 +8,20 @@
"start": "bun src/index.ts" "start": "bun src/index.ts"
}, },
"dependencies": { "dependencies": {
"@hono/node-server": "1.13.7", "@hono/node-server": "1.14.0",
"@hono/swagger-ui": "0.5.0", "@hono/swagger-ui": "0.5.1",
"@hono/zod-openapi": "0.18.3", "@hono/zod-openapi": "0.19.2",
"@hono/zod-validator": "0.4.2", "@hono/zod-validator": "0.4.3",
"bullmq": "5.34.3", "bullmq": "5.44.4",
"handlebars": "4.7.8", "handlebars": "4.7.8",
"hono": "4.6.14", "hono": "4.7.5",
"ioredis": "5.4.1", "ioredis": "5.6.0",
"nodemailer": "6.9.16", "nodemailer": "6.10.0",
"zod": "3.24.1" "zod": "3.24.2"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "22.10.2", "@types/node": "22.13.14",
"@types/nodemailer": "6.4.17", "@types/nodemailer": "6.4.17",
"bun-types": "1.1.40" "bun-types": "1.2.6"
} }
} }

View File

@@ -21,7 +21,7 @@ async function generateBarcodeDataURL(data) {
return `${process.env.DOCUMENT_SERVER_URL}/v1/barcodes/code128/${data}` return `${process.env.DOCUMENT_SERVER_URL}/v1/barcodes/code128/${data}`
} }
emailRouter.post('/', bearerAuth({ token: process.env.AUTHKEY }), zValidator('json', sendEmailSchema), async (c) => { emailRouter.post('/', bearerAuth({ token: process.env.AUTHKEY || "" }), zValidator('json', sendEmailSchema), async (c) => {
let { to, templateName, language, data } = c.req.valid('json') let { to, templateName, language, data } = c.req.valid('json')
const attachments: Attachment[] = [] const attachments: Attachment[] = []
try { try {
@@ -35,7 +35,7 @@ emailRouter.post('/', bearerAuth({ token: process.env.AUTHKEY }), zValidator('js
} }
const attachment: Attachment = { const attachment: Attachment = {
filename: 'invite.ics', filename: 'invite.ics',
content: `BEGIN:VCALENDAR\nVERSION:2.0\nBEGIN:VEVENT\nSUMMARY:Lauf für Kaya! 2025\nDTSTART:20250523T110000Z\nDTEND:20250523T160000Z\nDTSTAMP:20250318T230306Z\nUID:1742338986492-lfk2025\nDESCRIPTION:Der Lauf für Kaya! 2025 findet am 23.05.2025 auf dem Sportplatz des Gymnasium Herzogenaurach statt - Bürgerlauf von 13 bis 18 Uhr.\nLOCATION:Sportplatz Gymnasium Herzogenaurach\nORGANIZER:info@lauf-fuer-kaya.de\nSTATUS:CONFIRMED\nPRIORITY:5\nEND:VEVENT\nEND:VCALENDAR`, content: `BEGIN:VCALENDAR\nVERSION:2.0\nBEGIN:VEVENT\nSUMMARY:Lauf für Kaya! 2025\nDTSTART:20250523T110000Z\nDTEND:20250523T160000Z\nDTSTAMP:20250318T230306Z\nUID:lfk2025-xhJP3h\nDESCRIPTION:Der Lauf für Kaya! 2025 findet am 23.05.2025 auf dem Sportplatz des Gymnasium Herzogenaurach statt - Bürgerlauf von 14 bis 18 Uhr - Firmenlauf von 13:30 bis 18 Uhr.\nLOCATION:Sportplatz Gymnasium Herzogenaurach\nORGANIZER:info@lauf-fuer-kaya.de\nSTATUS:CONFIRMED\nPRIORITY:5\nEND:VEVENT\nEND:VCALENDAR`,
contentType: 'text/calendar; method=REQUEST', contentType: 'text/calendar; method=REQUEST',
} }
attachments.push(attachment) attachments.push(attachment)

View File

@@ -177,8 +177,9 @@
> >
Am Lauftag (<strong>{{event_date}}</strong>) musst du nur noch Am Lauftag (<strong>{{event_date}}</strong>) musst du nur noch
diesen Barcode vorzeigen, damit erhältst du deine Läuferkarte.<br />Der diesen Barcode vorzeigen, damit erhältst du deine Läuferkarte.<br />Der
Bürger- & Firmenlauf findet von <b>Bürgerlauf</b> findet von
<strong>13:00 bis 18:00 Uhr</strong> statt. <b>14:00 bis 18:00 Uhr</b> statt.<br />Der
<b>Firmenlauf</b> beginnt um <b>13:30 Uhr</b>.
</p> </p>
<table <table
align="center" align="center"

View File

@@ -3,7 +3,8 @@ Hallo {{name}} 👋
vielen Dank für deine Registrierung beim {{event_name}} vielen Dank für deine Registrierung beim {{event_name}}
Am Lauftag ({{event_date}}) musst du nur noch deinen Barcode vorzeigen, damit erhältst du deine Läuferkarte. Am Lauftag ({{event_date}}) musst du nur noch deinen Barcode vorzeigen, damit erhältst du deine Läuferkarte.
Der Bürger- & Firmenlauf findet von 13:00 bis 18:00 Uhr statt. Der Bürgerlauf findet von 14:00 bis 18:00 Uhr statt.
Der Firmenlauf beginnt um 13:30 Uhr.
Deinen Registrierungs-Code, Rundenzeiten und weitere Infos kannst du jederzeit im Lauf für Kaya! Selfservice unter {{link}} einsehen. Deinen Registrierungs-Code, Rundenzeiten und weitere Infos kannst du jederzeit im Lauf für Kaya! Selfservice unter {{link}} einsehen.

View File

@@ -177,8 +177,9 @@
> >
On the day of the run (<strong>{{event_date}}</strong>) you only On the day of the run (<strong>{{event_date}}</strong>) you only
have to show your barcode to receive your runner's card.<br />The have to show your barcode to receive your runner's card.<br />The
Citizens' & Company Run will take place from <b>Citizens' Run</b> takes place from
<strong> 1:00 p.m. to 6:00 p.m.</strong> <b>2:00 PM to 6:00 PM</b>.<br />The <b>Corporate Run</b> begins at
<b>1:30 PM</b>.
</p> </p>
<table <table
align="center" align="center"

View File

@@ -3,7 +3,8 @@ Hello {{name}} 👋
Thank you for registering for the {{event_name}} Thank you for registering for the {{event_name}}
On the day of the run ({{event_date}}) you only have to show your barcode to receive your runner's card. On the day of the run ({{event_date}}) you only have to show your barcode to receive your runner's card.
The Citizens' & Company Run will take place from 1:00 p.m. to 6:00 p.m. The Citizens' Run takes place from 2:00 PM to 6:00 PM.
The Corporate Run begins at 1:30 PM.
You can view your registration code, lap times and further information at any time from the Lauf für Kaya! Selfservice at {{link}}. You can view your registration code, lap times and further information at any time from the Lauf für Kaya! Selfservice at {{link}}.