diff --git a/lib/backend/permissions.dart b/lib/backend/permissions.dart new file mode 100644 index 0000000..def3370 --- /dev/null +++ b/lib/backend/permissions.dart @@ -0,0 +1,41 @@ +// implementation of permission types +// according to the server permissions.ts +// https://codeberg.org/outbag/server/src/branch/dev/src/server/permissions.ts + +// same as javascript 0b prefix +// pronounced o-b +int oB(String binary) { + return int.parse(binary, radix: 2); +} + +class ServerPermission {} + +class RoomPermission { + static int get addArticles { + return oB("0000001"); + } + + static int get removeArticles { + return oB("0000010"); + } + + static int get listGroupsItems { + return oB("0000100"); + } + + static int get changeMeta { + return oB("0001000"); + } + + static int get ota { + return oB("0010000"); + } + + static int get changeAdmin { + return oB("0100000"); + } + + static int get manageMembers { + return oB("1000000"); + } +}