Got accessControl working!!!
This commit is contained in:
@@ -24,7 +24,6 @@ derby.use(require 'racer-db-mongo')
|
||||
store = derby.createStore
|
||||
db: {type: 'Mongo', uri: process.env.NODE_DB_URI}
|
||||
listen: server
|
||||
# require('./setupStore').accessControl(store)
|
||||
|
||||
ONE_YEAR = 1000 * 60 * 60 * 24 * 365
|
||||
root = path.dirname path.dirname __dirname
|
||||
@@ -42,6 +41,8 @@ habitrpgMiddleware = (req, res, next) ->
|
||||
|
||||
# same for production/development
|
||||
model.set '_nodeEnv', process.env.NODE_ENV
|
||||
|
||||
require('./setupStore').accessControl(store)
|
||||
|
||||
next()
|
||||
|
||||
|
||||
@@ -4,17 +4,15 @@ module.exports.queries = (store) ->
|
||||
|
||||
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'
|
||||
accept(userId == @session.userId)
|
||||
store.readPathAccess 'users.*', (captures, next) ->
|
||||
allowed = (captures == @session.userId)
|
||||
# console.log { readPathAccess: {captures:captures, sessionUserId:@session.userId, allowed:allowed, next:next} }
|
||||
next(allowed)
|
||||
|
||||
store.writeAccess '*', 'users.*', (mutator, userId, accept) ->
|
||||
console.log accept, 'write.accept'
|
||||
accept(userId == @session.userId)
|
||||
store.writeAccess '*', 'users.*', (captures, value, next) ->
|
||||
pathArray = captures.split('.')
|
||||
allowed = (pathArray[0] == @session.userId)
|
||||
# console.log { writeAccess: {captures:captures, value:value, next:next, pathArray:pathArray} }
|
||||
next(allowed)
|
||||
|
||||
Reference in New Issue
Block a user