20 #ifndef PERMISSIONS_MANAGER 
   21 #define PERMISSIONS_MANAGER 
   29 #include "functions/action.h" 
   30 #include "security/permission.h" 
   31 #include "tools/route.h" 
   32 #include "tools/output_logger.h" 
   38         class PermissionsManager;
 
   48         using PermissionToLoad = Poco::Tuple<std::string, std::string, std::string, int, std::string, bool, bool>;
 
   52         std::list<Permission>& get_permissions()
 
   54             auto& var = permissions_;
 
   57         std::map<std::string, ActionType>& get_action_type_map()
 
   59             auto& var = action_type_map_;
 
   63         static void LoadPermissions_();
 
   64         static std::_List_iterator<Permission> FindPermission_(
Tools::Route& route, std::string user, std::string action_type);
 
   65         static bool VerifyPermission_(
Tools::Route& requested_route, 
User& user, std::_List_iterator<Permission> found_permission);
 
   68         static void FillActionTypeMap_();
 
   71         static std::mutex mutex_;
 
   72         static std::list<Permission> permissions_;
 
   73         static std::map<std::string, ActionType> action_type_map_;
 
Definition: permissions_manager.h:46