diff options
Diffstat (limited to 'src/app')
-rw-r--r-- | src/app/api.clj | 6 | ||||
-rw-r--r-- | src/app/handler.clj | 19 | ||||
-rw-r--r-- | src/app/rpc.cljs | 17 |
3 files changed, 42 insertions, 0 deletions
diff --git a/src/app/api.clj b/src/app/api.clj new file mode 100644 index 0000000..e83f187 --- /dev/null +++ b/src/app/api.clj @@ -0,0 +1,6 @@ +(ns app.api + (:require [castra.core :refer [defrpc]] + [simpledb.core :as db])) + +(defrpc get-scoreboard [] + (db/get :scoreboard)) diff --git a/src/app/handler.clj b/src/app/handler.clj new file mode 100644 index 0000000..a5878b5 --- /dev/null +++ b/src/app/handler.clj @@ -0,0 +1,19 @@ +(ns app.handler + (:require [castra.middleware :as castra] + [compojure.core :as c] + [compojure.route :as route] + [ring.middleware.defaults :as d] + [ring.util.response :as response] + [simpledb.core :as db])) + +(c/defroutes app-routes + (c/GET "/" req (response/content-type (response/resource-response "index.html") "text/html")) + (route/resources "/" {:root ""})) + +(def app + (-> app-routes + (castra/wrap-castra 'app.api) + (castra/wrap-castra-session "a 16-byte secret") + (d/wrap-defaults d/api-defaults))) + +(db/init) diff --git a/src/app/rpc.cljs b/src/app/rpc.cljs new file mode 100644 index 0000000..464809c --- /dev/null +++ b/src/app/rpc.cljs @@ -0,0 +1,17 @@ +(ns app.rpc + (:require-macros + [javelin.core :refer [defc defc=]]) + (:require + [javelin.core] + [castra.core :refer [mkremote]])) + +(defc scoreboard nil) +(defc error nil) +(defc loading []) + +(def get-scoreboard + (mkremote 'app.api/get-scoreboard scoreboard error loading)) + +(defn init [] + (get-scoreboard) + (js/setInterval get-scoreboard 1000)) |