-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdatabase.rules.json
More file actions
38 lines (38 loc) · 1.16 KB
/
database.rules.json
File metadata and controls
38 lines (38 loc) · 1.16 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
{
"rules": {
"sessions": {
"$sessionId": {
".read": true,
".write": "auth != null && (data.child('hostId').val() === auth.uid || newData.child('hostId').val() === auth.uid)",
"players": {
"$playerId": {
".write": "newData.exists()",
".validate": "newData.hasChildren(['id', 'nickname'])"
}
},
"responses": {
"$questionId": {
"$playerId": {
".write": "!data.exists() && newData.exists()",
".validate": "newData.hasChildren(['optionId', 'timestamp'])"
}
}
}
}
},
"raffles": {
".indexOn": ["hostId"],
".read": "auth != null && query.orderByChild === 'hostId' && query.equalTo === auth.uid",
"$raffleId": {
".read": true,
".write": "auth != null && (data.child('hostId').val() === auth.uid || newData.child('hostId').val() === auth.uid)",
"participants": {
"$participantId": {
".write": "!data.exists() && newData.exists()",
".validate": "newData.hasChildren(['id', 'name', 'joinedAt'])"
}
}
}
}
}
}