From fc1e0f3e23ee6050bdcf7ed82dd793736e78d15e Mon Sep 17 00:00:00 2001 From: Andrea Crotti Date: Fri, 29 Nov 2019 10:53:03 +0000 Subject: [PATCH 1/6] add new game type --- src/cljc/byf/shared_config.cljc | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/cljc/byf/shared_config.cljc b/src/cljc/byf/shared_config.cljc index 2c95a76..846bf72 100644 --- a/src/cljc/byf/shared_config.cljc +++ b/src/cljc/byf/shared_config.cljc @@ -2,7 +2,10 @@ (def timestamp-format "YYYY-MM-DDZHH:mm:SS") -(def games #{"fifa" "street-fighter" "table-tennis"}) +(def games #{"fifa" + "street-fighter" + "table-tennis" + "pool"}) ;;TODO: add a spec for the game configuration (def games-config @@ -25,6 +28,13 @@ :points "games"} :form {:points (range 6)} :logo "table_tennis.png" + :draw? false} + + :pool + {:terminology {:using "player" + :points "games"} + :form {:points (range 3)} + :logo "pool.jpg" :draw? false}}) (defn term From 4c9ac39bffa422c04d9e65ff198f9e4eb6ae19f5 Mon Sep 17 00:00:00 2001 From: Andrea Crotti Date: Fri, 29 Nov 2019 10:56:56 +0000 Subject: [PATCH 2/6] add an extra option --- src/cljc/byf/shared_config.cljc | 46 ++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/src/cljc/byf/shared_config.cljc b/src/cljc/byf/shared_config.cljc index 846bf72..2674638 100644 --- a/src/cljc/byf/shared_config.cljc +++ b/src/cljc/byf/shared_config.cljc @@ -10,32 +10,36 @@ ;;TODO: add a spec for the game configuration (def games-config {:fifa - {:terminology {:using "team" - :points "goals"} - :form {:points (range 10)} - :logo "fifa.png" - :draw? true} + {:terminology {:using "team" + :points "goals"} + :team-required true + :form {:points (range 10)} + :logo "fifa.png" + :draw? true} :street-fighter - {:terminology {:using "character" - :points "rounds"} - :form {:points (range 3)} - :logo "street_fighter.gif" - :draw? false} - + {:terminology {:using "character" + :points "rounds"} + :form {:points (range 3)} + :team-required true + :logo "street_fighter.gif" + :draw? false} + :table-tennis - {:terminology {:using "player" - :points "games"} - :form {:points (range 6)} - :logo "table_tennis.png" - :draw? false} + {:terminology {:using "player" + :points "games"} + :team-required false + :form {:points (range 6)} + :logo "table_tennis.png" + :draw? false} :pool - {:terminology {:using "player" - :points "games"} - :form {:points (range 3)} - :logo "pool.jpg" - :draw? false}}) + {:terminology {:using "player" + :points "games"} + :team-required false + :form {:points (range 3)} + :logo "pool.jpg" + :draw? false}}) (defn term [game k] From f2999e51c67f95b77cb3cba2a73ba8df8bc88781 Mon Sep 17 00:00:00 2001 From: Andrea Crotti Date: Fri, 29 Nov 2019 11:31:52 +0000 Subject: [PATCH 3/6] more general description --- src/clj/byf/pages/header.clj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/clj/byf/pages/header.clj b/src/clj/byf/pages/header.clj index 643109d..9272488 100644 --- a/src/clj/byf/pages/header.clj +++ b/src/clj/byf/pages/header.clj @@ -22,7 +22,7 @@ (defn gen-header [title] [:head [:meta {:charset "utf-8" - :description "FIFA championship little helper"}] + :description "Internal leagues platform"}] [:script (format "window['cfg']=%s" (global-client-side-config))] From 7087949199a2b3f3528216b5e53b81e3351712e7 Mon Sep 17 00:00:00 2001 From: Andrea Crotti Date: Wed, 11 Dec 2019 11:19:54 +0000 Subject: [PATCH 4/6] move game_type to an actual table --- .../migrations/20191211111544-game-type-table.down.sql | 0 resources/migrations/20191211111544-game-type-table.up.sql | 7 +++++++ 2 files changed, 7 insertions(+) create mode 100644 resources/migrations/20191211111544-game-type-table.down.sql create mode 100644 resources/migrations/20191211111544-game-type-table.up.sql diff --git a/resources/migrations/20191211111544-game-type-table.down.sql b/resources/migrations/20191211111544-game-type-table.down.sql new file mode 100644 index 0000000..e69de29 diff --git a/resources/migrations/20191211111544-game-type-table.up.sql b/resources/migrations/20191211111544-game-type-table.up.sql new file mode 100644 index 0000000..c125f53 --- /dev/null +++ b/resources/migrations/20191211111544-game-type-table.up.sql @@ -0,0 +1,7 @@ +CREATE TABLE game_kind ( + name VARCHAR(16) PRIMARY KEY, + draw_allowed BOOLEAN NOT NULL, + team_required BOOLEAN NOT NULL, + min_points INTEGER DEFAULT 0, + max_points INTEGER DEFAULT 10 +); From 2980bcbff23f0bab777b2cd2f1913424a13bf7d6 Mon Sep 17 00:00:00 2001 From: Andrea Crotti Date: Wed, 11 Dec 2019 11:30:04 +0000 Subject: [PATCH 5/6] type migration --- .../data_migrations/data_type_migration.clj | 25 +++++++++++++++++++ .../20191211111544-game-type-table.up.sql | 7 +++++- 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 resources/data_migrations/data_type_migration.clj diff --git a/resources/data_migrations/data_type_migration.clj b/resources/data_migrations/data_type_migration.clj new file mode 100644 index 0000000..9822c3b --- /dev/null +++ b/resources/data_migrations/data_type_migration.clj @@ -0,0 +1,25 @@ +(ns data-migrations.data-type-migration + (:require [byf.db :as db] + [honeysql.core :as sql] + [honeysql.helpers :as h] + [clojure.java.jdbc :as jdbc] + [byf.generators :as gen])) + +;; first create all the games supported and then get all the leagues +;; and set the game_kind field accordingly + +(def kinds + [{:name "fifa" + :draw-allowed true + :min-points 0 + :max-points 10} + + {:name "pool" + :draw-allowed false + :min-points 0 + :max-points 2} + + {:name "table-tennis" + :draw-allowed false + :min-points 0 + :max-points 4}]) diff --git a/resources/migrations/20191211111544-game-type-table.up.sql b/resources/migrations/20191211111544-game-type-table.up.sql index c125f53..36c862f 100644 --- a/resources/migrations/20191211111544-game-type-table.up.sql +++ b/resources/migrations/20191211111544-game-type-table.up.sql @@ -1,7 +1,12 @@ CREATE TABLE game_kind ( - name VARCHAR(16) PRIMARY KEY, + id UUID PRIMARY KEY, + name VARCHAR(16) NOT NULL, + variant VARCHAR(16), draw_allowed BOOLEAN NOT NULL, team_required BOOLEAN NOT NULL, min_points INTEGER DEFAULT 0, max_points INTEGER DEFAULT 10 ); + +ALTER TABLE league +ADD COLUMN game_kind VARCHAR(16) REFERENCES game_kind(name); From 1b33945093772fe34ffa5df79e7583da9c989a8a Mon Sep 17 00:00:00 2001 From: Andrea Crotti Date: Thu, 12 Dec 2019 10:04:16 +0000 Subject: [PATCH 6/6] just use a json field --- .../migrations/20191211111544-game-type-table.up.sql | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/resources/migrations/20191211111544-game-type-table.up.sql b/resources/migrations/20191211111544-game-type-table.up.sql index 36c862f..d5c4b46 100644 --- a/resources/migrations/20191211111544-game-type-table.up.sql +++ b/resources/migrations/20191211111544-game-type-table.up.sql @@ -1,12 +1,8 @@ CREATE TABLE game_kind ( id UUID PRIMARY KEY, name VARCHAR(16) NOT NULL, - variant VARCHAR(16), - draw_allowed BOOLEAN NOT NULL, - team_required BOOLEAN NOT NULL, - min_points INTEGER DEFAULT 0, - max_points INTEGER DEFAULT 10 + config JSONB NOT NULL ); ALTER TABLE league -ADD COLUMN game_kind VARCHAR(16) REFERENCES game_kind(name); +ADD COLUMN game_kind UUID REFERENCES game_kind(id);