The account/ layer: one Account controller for account.me, account.export and account.delete #427

Closed
opened 2026-10-15 14:45:39 +00:00 by root · 6 comments
root commented 2026-10-15 14:45:39 +00:00 (Migrated from gitlab.core-project.space)

Parent

#421

What to build

Every account.* procedure answers from one Account controller, in a composition layer the lint allows.

  • A new account/ folder, right of games in the layer order.
  • It holds a static module and an Account controller implementing account.me, account.export and account.delete, injecting the Auth and Games services.
  • The Games and Auth controllers lose these procedures.
  • A service is added only if a procedure composes more than one call per feature.
  • The Account's lifecycle and persistence stay in auth. guest.claim and guest.get stay where they are.

Signed-in and signed-out Players see the same responses as before.

Seam: S1, the wire; S3, the lint.

Acceptance criteria

  • The lint's layer order includes account between games and devtools. Its module and controller files may import Nest, and the lint test covers both directions.
  • account.me, account.export and account.delete are implemented only in the Account controller.
  • Their integration tests, signed in and signed out, pass unchanged in what they assert.
## Parent #421 ## What to build Every `account.*` procedure answers from one Account controller, in a composition layer the lint allows. - A new `account/` folder, right of games in the layer order. - It holds a static module and an Account controller implementing `account.me`, `account.export` and `account.delete`, injecting the Auth and Games services. - The Games and Auth controllers lose these procedures. - A service is added only if a procedure composes more than one call per feature. - The Account's lifecycle and persistence stay in auth. `guest.claim` and `guest.get` stay where they are. Signed-in and signed-out Players see the same responses as before. Seam: S1, the wire; S3, the lint. ## Acceptance criteria - [ ] The lint's layer order includes `account` between games and devtools. Its module and controller files may import Nest, and the lint test covers both directions. - [ ] `account.me`, `account.export` and `account.delete` are implemented only in the Account controller. - [ ] Their integration tests, signed in and signed out, pass unchanged in what they assert.
root commented 2026-10-15 14:46:09 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #421

marked this issue as related to #421
root commented 2026-10-15 14:46:25 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #422

marked this issue as related to #422
root commented 2026-10-15 14:46:26 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #425

marked this issue as related to #425
root commented 2026-10-15 16:04:31 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit bff1c83b94

mentioned in commit bff1c83b948b91531e6bb3c135b17080abfbbb5b
root commented 2026-10-15 16:04:47 +00:00 (Migrated from gitlab.core-project.space)

mentioned in merge request !536

mentioned in merge request !536
root commented 2026-10-15 16:07:37 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit 9f47a988e0

mentioned in commit 9f47a988e0fe5ac479de8bbd47ea35e6e2127d7d
root (Migrated from gitlab.core-project.space) closed this issue 2026-10-15 19:01:50 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
amaurycoudr/chess-project#427
No description provided.