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.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..d5c4b46 --- /dev/null +++ b/resources/migrations/20191211111544-game-type-table.up.sql @@ -0,0 +1,8 @@ +CREATE TABLE game_kind ( + id UUID PRIMARY KEY, + name VARCHAR(16) NOT NULL, + config JSONB NOT NULL +); + +ALTER TABLE league +ADD COLUMN game_kind UUID REFERENCES game_kind(id); 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))] diff --git a/src/cljc/byf/shared_config.cljc b/src/cljc/byf/shared_config.cljc index 2c95a76..2674638 100644 --- a/src/cljc/byf/shared_config.cljc +++ b/src/cljc/byf/shared_config.cljc @@ -2,30 +2,44 @@ (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 {: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"} + :team-required false + :form {:points (range 3)} + :logo "pool.jpg" + :draw? false}}) (defn term [game k]