All the setup necessary to get accessControl working (theoretically),

still doesn't work
This commit is contained in:
Tyler Renelle
2012-07-19 14:48:49 -04:00
parent b0a95b69d2
commit 2bb4af286e
2 changed files with 57 additions and 26 deletions
+29 -13
View File
@@ -1,5 +1,5 @@
// Generated by CoffeeScript 1.3.3
var Guid, content, derby, get, ready, view, _ref;
var Guid, content, derby, get, getHabits, ready, view, _ref;
derby = require('derby');
@@ -76,18 +76,18 @@ view.fn("silver", function(num) {
}
});
get('/:userId?', function(page, model, _arg) {
var userId;
userId = _arg.userId;
return model.subscribe("users", function(err, users) {
var debuggingUsers, guid, newUser, task, user, _i, _len, _ref1;
debuggingUsers = parseInt(userId) < 40;
if ((userId != null) && (users.get(userId) || debuggingUsers)) {
model.set('_userId', userId);
model.session.userId = userId;
get('/:uidParam?', function(page, model, _arg) {
var uidParam;
uidParam = _arg.uidParam;
return model.fetch('users', function(err, users) {
var guid, newUser, task, user, userId, _i, _len, _ref1;
if ((uidParam != null) && users.get(uidParam)) {
model.set('_userId', uidParam);
model.session.userId = uidParam;
}
userId = model.get('_userId');
if (!model.get("users." + userId)) {
user = users.get(userId);
if (user == null) {
newUser = {
stats: {
money: 0,
@@ -128,7 +128,23 @@ get('/:userId?', function(page, model, _arg) {
}
users.set(userId, newUser);
}
user = model.at("users." + userId);
model.store.accessControl = true;
model.store.readPathAccess('users.*', function(id, accept) {
return accept(id === userId);
});
model.store.writeAccess('*', 'users.*', function(id, accept) {
console.log("model.writeAccess called with id:" + id);
return accept(id === userId);
});
return getHabits(page, model, userId);
});
});
getHabits = function(page, model, userId) {
return model.subscribe("users." + userId, function(err, user) {
console.log(userId, 'userId');
console.log(err, 'err');
console.log(user.get(), '[debug] user');
model.ref('_user', user);
model.set('_items', {
armor: content.items.armor[parseInt(user.get('items.armor')) + 1],
@@ -145,7 +161,7 @@ get('/:userId?', function(page, model, _arg) {
model.refList("_rewardList", "_user.tasks", "_user.rewardIds");
return page.render();
});
});
};
ready(function(model) {
var endOfDayTally, expModifier, hpModifier, poormanscron, setupSortable, step, tour, type, updateStats, _i, _j, _len, _len1, _ref1, _ref2;