docs: integrate approved Next Go architecture
This commit is contained in:
1 parent
4485899654
commit
064e155b2f
11 files changed
+287
-5
No files matched your search
@@ -16,6 +16,22 @@
|
||||
- Routes and services depend on store interfaces; stores depend on the shared database adapter; the adapter does not depend on domain stores.
|
||||
- Worker depends on the internal Web HTTP API, not the database module.
|
||||
|
||||
## Approved Target Module Map
|
||||
|
||||
The target below is a design contract, not current source layout:
|
||||
|
||||
| Target Module | Interface | Implementation notes |
|
||||
|---|---|---|
|
||||
| Next.js frontend | Pages, SSR, and same-origin browser calls | Forwards Cookie/request context to Go; no direct persistence or domain ownership. |
|
||||
| Go Identity | Login/logout/session/password/authorization | Preserves the current signed chunked Cookie and per-request account/organization/sessionVersion validation. |
|
||||
| Go Administration | Organizations, accounts, settings visibility, logs, administrative usage | Enforces current super-admin and organization-admin rules. |
|
||||
| Go Assets | Register/upload/list/get/delete/download | Uses object-storage Adapter; preserves owner-scoped 404 and storage metadata. |
|
||||
| Go Jobs | Submit/query/cancel/retry/claim/execute/terminal transitions/Webhooks | Uses the PostgreSQL claim function and hides provider/retry/refund state. |
|
||||
| Go Billing | Quote/wallet/ledger/price/charge/refund/settlement | Uses the PostgreSQL wallet function and integer-fen arithmetic. |
|
||||
| Go Usage | Platform/public attribution and usage records | Retains organization/account context and job uniqueness. |
|
||||
|
||||
Real internal seams are PostgreSQL transport, object storage, generation providers, and deterministic test dependencies. Avoid one shallow repository Interface per table.
|
||||
|
||||
## Risky Or Sensitive Areas
|
||||
|
||||
- `database/migrations/` and the two concurrency-sensitive PostgreSQL functions.
|
||||
|
||||
Reference in new issue
Block a user