Skip to content
Snippets Groups Projects

Výsledkové listiny - backend modul & pravidla MO

Merged Jiří Setnička requested to merge jirka/score into devel
3 files
+ 37
1
Compare changes
  • Side-by-side
  • Inline

Files

+ 9
1
@@ -83,6 +83,11 @@ CREATE TYPE round_state AS ENUM (
@@ -83,6 +83,11 @@ CREATE TYPE round_state AS ENUM (
-- jen se odevzdaná řešení zobrazují jako opožděná.
-- jen se odevzdaná řešení zobrazují jako opožděná.
);
);
 
CREATE TYPE score_mode AS ENUM (
 
'basic', -- základní mód výsledkovky se sdílenými místy
 
'mo' -- jednoznačné pořadí podle pravidel MO
 
);
 
CREATE TABLE rounds (
CREATE TABLE rounds (
round_id serial PRIMARY KEY,
round_id serial PRIMARY KEY,
year int NOT NULL, -- ročník MO
year int NOT NULL, -- ročník MO
@@ -96,6 +101,9 @@ CREATE TABLE rounds (
@@ -96,6 +101,9 @@ CREATE TABLE rounds (
ct_submit_end timestamp with time zone DEFAULT NULL, -- do kdy účastníci mohou regulérně odevzdávat
ct_submit_end timestamp with time zone DEFAULT NULL, -- do kdy účastníci mohou regulérně odevzdávat
pr_tasks_start timestamp with time zone DEFAULT NULL, -- od kdy dozor vidí zadání
pr_tasks_start timestamp with time zone DEFAULT NULL, -- od kdy dozor vidí zadání
pr_submit_end timestamp with time zone DEFAULT NULL, -- do kdy dozor může regulérně odevzdávat
pr_submit_end timestamp with time zone DEFAULT NULL, -- do kdy dozor může regulérně odevzdávat
 
score_mode score_mode NOT NULL DEFAULT 'basic', -- mód výsledkovky
 
score_winner_limit int DEFAULT NULL, -- bodový limit na označení za vítěze
 
score_successful_limit int DEFAULT NULL, -- bodový limit na označení za úspěšného řešitele
UNIQUE (year, category, seq)
UNIQUE (year, category, seq)
);
);
@@ -238,7 +246,7 @@ CREATE TABLE log (
@@ -238,7 +246,7 @@ CREATE TABLE log (
log_entry_id serial PRIMARY KEY,
log_entry_id serial PRIMARY KEY,
changed_by int REFERENCES users(user_id), -- kdo změnu provedl
changed_by int REFERENCES users(user_id), -- kdo změnu provedl
changed_at timestamp with time zone NOT NULL DEFAULT CURRENT_TIMESTAMP, -- a kdy
changed_at timestamp with time zone NOT NULL DEFAULT CURRENT_TIMESTAMP, -- a kdy
type log_type NOT NULL,
type log_type NOT NULL,
id int NOT NULL, -- jakého záznamu se změna týká
id int NOT NULL, -- jakého záznamu se změna týká
details jsonb NOT NULL -- detaily (závislé na typu)
details jsonb NOT NULL -- detaily (závislé na typu)
);
);
Loading