#ifndef USER_PERMISSION_HPP_
#define USER_PERMISSION_HPP_

#include <unordered_map>
#include <string>

/**
 * @brief Enumeration of possible user permissions.
 */
enum class UserPermission
{
    #define DECL_USER_PERM(id, name) name = id,
    #include <UserPermission/UserPermissionList.hpp>
};

extern std::unordered_map<std::string, UserPermission> userPermEnumByName;
extern std::unordered_map<UserPermission, const char*> userPermNameByEnum;

#endif