-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathdatabase.rules.json
More file actions
34 lines (34 loc) · 1.13 KB
/
Copy pathdatabase.rules.json
File metadata and controls
34 lines (34 loc) · 1.13 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
{
"rules": {
"gatewayPresence": {
".read": "auth != null",
"$uid": {
".write": "auth != null && auth.uid === $uid",
".validate": "!newData.exists() || (newData.child('uid').val() === auth.uid && newData.child('email').isString())"
}
},
"presence": {
"$uid": {
".read": "auth != null && auth.uid === $uid",
"connections": {
"$connectionId": {
".write": "auth != null && auth.uid === $uid",
".validate": "!newData.exists() || (newData.hasChildren(['online', 'lastActive']) && newData.child('online').val() === true && newData.child('lastActive').isNumber())"
}
}
}
},
"spacePresence": {
"$spaceId": {
"$uid": {
"connections": {
"$connectionId": {
".write": "auth != null && auth.uid === $uid",
".validate": "!newData.exists() || (newData.hasChildren(['focus', 'visible', 'lastActive']) && newData.child('focus').isString() && newData.child('visible').isBoolean() && newData.child('lastActive').isNumber())"
}
}
}
}
}
}
}