summaryrefslogtreecommitdiff
path: root/AclEnum.cs
blob: fba509c22a92bd187ebafeb42c3e1086001dbcdd (plain)
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
namespace HyperBooru;

[Flags]
public enum ObjectPermissions : ulong {
    [AclPermission]                     Read        = 0x01,
    [AclPermission]                     Write       = 0x02,
    [AclPermission]                     Delete      = 0x04,
    [AclPermission("View tags")]        GetTags     = 0x08,
    [AclPermission("Set tags")]         SetTags     = 0x10,
    [AclPermission("View permissions")] GetAcl      = 0x20,
    [AclPermission("Set permissions")]  SetAcl      = 0x40,
    [AclPermission("Full control")]     FullControl = 0x7F
}

[Flags]
public enum MediaPermissions : ulong {
    [AclPermission("View media")]       Read        = 0x01,
    [AclPermission("Edit info")]        Write       = 0x02,
    [AclPermission]                     Delete      = 0x04,
    [AclPermission("View tags")]        GetTags     = 0x08,
    [AclPermission("Set tags")]         SetTags     = 0x10,
    [AclPermission("View permissions")] GetAcl      = 0x20,
    [AclPermission("Set permissions")]  SetAcl      = 0x40,
    [AclPermission("Download media")]   Save        = 0x80,
    [AclPermission("Full read")]        FullRead    = 0xA9,
    [AclPermission("Full control")]     FullControl = 0xFF
}

[Flags]
public enum TagPermissions : ulong {
    [AclPermission("View info")]          Read            = 0x01,
    [AclPermission("Edit info")]          Write           = 0x02,
    [AclPermission]                       Delete          = 0x04,
    [AclPermission("View implicit tags")] GetImplicitTags = 0x08,
    [AclPermission("Set implicit tags")]  SetImplicitTags = 0x10,
    [AclPermission("View permissions")]   GetAcl          = 0x20,
    [AclPermission("Set permissions")]    SetAcl          = 0x40,
    [AclPermission("Full control")]       FullControl     = 0x7F
}