22 #include "core/auth/Door_odb.h"    23 #include "core/auth/User_odb.h"    38     return std::make_unique<AccessOverview>(ctx);
    45     odb::transaction t(db->begin());
    56     std::vector<Auth::UserPtr> users;
    57     for (
auto itr_odb(users_odb.begin()); itr_odb != users_odb.end(); ++itr_odb)
    58         users.push_back(itr_odb.load());
    60     for (
const auto &door : doors)
    62         std::set<Auth::UserId> unique_user_ids;
    63         json door_info = {{
"door_id", door.
id()}, {
"user_ids", json::array()}};
    64         for (
const auto &lazy_mapping : door.lazy_mapping())
    66             auto mapping = lazy_mapping.load();
    67             for (
const auto &user_ptr : users)
    71                 if (unique_user_ids.count(user_ptr->id()))
    75                 if (mapping->has_user_indirect(user_ptr))
    77                     unique_user_ids.insert(user_ptr->id());
    81         for (
const auto &
id : unique_user_ids)
    82             door_info[
"user_ids"].push_back(
id);
    83         rep.push_back(door_info);
    89 std::vector<ActionActionParam>
    92     std::vector<ActionActionParam> perm_;
 static MethodHandlerUPtr create(RequestContext)
 
The base class for API method handler implementation. 
 
std::vector< ActionActionParam > required_permission(const json &req) const override
Return a list of "Action" / "ActionParam" that must pass before the request is processed. 
 
This is the header file for a generated source file, GitSHA1.cpp. 
 
std::unique_ptr< MethodHandler > MethodHandlerUPtr
 
virtual json process_impl(const json &req) override
The API method implementation. 
 
All modules that provides features to Leosac shall be in this namespace. 
 
UserId id() const noexcept
 
Holds valuable pointer to provide context to a request. 
 
Overview of users/doors access permission. 
 
std::shared_ptr< odb::database > DBPtr
 
AccessOverview(RequestContext ctx)