Skip to content

Feat #179: 36 Monate (3 Jahre) Laufzeit erlauben - #184

Open
Gree44 wants to merge 1 commit into
stagingfrom
feat/179-36-months
Open

Feat #179: 36 Monate (3 Jahre) Laufzeit erlauben#184
Gree44 wants to merge 1 commit into
stagingfrom
feat/179-36-months

Conversation

@Gree44

@Gree44 Gree44 commented Jul 24, 2026

Copy link
Copy Markdown

Teil des Two-Repo-Changes fuer #179 — Backend-Seite.

Erlaubt Deployments mit einer Laufzeit von bis zu 36 Monaten (3 Jahre, Dauer des Studiums), beim Erstellen und beim Verlaengern.

Aenderungen

  • src/schemas/deployment.py: ALLOWED_RUNTIME_MONTHS um 36 erweitert (1, 3, 4, 6, 12, 24, 36). Der field_validator auf DeploymentCreate und DeploymentExtend lehnt sonst jeden Wert ausserhalb der Menge mit 422 ab.
  • src/utils/deployment_expiry.py: Monats-Arithmetik ist bereits generisch (kein 24-Limit im Code) — nur der Doku-Kommentar 1..24 -> 1..36 angepasst.
  • tests/unit/test_deployment_runtime_validation.py: allowed-set-Assertion + parametrize um 36 ergaenzt; 36 aus der rejected-Liste entfernt (durch 48 ersetzt).
  • tests/unit/test_deployment_expiry_helpers.py: parametrize-Liste um 36 ergaenzt.

Verifikation

  • uv run --extra dev pytest tests/unit/test_deployment_runtime_validation.py tests/unit/test_deployment_expiry_helpers.py -> 32 passed.

Hinweis

Frontend-Gegenstueck (Wizard + Verlaengern-Dialog) folgt als separater PR in appstore-frontend und wird hier verlinkt.

Erlaubt Deployments mit einer Laufzeit von bis zu 36 Monaten (3 Jahre,
Dauer des Studiums) — sowohl beim Erstellen als auch beim Verlaengern.

- ALLOWED_RUNTIME_MONTHS um 36 erweitert (src/schemas/deployment.py). Der
  field_validator auf DeploymentCreate/DeploymentExtend akzeptiert damit 36
  statt es mit 422 abzulehnen.
- deployment_expiry.py: Monats-Arithmetik ist generisch, keine Aenderung
  noetig; nur den Kommentar-Bereich 1..24 -> 1..36 nachgezogen.
- Tests: allowed-set-Assertion und parametrize-Listen um 36 ergaenzt, 36 aus
  der "rejected"-Liste entfernt (test_deployment_runtime_validation.py,
  test_deployment_expiry_helpers.py).

Frontend-Gegenstueck folgt als separater PR in appstore-frontend.
@Gree44

Gree44 commented Jul 24, 2026

Copy link
Copy Markdown
Author

Frontend-Gegenstueck (Wizard + Verlaengern-Dialog): DoziLab/appstore-frontend#228 — schliesst #179. Dieser Backend-PR sollte zuerst gemergt/deployt sein, sonst lehnt der Validator 36 weiterhin mit 422 ab.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant