From e2c5096311772e138bc052f048f8fd9580c059db Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Thu, 2 Aug 2012 14:36:55 -0400 Subject: [PATCH] removing accesscontrol for now, but at least only subscribing to the necessary data --- lib/app/index.js | 12 +++--------- lib/server/setupStore.js | 1 - src/app/index.coffee | 14 ++++---------- src/server/setupStore.coffee | 9 ++++++--- 4 files changed, 13 insertions(+), 23 deletions(-) diff --git a/lib/app/index.js b/lib/app/index.js index aebb99a196..32f35a6222 100644 --- a/lib/app/index.js +++ b/lib/app/index.js @@ -1,5 +1,5 @@ // Generated by CoffeeScript 1.3.3 -var content, derby, get, getHabits, helpers, ready, schema, scoring, view, _ref; +var content, derby, get, helpers, ready, schema, scoring, view, _ref; derby = require('derby'); @@ -23,7 +23,7 @@ get('/:uidParam?', function(page, model, _arg) { var uidParam, userId; uidParam = _arg.uidParam; userId = model.get('_userId'); - return model.fetch("users." + userId, function(err, user) { + return model.subscribe("users." + userId, function(err, user) { var guid, newUser, task, _i, _len, _ref1; if (!user.get('id')) { newUser = schema.userSchema; @@ -48,12 +48,6 @@ get('/:uidParam?', function(page, model, _arg) { } model.set("users." + userId, newUser); } - return getHabits(page, model, userId); - }); -}); - -getHabits = function(page, model, userId) { - return model.subscribe("users." + userId, function(err, user) { model.ref('_user', user); model.set('_items', { armor: content.items.armor[parseInt(user.get('items.armor')) + 1], @@ -71,7 +65,7 @@ getHabits = function(page, model, userId) { model.refList("_rewardList", "_user.tasks", "_user.rewardIds"); return page.render(); }); -}; +}); ready(function(model) { var poormanscron, setupSortable, step, tour, type, _i, _j, _len, _len1, _ref1, _ref2; diff --git a/lib/server/setupStore.js b/lib/server/setupStore.js index b637f7ce96..1f194c828d 100644 --- a/lib/server/setupStore.js +++ b/lib/server/setupStore.js @@ -7,7 +7,6 @@ module.exports.queries = function(store) { }; module.exports.accessControl = function(store) { - store.accessControl = true; store.readPathAccess('users.*', function(userId, accept) { console.log(accept, 'read.accept'); return accept(userId === this.session.userId); diff --git a/src/app/index.coffee b/src/app/index.coffee index 93328a3516..37440d675f 100644 --- a/src/app/index.coffee +++ b/src/app/index.coffee @@ -18,9 +18,9 @@ get '/:uidParam?', (page, model, {uidParam}) -> # The session middleware will assign a _userId automatically userId = model.get '_userId' - model.fetch "users.#{userId}", (err, user) -> + model.subscribe "users.#{userId}", (err, user) -> - # Else, select a new userId and initialize user + # Create new user if none exists unless user.get('id') newUser = schema.userSchema for task in content.defaultTasks @@ -32,14 +32,8 @@ get '/:uidParam?', (page, model, {uidParam}) -> when 'todo' then newUser.todoIds.push guid when 'reward' then newUser.rewardIds.push guid model.set "users.#{userId}", newUser - - getHabits(page, model, userId) - -getHabits = (page, model, userId) -> - - model.subscribe "users.#{userId}", (err, user) -> - # console.log {userId:userId, err:err}, "app/index.coffee: model.subscribe" - # => {userId: 26c48325-2fea-4e2e-a60f-a5fa28d7b410, err: Unauthorized: No access control declared for path users.26c48325-2fea-4e2e-a60f-a5fa28d7b410 } + # /end create new user + model.ref '_user', user # Store diff --git a/src/server/setupStore.coffee b/src/server/setupStore.coffee index 1d94c43451..3e01e2ceb0 100644 --- a/src/server/setupStore.coffee +++ b/src/server/setupStore.coffee @@ -1,12 +1,15 @@ -# expose query motifs module.exports.queries = (store) -> store.query.expose 'users', 'withId', (id) -> @byId(id) -# setup accessControl module.exports.accessControl = (store) -> - store.accessControl = true + # store.accessControl = true + + # FIXME + # getting Property 'callback' of object 0,b800598e-0cc5-41e7-931f-431b8888e07a.2,set,users.be06f5d3-5ffd-4a9a-828f-87c5f43d3562,[object Object] is not a function + # at Object.module.exports.server._commit.res.fail (node_modules/derby/node_modules/racer/lib/txns/txns.Model.js:319:22) + # at node_modules/derby/node_modules/racer/lib/accessControl/accessControl.Store.js:221:34 store.readPathAccess 'users.*', (userId, accept) -> console.log accept, 'read.accept'