| #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 |