From 5a8727e34b938b70623ca865273fd81c7604b461 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Tue, 13 Mar 2018 06:26:06 +0100 Subject: Expose include dir --- include/Permission.hpp | 46 ---------------------------------------------- 1 file changed, 46 deletions(-) delete mode 100644 include/Permission.hpp (limited to 'include/Permission.hpp') diff --git a/include/Permission.hpp b/include/Permission.hpp deleted file mode 100644 index 1ae2642..0000000 --- a/include/Permission.hpp +++ /dev/null @@ -1,46 +0,0 @@ -#pragma once - -#include "types.hpp" -#include -#include - -namespace odhtdb -{ - class PermissionDeniedException : public std::runtime_error - { - public: - PermissionDeniedException(const std::string &errMsg) : std::runtime_error(errMsg) {} - }; - - enum class PermissionType : u32 - { - ADD_DATA = (1 << 0), - ADD_USER_SAME_LEVEL = (1 << 1), - ADD_USER_LOWER_LEVEL = (1 << 2), - ADD_GROUP = (1 << 3), - REMOVE_GROUP = (1 << 4) - }; - - const PermissionType ALL_PERMISSION_TYPES = (PermissionType)0xFFFFFFFF; - - const u8 PERMISSION_LEVEL_ADMIN = 0; - const u8 PERMISSION_LEVEL_MODERATOR = 1; - const u8 PERMISSION_LEVEL_REGULAR_USER = 2; - - class Permission - { - public: - // @permissionLevel is hierarchical access right. A group can only modify a group that has higher @permissionLevel value - Permission(u8 permissionLevel, std::initializer_list permissions); - - u8 getPermissionLevel() const { return permissionLevel; } - u32 getPermissionFlags() const { return permissionFlags; } - bool getFlag(PermissionType permissionType) const; - private: - u8 permissionLevel; - u32 permissionFlags; - }; - - static const Permission ADMIN_PERMISSION(PERMISSION_LEVEL_ADMIN, { ALL_PERMISSION_TYPES }); - static const Permission REGULAR_USER_PERMISSION(PERMISSION_LEVEL_REGULAR_USER, { PermissionType::ADD_DATA }); -} -- cgit v1.2.3