Contents
User bounded context — files at a glance.
Locations
| Layer | Path |
|---|---|
| Domain | internal/domain/user/ |
| Application | internal/application/user/ |
| HTTP | internal/adapters/http/handler/user_handler.go |
| GoUI | internal/adapters/goui/controller_account_users.go |
| Persistence | internal/adapters/persistence/postgres/user_repository.go |
| SQL | db/queries/ (users) |
| Wiring | bootstrap/wire_user.go, wire_http.go, wire_goui.go (UserDeps) |
Application (use cases)
| File | Typical role |
|---|---|
service.go | Service facade — transport read surface |
query.go | GetHandler, ListHandler |
command.go | Register, Activate, Delete, Restore, Change* |
access.go | List / profile / role authorization checks |
dto.go | Outbound view/DTO |
locale_policy.go | Preferred locale |
ports.go | Application external ports (if needed) |
HTTP surfaces
Registration: internal/adapters/http/server.go → /api/v1/users/...
| Method | Path | Handler method | Permission (summary) |
|---|---|---|---|
| POST | /users/ | Register | public |
| GET | /users/ | List | users:list |
| GET | /users/:id | Get | auth |
| GET | /users/me | Me | auth |
| PATCH | /users/me/* | ChangeMy* / ChangeLocale | auth |
| POST | /users/create | AdminCreate | users:list |
| POST | /users/:id/activate | Activate | users:activate |
| DELETE | /users/:id | Delete | users:delete |
| POST | /users/:id/restore | Restore | users:restore |
| PATCH | /users/:id/role | ChangeRole | users:role:change |
Panel surfaces
| Path | Screen | Controller (in file) |
|---|---|---|
/dashboard/users | users | list |
/dashboard/users/new | user-new | new |
/dashboard/users/:id | user-show | show |
/dashboard/account | account | account (same file family) |
Route table: adapters/goui/routes.go → pageRoutes().
End-to-end (list)
API: READING.md — Golden path A
Panel: READING.md — Golden path B
Related
- Auth session / JWT → map/auth.md
- RBAC permission constants →
pkg/rbac - Architecture → DOMAIN.md