-
Notifications
You must be signed in to change notification settings - Fork 199
Expand file tree
/
Copy pathRole.cs.twig
More file actions
92 lines (86 loc) · 2.59 KB
/
Role.cs.twig
File metadata and controls
92 lines (86 loc) · 2.59 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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
namespace Appwrite
{
/// <summary>
/// Helper class to generate role strings for Permission.
/// </summary>
public static class Role
{
/// <summary>
/// Grants access to anyone.
/// <para>
/// This includes authenticated and unauthenticated users.
/// </para>
/// </summary>
public static string Any()
{
return "any";
}
/// <summary>
/// Grants access to a specific user by user ID.
/// <para>
/// You can optionally pass verified or unverified for
/// <c>status</c> to target specific types of users.
/// </para>
/// </summary>
public static string User(string id, string status = "")
{
return status == string.Empty
? $"user:{id}"
: $"user:{id}/{status}";
}
/// <summary>
/// Grants access to any authenticated or anonymous user.
/// <para>
/// You can optionally pass verified or unverified for
/// <c>status</c> to target specific types of users.
/// </para>
/// </summary>
public static string Users(string status = "")
{
return status == string.Empty
? "users" :
$"users/{status}";
}
/// <summary>
/// Grants access to any guest user without a session.
/// <para>
/// Authenticated users don't have access to this role.
/// </para>
/// </summary>
public static string Guests()
{
return "guests";
}
/// <summary>
/// Grants access to a team by team ID.
/// <para>
/// You can optionally pass a role for <c>role</c> to target
/// team members with the specified role.
/// </para>
/// </summary>
public static string Team(string id, string role = "")
{
return role == string.Empty
? $"team:{id}"
: $"team:{id}/{role}";
}
/// <summary>
/// Grants access to a specific member of a team.
/// <para>
/// When the member is removed from the team, they will
/// no longer have access.
/// </para>
/// </summary>
public static string Member(string id)
{
return $"member:{id}";
}
/// <summary>
/// Grants access to a user with the specified label.
/// </summary>
public static string Label(string name)
{
return $"label:{name}";
}
}
}