blob: 5962257ab2d6db127b8a4a6dd38cf61b4854dd13 [file] [log] [blame]
// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "peridot/bin/cloud_provider_firestore/firestore/testing/encoding.h"
#include "peridot/bin/cloud_provider_firestore/firestore/encoding.h"
namespace cloud_provider_firestore {
namespace {
// Must match |kTimestampKey| in
// peridot/bin/cloud_provider_firestore/firestore/encoding.cc.
constexpr char kTimestampKey[] = "timestamp";
} // namespace
bool EncodeCommitBatchWithTimestamp(
const cloud_provider::CommitPack& commits, std::string timestamp,
google::firestore::v1beta1::Document* document) {
google::firestore::v1beta1::Document result;
if (!EncodeCommitBatch(commits, &result)) {
return false;
}
google::protobuf::Timestamp protobuf_timestamp;
if (!protobuf_timestamp.ParseFromString(timestamp)) {
return false;
}
google::firestore::v1beta1::Value& timestamp_value =
(*result.mutable_fields())[kTimestampKey];
*(timestamp_value.mutable_timestamp_value()) = std::move(protobuf_timestamp);
document->Swap(&result);
return true;
}
} // namespace cloud_provider_firestore