20 #ifndef PERMISSIONS_MANAGER
21 #define PERMISSIONS_MANAGER
29 #include "query/database_manager.h"
30 #include "functions/action.h"
31 #include "security/permission.h"
32 #include "tools/route.h"
33 #include "tools/output_logger.h"
39 class PermissionsManager;
49 using PermissionToLoad = Poco::Tuple<std::string, std::string, std::string, int, std::string, bool, bool>;
53 static std::list<Permission>& get_permissions()
55 auto& var = permissions_;
58 static std::map<std::string, ActionType>& get_action_type_map()
60 auto& var = action_type_map_;
65 auto& var = credentials_;
69 static void LoadPermissions_();
70 static std::_List_iterator<Permission> FindPermission_(
Tools::Route& route,
int id_user, std::string action_type);
71 static bool VerifyPermission_(
Tools::Route& requested_route,
User& user, std::_List_iterator<Permission> found_permission);
74 static void FillActionTypeMap_();
77 static std::mutex mutex_;
78 static std::list<Permission> permissions_;
79 static std::map<std::string, ActionType> action_type_map_;
Definition: permissions_manager.h:47
Definition: database_manager.h:51