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" )