Skip to content

Commit 4e1b285

Browse files
committed
Change API, add login method.
1 parent 473c43d commit 4e1b285

2 files changed

Lines changed: 20 additions & 7 deletions

File tree

src/hyperspace/server/database/user.clj

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@
33
(:use [azql.core :only [select from insert! values]]
44
[hyperspace.server.database.datasource :only [db-spec]]))
55

6-
(defn create [login password]
6+
(defn create [{login :login password :password}]
77
(insert! db-spec :users
88
(values [{:login login
9-
:password (password/encrypt password)}])))
9+
:password (password/encrypt password)}])))
10+
11+
(defn login [{login :login password :password}]
12+
;; TODO: log in and save session
13+
nil)

src/hyperspace/swagger/server.clj

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
[schema.core :as s]
55
[hyperspace.server.database.user :as user]))
66

7-
(s/defschema Total {:total Long})
7+
(s/defschema User {:login String
8+
:password String})
89

910
(defapi app
1011
(swagger-ui)
@@ -15,8 +16,16 @@
1516
(swaggered "user"
1617
:description "user manipulation"
1718
(POST* "/register" []
18-
:return String
19-
:query-params [login :- String
20-
password :- String]
19+
:body [user User]
2120
:summary "register user"
22-
(ok (user/create login password)))))
21+
(do (user/create user)
22+
(ok nil)))
23+
24+
(POST* "/login" []
25+
:return String
26+
:body [user User]
27+
:summary "log in and get session token"
28+
(let [session (user/login user)]
29+
(if session
30+
(ok session)
31+
(forbidden "invalid username or password"))))))

0 commit comments

Comments
 (0)