rename(phase 1): CapaKraken → Nexus across code, UI, docs, CI (#61)
CI / Architecture Guardrails (push) Successful in 2m38s
CI / Assistant Split Regression (push) Successful in 3m33s
CI / Typecheck (push) Successful in 3m51s
CI / Lint (push) Successful in 5m2s
CI / E2E Tests (push) Has been cancelled
CI / Fresh-Linux Docker Deploy (push) Has been cancelled
CI / Release Images (push) Has been cancelled
CI / Build (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Architecture Guardrails (push) Successful in 2m38s
CI / Assistant Split Regression (push) Successful in 3m33s
CI / Typecheck (push) Successful in 3m51s
CI / Lint (push) Successful in 5m2s
CI / E2E Tests (push) Has been cancelled
CI / Fresh-Linux Docker Deploy (push) Has been cancelled
CI / Release Images (push) Has been cancelled
CI / Build (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
rename(phase 1): CapaKraken → Nexus across code, UI, docs, CI (#61) Co-authored-by: Hartmut Nörenberg <hn@hartmut-noerenberg.com> Co-committed-by: Hartmut Nörenberg <hn@hartmut-noerenberg.com>
This commit was merged in pull request #61.
This commit is contained in:
@@ -11,18 +11,18 @@ Projects need to be linked to clients for chargeability reporting, budget tracki
|
||||
- **WBS Master Client** — the parent organization (e.g. "BMW", "VOLKSWAGEN")
|
||||
- **WBS Client Name** — the legal entity (e.g. "BMW AG", "Dr. Ing. h.c. F. Porsche AG")
|
||||
|
||||
Currently CapaKraken has no Client model. Projects exist independently without client attribution.
|
||||
Currently Nexus has no Client model. Projects exist independently without client attribution.
|
||||
|
||||
## Data
|
||||
|
||||
35 WBS Master Clients with their legal sub-entities. Examples:
|
||||
|
||||
| WBS Master Client | WBS Client Names |
|
||||
|---|---|
|
||||
| BMW | BMW AG |
|
||||
| VOLKSWAGEN | Audi Business Innovation GmbH, Dr. Ing. h.c. F. Porsche AG, MAN Truck & Bus SE, Volkswagen AG |
|
||||
| DAIMLER | antoni garage GmbH & Co. KG, Mercedes-Benz AG |
|
||||
| EXOR-STELLANTIS | AUTOMOBILES PEUGEOT, FCA Italy S.p.A., Ferrari S.p.A, MASERATI SPA A SOCIO UNICO |
|
||||
| WBS Master Client | WBS Client Names |
|
||||
| ----------------- | --------------------------------------------------------------------------------------------- |
|
||||
| BMW | BMW AG |
|
||||
| VOLKSWAGEN | Audi Business Innovation GmbH, Dr. Ing. h.c. F. Porsche AG, MAN Truck & Bus SE, Volkswagen AG |
|
||||
| DAIMLER | antoni garage GmbH & Co. KG, Mercedes-Benz AG |
|
||||
| EXOR-STELLANTIS | AUTOMOBILES PEUGEOT, FCA Italy S.p.A., Ferrari S.p.A, MASERATI SPA A SOCIO UNICO |
|
||||
|
||||
## Schema
|
||||
|
||||
@@ -48,6 +48,7 @@ model Client {
|
||||
```
|
||||
|
||||
Design choice: self-referencing tree instead of separate `MasterClient` + `ClientEntity` tables. This supports:
|
||||
|
||||
- Two levels today (Master → Entity)
|
||||
- Potential deeper nesting in the future
|
||||
- Simple queries via `parentId IS NULL` for top-level clients
|
||||
@@ -92,14 +93,14 @@ interface ClientTree extends Client {
|
||||
|
||||
Location: `packages/api/src/router/client.ts`
|
||||
|
||||
| Procedure | Access | Description |
|
||||
|---|---|---|
|
||||
| `list` | protected | Flat list, optionally filtered by parentId |
|
||||
| `getTree` | protected | Nested tree for UI |
|
||||
| `getById` | protected | Single client with parent/children |
|
||||
| `create` | manager | Create client (top-level or child) |
|
||||
| `update` | manager | Edit name, code, re-parent |
|
||||
| `deactivate` | manager | Soft-delete |
|
||||
| Procedure | Access | Description |
|
||||
| ------------ | --------- | ------------------------------------------ |
|
||||
| `list` | protected | Flat list, optionally filtered by parentId |
|
||||
| `getTree` | protected | Nested tree for UI |
|
||||
| `getById` | protected | Single client with parent/children |
|
||||
| `create` | manager | Create client (top-level or child) |
|
||||
| `update` | manager | Edit name, code, re-parent |
|
||||
| `deactivate` | manager | Soft-delete |
|
||||
|
||||
Manager-level access (not just admin) since project managers typically need to manage client relationships.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user