49 lines
1.9 KiB
Go
49 lines
1.9 KiB
Go
package adminstop
|
|
|
|
// 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, unknown stop reason).
|
|
ErrorCodeInvalidRequest = "invalid_request"
|
|
|
|
// ErrorCodeRuntimeNotFound reports that no runtime_records row
|
|
// exists for the requested game id.
|
|
ErrorCodeRuntimeNotFound = "runtime_not_found"
|
|
|
|
// ErrorCodeConflict reports that the runtime is in a status that
|
|
// cannot transition to `stopped` (currently only `starting`), or
|
|
// that a CAS guard mid-flow lost the race to a concurrent mutation.
|
|
ErrorCodeConflict = "conflict"
|
|
|
|
// ErrorCodeServiceUnavailable reports that a steady-state dependency
|
|
// (PostgreSQL, Runtime Manager) was unreachable for this call.
|
|
ErrorCodeServiceUnavailable = "service_unavailable"
|
|
|
|
// ErrorCodeInternal reports an unexpected error not classified by
|
|
// the other codes.
|
|
ErrorCodeInternal = "internal_error"
|
|
)
|
|
|
|
// Allowed values of Input.Reason mirror the README §Stop wording
|
|
// «reason ∈ {admin_request, finished, timeout}». Callers that pass an
|
|
// empty string get the documented default `admin_request`.
|
|
const (
|
|
// ReasonAdminRequest is the operator-driven stop reason and the
|
|
// default when Input.Reason is empty.
|
|
ReasonAdminRequest = "admin_request"
|
|
|
|
// ReasonFinished is reserved for callers that wrap a
|
|
// finish-detected stop (currently unused; documented for
|
|
// completeness).
|
|
ReasonFinished = "finished"
|
|
|
|
// ReasonTimeout is reserved for callers that wrap an automated
|
|
// timeout-driven stop (currently unused; documented for
|
|
// completeness).
|
|
ReasonTimeout = "timeout"
|
|
)
|