-
Notifications
You must be signed in to change notification settings - Fork 4
/
instant.perms.ts
55 lines (55 loc) · 1.24 KB
/
instant.perms.ts
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
export default {
teams: {
bind: [
"isCreator",
"auth.id == data.creatorId",
"isMember",
"auth.id in data.ref('memberships.userId')",
],
allow: {
view: "isMember",
create: "isCreator",
delete: "isCreator",
update: "isCreator",
},
},
invites: {
bind: [
"isMember",
"auth.id in data.ref('teams.memberships.userId')",
"isInvitee",
"auth.email == data.userEmail",
],
allow: {
view: "isInvitee",
create: "isMember",
delete: "isMember",
update: "false",
},
},
drawings: {
bind: ["isMember", "auth.id in data.ref('teams.memberships.userId')"],
allow: {
view: "isMember",
create: "isMember",
delete: "isMember",
update: "isMember",
},
},
memberships: {
bind: [
"isMember",
"auth.id in data.ref('teams.memberships.userId')",
"isInviteeOrCreator",
"size(data.ref('teams.invites.id')) == 0 ? auth.id in data.ref('teams.creatorId') : auth.email in data.ref('teams.invites.userEmail')",
"isUser",
"auth.id == data.userId",
],
allow: {
view: "isMember",
create: "isInviteeOrCreator",
delete: "isUser",
update: "false",
},
},
};