Skip to content

Commit 79596c0

Browse files
committed
made web-functions return json objects
1 parent 9f6c86c commit 79596c0

File tree

4 files changed

+31
-16
lines changed

4 files changed

+31
-16
lines changed

auth.arc

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
; creates a new user object that contains the username. Passwords
1717
; and other related information should be added later.
1818
(def add-user (name)
19-
(if (find-user name) (prn "User exists...")
19+
(if (find-user name) -1
2020
(let u (inst 'user 'name name)
2121
(= (users* u!id) u)
2222
(= (objects* u!id) u)
@@ -35,8 +35,10 @@
3535
; NOTE: Probably not needed.
3636
(def register (name pass)
3737
(let id (add-user name)
38-
(set-pw id pass)
39-
id))
38+
(if (is id -1)
39+
nil
40+
(do (set-pw id pass)
41+
(obj "name" users*.id!name "id" id)))))
4042

4143
; login
4244
; Function that will return a session id upon successfully
@@ -47,7 +49,7 @@
4749
(let u (find-user name)
4850
(if u
4951
(if (is u!pw pass)
50-
(setSessionID u!id)
52+
(do (setSessionID u!id) (obj "id" u!id "sessionID" u!sessionID))
5153
nil)
5254
nil)))
5355

srv.arc

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,12 @@
22
; with GET and POST calls.
33

44
(def web-login (req)
5-
(let sid (login (arg req "username") (arg req "password"))
6-
(pr "{\"success\":")
7-
(if sid
8-
(do
9-
(pr "true")
10-
(pr ",\"sessionID\":" sid))
11-
(pr "false"))
12-
(pr "}")))
5+
(let info (login (arg req "username") (arg req "password"))
6+
(pr (tostring (write-json info)))))
137

148
(def web-register (req)
15-
(register (arg req "username") (arg req "password"))
16-
(pr "main"))
9+
(let info (register (arg req "username") (arg req "password"))
10+
(pr (tostring (write-json info)))))
1711

1812
(defop api-admin-getUsers req
1913
(pr "{\"list\":\"" (listUsers) "\"}"))

static/metagame.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,23 @@ $(document).ready( function () {
3636
}
3737
});
3838
});
39+
40+
$('input[name=register_button]').bind("click", function(event) {
41+
event.preventDefault();
42+
var url = $('input[name=fnid]').val();
43+
44+
$.ajax({
45+
type: 'post',
46+
url: "x?fnid="+url,
47+
data: {
48+
username: $('input[name=register_username]').val(),
49+
password: $('input[name=register_password]').val()
50+
},
51+
success: function (data) {
52+
console.log(data);
53+
}
54+
});
55+
});
3956

4057
});
4158

web.arc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@
3030
(add-js "metagame.js"))
3131
(tag (body)
3232
(tag (div)
33-
(register-prompt)))))
33+
(register-prompt))
34+
(tag (div)
35+
(link "Go back to main page" "main")))))
3436

3537

3638
; Various HTML printing functions
@@ -51,7 +53,7 @@
5153
(link "Register" "register")))
5254

5355
(def register-prompt ()
54-
(arform web-register
56+
(aform web-register
5557
(myinput "text" "register_username")
5658
(myinput "password" "register_password")
5759
(but "Register" "register_button")))

0 commit comments

Comments
 (0)