diff options
| author | Dan Engelbrecht <[email protected]> | 2023-02-07 02:35:07 -0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-02-07 02:35:07 -0800 |
| commit | 737d7b7e6aaf80f1fee7e49c45e8fc9ecde1eabb (patch) | |
| tree | 690645f6e465980a058092f4ddac156a8edafc2c | |
| parent | changelog (diff) | |
| download | zen-737d7b7e6aaf80f1fee7e49c45e8fc9ecde1eabb.tar.xz zen-737d7b7e6aaf80f1fee7e49c45e8fc9ecde1eabb.zip | |
Add support for "packagedata" mapping in oplog entries (#224)
| -rw-r--r-- | CHANGELOG.md | 1 | ||||
| -rw-r--r-- | zenserver/projectstore/projectstore.cpp | 16 |
2 files changed, 14 insertions, 3 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c5b8ec74..8088d56c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,5 @@ ## +- Feature: Add support for "packagedata" mapping in oplog entries - Feature: Zen command line tool `project-create` to create a project store project - `--project` Project name (id) - `--rootdir` Absolute path to root directory (optional) diff --git a/zenserver/projectstore/projectstore.cpp b/zenserver/projectstore/projectstore.cpp index 188865edb..a07698d50 100644 --- a/zenserver/projectstore/projectstore.cpp +++ b/zenserver/projectstore/projectstore.cpp @@ -630,9 +630,10 @@ ProjectStore::Oplog::GetMapping(CbObject Core) OplogEntryMapping Result; // Update chunk id maps - CbObjectView PackageObj = Core["package"sv].AsObjectView(); - CbArrayView BulkDataArray = Core["bulkdata"sv].AsArrayView(); - Result.Chunks.reserve(PackageObj ? 1 : 0 + BulkDataArray.Num()); + CbObjectView PackageObj = Core["package"sv].AsObjectView(); + CbArrayView BulkDataArray = Core["bulkdata"sv].AsArrayView(); + CbArrayView PackageDataArray = Core["packagedata"sv].AsArrayView(); + Result.Chunks.reserve(PackageObj ? 1 : 0 + BulkDataArray.Num() + PackageDataArray.Num()); if (PackageObj) { @@ -642,6 +643,15 @@ ProjectStore::Oplog::GetMapping(CbObject Core) ZEN_DEBUG("package data {} -> {}", Id, Hash); } + for (CbFieldView& Entry : PackageDataArray) + { + CbObjectView PackageDataObj = Entry.AsObjectView(); + Oid Id = PackageDataObj["id"sv].AsObjectId(); + IoHash Hash = PackageDataObj["data"sv].AsBinaryAttachment(); + Result.Chunks.emplace_back(OplogEntryMapping::Mapping{Id, Hash}); + ZEN_DEBUG("package {} -> {}", Id, Hash); + } + for (CbFieldView& Entry : BulkDataArray) { CbObjectView BulkObj = Entry.AsObjectView(); |