blob: e0b8eca70c069f7e6224120c289f1cd38c21393f [file]
#include "override.h"
#include "absl/strings/string_view.h"
#include "authorizer_enums.h"
#include "redfish_privileges.h"
namespace milotic::authz {
bool Override::IsPeerAuthorized(
absl::string_view uri, ecclesia::Operation operation,
const RedfishPrivileges& peer_privileges) const {
if (!IsApplicable(uri, operation)) {
return false;
}
for (const RedfishPrivileges& privilegeSet : operation_map_.at(operation)) {
if (peer_privileges.IsSupersetOf(privilegeSet)) {
return true;
}
}
return false;
}
} // namespace milotic::authz