first commit

This commit is contained in:
2026-06-29 07:36:04 +02:00
commit 5e5b875e37
108 changed files with 13347 additions and 0 deletions
@@ -0,0 +1,49 @@
# 0015. Use Full-Replace PUT as the Partial Update Strategy
Date: 2026-06-10
## Status
Accepted
## Context
HTTP defines two methods for updating an existing resource:
- **PUT** — full replacement; the client sends the complete resource
representation, and the server replaces the stored state entirely
- **PATCH** — partial update; the client sends only the changed fields
Both are standard and well-understood. The choice affects API surface
complexity, client implementation requirements, and server-side
validation logic.
## Decision
We use PUT for all player update operations
(`PUT /players/squadNumber/{n}`). The request body must contain the
full player representation; the server replaces the stored resource
entirely. No PATCH endpoint is provided at this time. A PATCH
implementation is tracked in the project backlog and remains under
active consideration.
## Consequences
### Positive
- Simpler server-side implementation: a single validation path,
no partial-update merge logic
- PUT semantics are idempotent and well-understood by API consumers
- Consistent with all sibling repos in the cross-language comparison set
### Negative
- Clients must send the full resource representation even for
single-field changes
- Fine-grained partial updates require a GET followed by a full PUT
- PATCH tracked in backlog — if implemented, this ADR will be superseded
### Neutral
- Standard REST semantics; no ambiguity about the update contract
for current consumers