Record API version delivery and validation
This commit is contained in:
1 parent
d04c8b12ab
commit
259f84e0a1
1 file changed
+40
@@ -788,3 +788,43 @@ and absence of outgoing bearer metadata over plaintext and optional TLS.
|
||||
Resend API key. No email was sent; full product deployment still awaits the API
|
||||
key and configured sender. Delivery continues on `dev-env-42` in
|
||||
[PR #43](https://git.sendico.io/tech/sxchnge/pulls/43).
|
||||
|
||||
## Independently installed product API versions — task #44
|
||||
|
||||
[Task #44](https://git.sendico.io/tech/sxchnge/issues/44), branch
|
||||
`product-api-44`, is delivered in
|
||||
[PR #45](https://git.sendico.io/tech/sxchnge/pulls/45). The PR targets
|
||||
`dev-env-42`: merge [PR #43](https://git.sendico.io/tech/sxchnge/pulls/43) into
|
||||
`main` first, then retarget #45 to `main` before merging. Owner: `tech`; project:
|
||||
SXCHNGE; label: backend.
|
||||
|
||||
The product registry explicitly installs v1 and supports independently selected
|
||||
future versions through YAML. Runtime owns shared stores, customer/auth/factor
|
||||
services and the notification connection; middleware owns HTTP concerns.
|
||||
Version-owned transports retain their existing contracts and operate on scoped
|
||||
routers with explicit cookie paths and URL providers. Unknown versions and
|
||||
invalid, duplicate or overlapping mounts fail startup. Failed installation does
|
||||
not publish application routes, and cleanup runs once on failure or shutdown.
|
||||
An architecture test prevents generic runtime imports of concrete transports.
|
||||
|
||||
Backend review covered the entire task contribution, including transport moves,
|
||||
service reuse, DTO/model separation, project errors and structured lifecycle
|
||||
logging. Initial focused checks exposed compile references after renaming and a
|
||||
missing leading slash in relative route registration; these were fixed. Review
|
||||
also tightened mounts to characters safe in both HTTP and cookie paths, validated
|
||||
origins, preserved cleanup errors and avoided duplicate shutdown error logging.
|
||||
|
||||
Final validation passed: `make test` (backend race tests and all frontend suites),
|
||||
`make lint-backend` and `git diff --check`. Tests cover independently behaving
|
||||
versions, dependency identity, disabled routes, YAML selection, mount rejection,
|
||||
scoped URLs and cookie set/delete, bootstrap/installation failure cleanup and
|
||||
concurrent/repeated shutdown. The Mongo-backed default v1 startup and existing
|
||||
moved auth/factor contract tests pass. Implementation commit: `d04c8b1`.
|
||||
|
||||
Only v1 ships; simultaneous versions are demonstrated with distinct test
|
||||
installers. Default v1 paths, JSON and operational URLs remain compatible. No
|
||||
database migration is needed. Internal Go composition APIs changed, and moving an
|
||||
existing mount requires reauthentication at its new cookie path. Notification
|
||||
activation URLs remain configured frontend URLs. No live deployment, optional
|
||||
security scans or merge were performed. The unrelated local notifications sender
|
||||
configuration remains uncommitted. See [API version installation](api-versions.md).
|
||||
Reference in new issue
Block a user