Contents

User bounded context — files at a glance.

Locations

LayerPath
Domaininternal/domain/user/
Applicationinternal/application/user/
HTTPinternal/adapters/http/handler/user_handler.go
GoUIinternal/adapters/goui/controller_account_users.go
Persistenceinternal/adapters/persistence/postgres/user_repository.go
SQLdb/queries/ (users)
Wiringbootstrap/wire_user.go, wire_http.go, wire_goui.go (UserDeps)

Application (use cases)

FileTypical role
service.goService facade — transport read surface
query.goGetHandler, ListHandler
command.goRegister, Activate, Delete, Restore, Change*
access.goList / profile / role authorization checks
dto.goOutbound view/DTO
locale_policy.goPreferred locale
ports.goApplication external ports (if needed)

HTTP surfaces

Registration: internal/adapters/http/server.go/api/v1/users/...

MethodPathHandler methodPermission (summary)
POST/users/Registerpublic
GET/users/Listusers:list
GET/users/:idGetauth
GET/users/meMeauth
PATCH/users/me/*ChangeMy* / ChangeLocaleauth
POST/users/createAdminCreateusers:list
POST/users/:id/activateActivateusers:activate
DELETE/users/:idDeleteusers:delete
POST/users/:id/restoreRestoreusers:restore
PATCH/users/:id/roleChangeRoleusers:role:change

Panel surfaces

PathScreenController (in file)
/dashboard/usersuserslist
/dashboard/users/newuser-newnew
/dashboard/users/:iduser-showshow
/dashboard/accountaccountaccount (same file family)

Route table: adapters/goui/routes.gopageRoutes().

End-to-end (list)

API: READING.md — Golden path A

Panel: READING.md — Golden path B

Related