-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfirebase-security-rules.json
46 lines (46 loc) · 1.81 KB
/
firebase-security-rules.json
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
{
"rules": {
"users": {
".read":true,
"$uid": {
".write": "auth != null && auth.uid == $uid",
".validate":"newData.hasChildren(['name','email'])",
"name":{".validate":"newData.isString()"},
"email":{".validate":"newData.isString()"},
"imageUrl":{".validate":"newData.isString()"},
"lists":{
"$list_id":{
".write": "auth != null && auth.uid == $uid",
".validate":"newData.hasChildren(['name','description','topic','publish'])",
"name":{".validate":"newData.isString()"},
"topic":{".validate":"newData.isString()"},
"description":{".validate":"newData.isString()"},
"publish":{".validate":"newData.isBoolean()"},
"viewers":{".validate":"newData.isNumber()"},
"content":{
"$video_id":{
".write": "auth != null && auth.uid == $uid",
".validate":"newData.hasChildren(['name','description','contentUrl','contentType','startTime','endTime'])",
".indexOn": ["order"],
"id":{".validate":"newData.isNumber()"},
"order":{".validate":"newData.isNumber()"},
"name":{".validate":"newData.isString()"},
"description":{".validate":"newData.isString()"},
"contentUrl":{".validate":"newData.isString()"},
"startTime":{".validate":"newData.isNumber()"},
"endTime":{".validate":"newData.isNumber()"},
"contentType":{".validate":"newData.isString()"}
}
}
}
}
}
},
"listsRef":{
".read":true,
"$list_id":{
"authorId":{".validate":"newData.isString()"}
}
}
}
}