Platform settings — SMS / payment provider records and active selection.
Locations
| Layer | Path |
|---|
| Domain | internal/domain/settings/ |
| Application | internal/application/settings/ — start withservice.go |
| HTTP | internal/adapters/http/handler/settings_handler.go |
| GoUI | internal/adapters/goui/controller_settings_payments_audit.go |
| Persistence | adapters/persistence/postgres/settings_repository.go |
| Wiring | wire_user.go (settingsService); wire_http.go, wire_goui.go |
Application
| File | Role |
|---|
service.go | Facade: SMS/payment provider CRUD, active provider, in-memory cache |
dto.go | Outbound view/DTO |
In single-process deployment, Service caches settings in process memory; shared store required for horizontal scaling (not yet implemented).
HTTP surfaces
Registration: server.go → /api/v1/settings/... (permission: notifications:settings)
| Method | Path | Handler |
|---|
| GET/POST | /settings/sms | ListSMS / CreateSMS |
| GET/PATCH | /settings/sms/:provider | Get / Update SMS |
| GET/POST | /settings/payment | ListPayment / CreatePayment |
| GET/PATCH | /settings/payment/:provider | Get / Update payment |
Panel surfaces
| Path | Screen |
|---|
/dashboard/settings/sms | sms-settings |
/dashboard/settings/sms/:provider | sms-provider |
/dashboard/settings/payment | payment-settings |
/dashboard/settings/payment/:provider | payment-provider |
Related