blob: bdfccfa44ddc1bde70c81d0784187a7f93e3de70 [file] [log] [blame] [edit]
// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/webid/federated_identity_data_model.h"
#include <utility>
#include "base/check.h"
namespace webid {
FederatedIdentityDataModel::DataKey::DataKey(
url::Origin relying_party_requester,
url::Origin relying_party_embedder,
url::Origin identity_provider,
std::string account_id)
: relying_party_requester_(std::move(relying_party_requester)),
relying_party_embedder_(std::move(relying_party_embedder)),
identity_provider_(std::move(identity_provider)),
account_id_(std::move(account_id)) {
DCHECK(!relying_party_requester_.opaque());
DCHECK(!relying_party_embedder_.opaque());
DCHECK(!identity_provider_.opaque());
DCHECK(!account_id_.empty());
}
FederatedIdentityDataModel::DataKey::DataKey(const DataKey&) = default;
FederatedIdentityDataModel::DataKey::DataKey(DataKey&&) = default;
FederatedIdentityDataModel::DataKey&
FederatedIdentityDataModel::DataKey::operator=(const DataKey&) = default;
FederatedIdentityDataModel::DataKey&
FederatedIdentityDataModel::DataKey::operator=(DataKey&&) = default;
FederatedIdentityDataModel::DataKey::~DataKey() = default;
bool FederatedIdentityDataModel::DataKey::operator<(
const FederatedIdentityDataModel::DataKey& other) const {
return std::tie(relying_party_requester_, relying_party_embedder_,
identity_provider_, account_id_) <
std::tie(other.relying_party_requester_, other.relying_party_embedder_,
other.identity_provider_, other.account_id_);
}
bool FederatedIdentityDataModel::DataKey::operator==(
const FederatedIdentityDataModel::DataKey& other) const {
return std::tie(relying_party_requester_, relying_party_embedder_,
identity_provider_, account_id_) ==
std::tie(other.relying_party_requester_, other.relying_party_embedder_,
other.identity_provider_, other.account_id_);
}
} // namespace webid