From e8db174d3e464a5764a9f4bfd82172261bd50519 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 21 Feb 2026 10:29:21 +0900 Subject: refactor(api): separate business logic into game, tournament, session packages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Extract business logic from api/handler.go into dedicated service packages: - session: context helpers (resolves admin → api import dependency) - game: game state, code submission, ranking, watch logic - tournament: bracket construction and seed ordering - api/convert.go: domain → API type conversion functions api/handler.go is now a thin adapter that delegates to services and maps domain errors to HTTP status codes. Co-Authored-By: Claude Opus 4.6 --- backend/game/errors.go | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 backend/game/errors.go (limited to 'backend/game/errors.go') diff --git a/backend/game/errors.go b/backend/game/errors.go new file mode 100644 index 0000000..9f7505a --- /dev/null +++ b/backend/game/errors.go @@ -0,0 +1,9 @@ +package game + +import "errors" + +var ( + ErrNotFound = errors.New("not found") + ErrGameNotRunning = errors.New("game is not running") + ErrForbidden = errors.New("forbidden") +) -- cgit v1.3.1