-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdatabase.rules.json
More file actions
56 lines (47 loc) · 1.62 KB
/
Copy pathdatabase.rules.json
File metadata and controls
56 lines (47 loc) · 1.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
{
"rules": {
".read": false,
".write": false,
"session": {
".read": true,
"teams": {
"$team": {
".validate": "$team.matches(/^[123467]$/)",
"members": {
"$uid": {
".write": "!newData.exists() || !root.child('session/banned').child($uid).exists()",
".validate": "!newData.exists() || (newData.hasChildren(['name','at']) && newData.child('name').isString() && newData.child('name').val().length <= 40)"
}
},
"work": {
".write": true,
"$case": { ".validate": "$case.matches(/^4B-[56]$/)" }
},
"ready": {
".write": true,
"$case": { ".validate": "$case.matches(/^4B-[56]$/)" }
},
"focus": {
".write": true,
"$uid": {
".validate": "!newData.exists() || (newData.hasChildren(['field']) && newData.child('field').isString() && newData.child('field').val().length <= 40)"
}
},
"$other": { ".validate": false }
}
},
"banned": {
".write": true,
"$uid": {
".validate": "!newData.exists() || newData.hasChild('at')"
}
},
"meta": {
"step": { ".write": true, ".validate": "newData.isNumber() && newData.val() >= 1 && newData.val() <= 6" },
"problem": { ".write": true, ".validate": "newData.isString() && newData.val().matches(/^4B-[56]$/)" },
"resetAt": { ".write": true, ".validate": "newData.isNumber()" },
"$other": { ".write": false, ".validate": false }
}
}
}
}