@@ -3,20 +3,61 @@ require! {
33 \rethinkdb -websocket -server : {r , RP }
44}
55
6+ # XXX rethinkdb-websocket-server uses Promises
7+
68module .exports = [
9+ # everyone table
10+ r .table \everyone
11+ .order-by {index : (r .desc \date )}
12+ .changes {+include -states , +include -initial }
13+ r .table \everyone # new TODO
14+ .insert (refs [\name \title \completed \date ])
15+ .validate session -name
16+ r .table \everyone # update TODO
17+ .get (RP .ref \id )
18+ .update (refs [\completed \date \id \name \title ])
19+ .validate session -name
20+ r .table \everyone
21+ .get (RP .ref \id )
22+ .update (refs [\completed \date \id \name \title \completed -at ])
23+ .validate session -name
24+
25+ # session table
726 r .table \sessions
8- .filter { sid : RP .ref \sid }
9- .validate (({ sid }, session ) -> session .sid === sid )
27+ .get ( RP .ref \sid )
28+ .changes {+ include - states , + include - initial }
1029 r .table \sessions
1130 .changes {+include -states , +include -initial }
12- .validate (({sid }, session ) -> console .log \sid : sid , \ref : (RP .ref \sid ), \session : session ; session .sid === sid )
13- # // List moves for a game with changefeed
14- # RQ(
15- # RQ.CHANGES(
16- # RQ.FILTER(
17- # RQ.TABLE("moves"),
18- # {"gameId": x => typeof x === 'string'}
19- # )
20- # ).opt("include_states", true).opt("include_initial", true)
21- # ).opt("db", RQ.DB(cfg.dbName)),
31+ .validate session -id
32+ r .table \sessions # add TODO
33+ .get (RP .ref \id )
34+ .update (refs [\cookie \id \onPage \sid \todos ])
35+ .validate session -auth -token
36+ r .table \sessions # update TODO
37+ .get (RP .ref \id )
38+ .update (refs [\cookie \id \onPage \sid \name \todos ])
39+ .validate session -auth -token
40+ r .table \sessions # update name
41+ .get (RP .ref \id )
42+ .update (refs [\cookie \id \onPage \sid \name ])
43+ .validate session -auth -token
44+ r .table \sessions
45+ .filter {sid : RP .ref \sid }
46+ .validate session -id
2247]
48+
49+ function session -id {sid } session
50+ session .sid is sid
51+
52+ function session -auth -token {sid }, {auth -token }:rethinkdb -session
53+ console .log sid , auth -token
54+ auth -token is sid
55+
56+ function session -name {name }, {auth -token }:rethinkdb -session
57+ [session ] <- run -query !table \sessions .get-all auth -token , {index : \sid } .then
58+ session .name ||= \Anonymous is name
59+
60+ function refs names =[]
61+ prev , cur <- fold _ , {} names
62+ prev [cur ] = RP .ref cur
63+ prev
0 commit comments