Compare commits

14 Commits

Author SHA1 Message Date
9bb799a785 Merge pull request 'main' (#14) from main into dev
Reviewed-on: #14
2026-07-09 08:59:59 +00:00
smueller
8a556b18ea Add field validation for configuration settings in Settings class
- Introduced a field validator to parse integer values with inline comments for access token expiration, HSTS max age, editor tip max length, and highlights max length.
- Enhanced the configuration management by ensuring cleaner input handling for specific settings.
2026-07-09 10:59:37 +02:00
smueller
1674efd587 Enhance Docker build workflow by adding virtual environment setup
- Introduced a Python virtual environment for dependency management.
- Updated pip installation commands to use the virtual environment context.
2026-07-09 10:55:25 +02:00
smueller
44d14d94de Merge dev into main for release
Some checks failed
Docker Image bauen & veröffentlichen / build-and-push (push) Failing after 12s
2026-07-09 10:53:12 +02:00
c0a44285e6 Merge pull request 'Update README.md with enhanced configuration details and security measures' (#13) from dev into main
Reviewed-on: #13
2026-07-07 14:46:14 +00:00
7c340fa172 Merge pull request 'Update .env.example with enhanced configuration details for development' (#12) from dev into main
Reviewed-on: #12
2026-07-07 14:42:42 +00:00
3f339b3dae Merge pull request 'Refactor configuration and security features for improved development experience' (#11) from dev into main
Reviewed-on: #11
2026-07-07 14:31:48 +00:00
ca4063443d Merge pull request 'Enhance newsletter footer with creator attribution' (#10) from dev into main
Reviewed-on: #10
2026-07-07 14:12:47 +00:00
64f26c596d Merge pull request 'Update newsletter HTML templates for improved styling and consistency' (#9) from dev into main
Reviewed-on: #9
2026-07-07 14:09:50 +00:00
9b3bf4aa4e Merge pull request 'dev' (#8) from dev into main
Reviewed-on: #8
2026-07-07 14:05:50 +00:00
42cef23957 Merge pull request 'Add 'from_name' field to SMTP settings and update email sending logic' (#7) from dev into main
Reviewed-on: #7
2026-07-07 14:00:40 +00:00
32f10c3197 Merge pull request 'dev' (#6) from dev into main
Reviewed-on: #6
2026-07-07 13:45:25 +00:00
2c04c70e78 Merge pull request 'dev' (#5) from dev into main
Reviewed-on: #5
2026-07-07 13:37:15 +00:00
smueller
2bc0a19ada Merge branch 'dev'
All checks were successful
Docker Image bauen & veröffentlichen / build-and-push (push) Successful in 40s
2026-07-07 15:18:19 +02:00
2 changed files with 18 additions and 1 deletions

View File

@@ -27,8 +27,10 @@ jobs:
- name: Python-Abhängigkeiten prüfen (pip-audit) - name: Python-Abhängigkeiten prüfen (pip-audit)
run: | run: |
python -m venv .venv
. .venv/bin/activate
python -m pip install --upgrade pip python -m pip install --upgrade pip
pip install pip-audit python -m pip install pip-audit
pip-audit -r requirements.txt pip-audit -r requirements.txt
- name: Docker Buildx einrichten - name: Docker Buildx einrichten

View File

@@ -1,3 +1,4 @@
from pydantic import field_validator
from pydantic_settings import BaseSettings, SettingsConfigDict from pydantic_settings import BaseSettings, SettingsConfigDict
@@ -25,6 +26,20 @@ class Settings(BaseSettings):
model_config = SettingsConfigDict(env_file=".env", env_file_encoding="utf-8", extra="ignore") model_config = SettingsConfigDict(env_file=".env", env_file_encoding="utf-8", extra="ignore")
@field_validator(
"access_token_expire_minutes",
"hsts_max_age",
"editor_tip_max_length",
"highlights_max_length",
mode="before",
)
@classmethod
def _parse_int_with_inline_comment(cls, value):
if isinstance(value, str):
cleaned = value.split("#", 1)[0].strip()
return int(cleaned) if cleaned else value
return value
@property @property
def is_production(self) -> bool: def is_production(self) -> bool:
return self.environment.lower() == "production" return self.environment.lower() == "production"