Add event management features to API, including event cancellation, deletion, registration closure, and workflow balance generation. Introduce new roster management endpoints and enhance participant handling with avoided player preferences. Update database schema and service logic to support these changes.
Some checks failed
CI / backend (push) Has been cancelled
CI / frontend (push) Has been cancelled
CI / compose (push) Has been cancelled

This commit is contained in:
2026-07-19 02:10:02 +03:00
parent 59c0bdb345
commit 4b889fb8a0
30 changed files with 2766 additions and 149 deletions

View File

@@ -0,0 +1,30 @@
-- +mixmaker Up
ALTER TABLE events
ADD COLUMN IF NOT EXISTS state text NOT NULL DEFAULT 'RegistrationOpen',
ADD COLUMN IF NOT EXISTS version integer NOT NULL DEFAULT 0,
ADD COLUMN IF NOT EXISTS ruleset_id text NOT NULL DEFAULT 'standard-control-hybrid-control',
ADD COLUMN IF NOT EXISTS active_series_id text NOT NULL DEFAULT '',
ADD COLUMN IF NOT EXISTS tournament_id text NOT NULL DEFAULT '';
ALTER TABLE events
DROP CONSTRAINT IF EXISTS events_state_check,
ADD CONSTRAINT events_state_check CHECK (state IN (
'RegistrationOpen', 'RegistrationClosed', 'Balancing',
'RostersDraft', 'RostersConfirmed', 'Live', 'Completed'
));
CREATE TABLE IF NOT EXISTS event_rosters (
event_id text PRIMARY KEY REFERENCES events(id) ON DELETE CASCADE,
body jsonb NOT NULL,
version integer NOT NULL DEFAULT 0,
updated_at timestamptz NOT NULL DEFAULT now()
);
-- +mixmaker Down
DROP TABLE IF EXISTS event_rosters;
ALTER TABLE events
DROP COLUMN IF EXISTS tournament_id,
DROP COLUMN IF EXISTS active_series_id,
DROP COLUMN IF EXISTS ruleset_id,
DROP COLUMN IF EXISTS version,
DROP COLUMN IF EXISTS state;