Comments (3)
The latest blaze has optimisations, so the verbose expressions have
simplified to false for everything (note the occurrences of '&& false' in
the verbose expressions which simplify to false).
You need to grant read/write access in the access control portion, add
access:-
location: /
read: true
write: true
at the end of your yaml file
On Fri, Oct 31, 2014 at 6:34 AM, gajuro [email protected] wrote:
Given the next yaml file:
functions:
- isWorkspaceRole(userId, workspaceId, role): root['/rels/workspaces/users/' + workspaceId][userId]['role'] == role
schema:
properties:
rels:
properties:
workspaces:
properties:
users:
$workspace_id:
constraint: isWorkspaceRole(auth.id, $workspace_id, 'administrator') ||
isWorkspaceRole(auth.id, $workspace_id, 'collaborator') && next != null
~$user_id: {}This is what gets generated with the latest three versions of blaze:
{
"rules":{
".write":"false",
".read":"false",
"rels": {
".write":"false",
".read":"false",
"workspaces": {
".write":"false",
".read":"false",
"users": {
".write":"false",
".read":"false",
"$workspace_id": {
".write":"false",
".read":"false",
"$user_id": {
".write":"false",
".validate":"false",
".read":"false"
}
}
}
}
}
}
}This is the output of blaze 0.0.14:
{
"rules":{
".write":"true&&true&&true&&true&&false&&false",
".read":"false",
"rels": {
".write":"true&&true&&true&&false&&false",
".read":"false",
"workspaces": {
".write":"true&&true&&false&&false",
".read":"false",
"users": {
".write":"true&&false&&false",
".read":"false",
"$workspace_id": {
".write":"true&&true&&false",
".read":"false",
"$user_id": {
".write":"true&&true&&true&&true&&(root.child('/rels/workspaces/users/'+$workspace_id).child(auth.id).child('role').val()=='administrator'||root.child('/rels/workspaces/users/'+$workspace_id).child(auth.id).child('role').val()=='collaborator'&&newData.parent().val()!=null)&&true&&false",
".validate":"true&&true&&true&&true&&(root.child('/rels/workspaces/users/'+$workspace_id).child(auth.id).child('role').val()=='administrator'||root.child('/rels/workspaces/users/'+$workspace_id).child(auth.id).child('role').val()=='collaborator'&&newData.parent().val()!=null)&&true&&false",
".read":"false"
}
}
}
}
}
}
}Am I doing something wrong? Thanks.
—
Reply to this email directly or view it on GitHub
#20.
from blaze_compiler.
Tom,
Thank for your quick answer on all issues I submitted.
After adding the access rules this is what I get:
{
"rules":{
".write":"(false)",
".read":"true",
"rels": {
".write":"(false)",
".read":"true",
"workspaces": {
".write":"(false)",
".read":"true",
"users": {
".write":"(false)",
".read":"true",
"$workspace_id": {
".write":"((true))",
".read":"true",
"$user_id": {
".write":"(((root.child('/rels/workspaces/users/'+$workspace_id).child(auth.id).child('role').val()=='administrator'||root.child('/rels/workspaces/users/'+$workspace_id).child(auth.id).child('role').val()=='collaborator'&&newData.parent().val()!=null)))",
".validate":"(((root.child('/rels/workspaces/users/'+$workspace_id).child(auth.id).child('role').val()=='administrator'||root.child('/rels/workspaces/users/'+$workspace_id).child(auth.id).child('role').val()=='collaborator'&&newData.parent().val()!=null)))",
".read":"true"
}
}
}
}
}
}
}
Notice the lack of constraints at the $workspace_id level. The constraints appear though if I remove the ~$user_id
from the schema all together.
from blaze_compiler.
yeah that was a big since introduction of the new wildertypes, fixed. Thanks
from blaze_compiler.
Related Issues (20)
- Better error message for missing type when using required HOT 1
- Add duplicate examples warning HOT 1
- Unable to compile with io.js HOT 7
- cannot be cast from JString to JObject HOT 4
- regex constraints not working with nonexamples HOT 2
- Are ACL entries modified by their position HOT 1
- Unexpected implementation level of access rules. HOT 3
- Function output replaces auth.uid if a $uid wildchild is in location HOT 4
- Boolean must be compared to true or false HOT 3
- Error: Cannot find module '../src/cli' HOT 8
- Doesn't work on Windows HOT 1
- Blaze Ember Cli Addon
- After updating to version 0.0.35, blaze compile never finishes HOT 4
- Support for Firebase rule string methods (toUpperCase, toLowerCase, etc) HOT 3
- Access control location with two $wildchilds returns error HOT 4
- Regular Expression Issue for Email validation \ is getting repeated twice HOT 2
- npm install fails HOT 1
- Functions calls doesn't evaluate the params before passing it HOT 5
- Nested functions to not properly wrap conditions HOT 1
- State of blaze compiler going forward? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from blaze_compiler.