Files
galaxy-game/gamemaster/internal/service/adminbanish/errors.go
T
2026-05-03 07:59:03 +02:00

43 lines
1.7 KiB
Go

package adminbanish
// Stable error codes returned in `Result.ErrorCode`. The values match
// the vocabulary frozen by `gamemaster/README.md §Error Model` and
// `gamemaster/api/internal-openapi.yaml`. Service-layer callers (Stage
// 19 handlers) import these names rather than redeclare them; renaming
// any of them is a contract change.
const (
// ErrorCodeInvalidRequest reports that the request envelope failed
// structural validation (empty GameID or RaceName).
ErrorCodeInvalidRequest = "invalid_request"
// ErrorCodeRuntimeNotFound reports that no runtime_records row
// exists for the requested game id.
ErrorCodeRuntimeNotFound = "runtime_not_found"
// ErrorCodeForbidden reports that the requested race is not in the
// game's roster (`player_mappings.GetByRace` returned not-found).
ErrorCodeForbidden = "forbidden"
// ErrorCodeEngineUnreachable reports that the engine
// `/admin/race/banish` call returned a 5xx, timed out, or could
// not be dispatched.
ErrorCodeEngineUnreachable = "engine_unreachable"
// ErrorCodeEngineValidationError reports that the engine
// `/admin/race/banish` call returned a 4xx response (e.g. invalid
// race name).
ErrorCodeEngineValidationError = "engine_validation_error"
// ErrorCodeEngineProtocolViolation reports that the engine
// response did not match the expected protocol shape.
ErrorCodeEngineProtocolViolation = "engine_protocol_violation"
// ErrorCodeServiceUnavailable reports that a steady-state
// dependency (PostgreSQL) was unreachable for this call.
ErrorCodeServiceUnavailable = "service_unavailable"
// ErrorCodeInternal reports an unexpected error not classified by
// the other codes.
ErrorCodeInternal = "internal_error"
)