Skip to content

Commit b7e66b0

Browse files
committed
Add azql, slightly improve migrations.
1 parent 4f3b4e3 commit b7e66b0

4 files changed

Lines changed: 27 additions & 12 deletions

File tree

project.clj

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
(defproject hyperspace "1.0.0-SNAPSHOT"
22
:description "Simple 2D game written in Clojure."
3-
:dependencies [[clj-liquibase "0.5.2"]
3+
:dependencies [[azql "0.1.0"]
4+
[clj-liquibase "0.5.2"]
45
[com.h2database/h2 "1.3.173"]
6+
[crypto-password "0.1.3"]
57
[log4j/log4j "1.2.17"]
68
[metosin/ring-swagger "0.13.0"]
79
[metosin/compojure-api "0.16.0"]

src/hyperspace/server/database/migrations.clj

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,11 @@
22
(:require [clj-liquibase.change :as ch])
33
(:use [clj-liquibase.core :only (defchangelog)]))
44

5-
(def add-users-table
6-
(ch/create-table :users
7-
[[:id :int :null false :pk true :autoinc true]
8-
[:name [:varchar 40] :null false]
9-
[:password [:varchar 40] :null false]]))
5+
(def add-users-table ["id=1"
6+
"author=ForNeVeR"
7+
[(ch/create-table :users
8+
[[:id :int :null false :pk true :autoinc true]
9+
[:login [:varchar 40] :null false] ;; TODO: enforce login uniqueness
10+
[:password [:varchar 16] :null false]])]])
1011

11-
(def changeset-1 ["id=1" "author=ForNeVeR" [add-users-table]])
12-
13-
(defchangelog changelog "hyperspace-server" [changeset-1])
12+
(defchangelog changelog "hyperspace-server" [add-users-table])
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
(ns hyperspace.server.database.user
2+
(:require [crypto.password.scrypt :as password])
3+
(:use [hyperspace.server.database.datasource :only [datasource]]
4+
[azql.core :only [insert! values]]))
5+
6+
(defn create [login password]
7+
'())
8+
9+
;;
10+
;;
11+
;; (insert! datasource :user
12+
;; (values [{:login login
13+
;; :password (password/encrypt password)}]))

src/hyperspace/swagger/server.clj

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
(ns hyperspace.swagger.server
22
(:require [compojure.api.sweet :refer :all]
33
[ring.util.http-response :refer :all]
4-
[schema.core :as s])
5-
(:use [hyperspace.server.database.datasource :only [datasource]]))
4+
[schema.core :as s]
5+
[hyperspace.server.database.user :as user]))
66

77
(s/defschema Total {:total Long})
88

@@ -19,4 +19,5 @@
1919
:query-params [login :- String
2020
password :- String]
2121
:summary "register user"
22-
(ok "Not implemented"))))
22+
(user/create login password)
23+
(ok))))

0 commit comments

Comments
 (0)