summaryrefslogtreecommitdiff
path: root/src/database/records.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-10-24 12:50:03 +1100
committerjacqueline <me@jacqueline.id.au>2023-10-24 12:50:03 +1100
commit4f8c127da926bc1e1724e7686a42d37c1da0f563 (patch)
tree3008768b88bd6fb07c2bc51905ab0bb95de65c1e /src/database/records.cpp
parent5b5b792467537bc8afefea787f6e5c8c52d973fa (diff)
downloadtangara-fw-4f8c127da926bc1e1724e7686a42d37c1da0f563.tar.gz
Use an mutable struct + const instead of an immutable class
Diffstat (limited to 'src/database/records.cpp')
-rw-r--r--src/database/records.cpp27
1 files changed, 13 insertions, 14 deletions
diff --git a/src/database/records.cpp b/src/database/records.cpp
index 9d4dbd78..0619cd93 100644
--- a/src/database/records.cpp
+++ b/src/database/records.cpp
@@ -63,12 +63,12 @@ auto EncodeDataKey(const TrackId& id) -> std::string {
auto EncodeDataValue(const TrackData& track) -> std::string {
cppbor::Array val{
- cppbor::Uint{track.id()},
- cppbor::Tstr{track.filepath()},
- cppbor::Uint{track.tags_hash()},
- cppbor::Bool{track.is_tombstoned()},
- cppbor::Uint{track.modified_at().first},
- cppbor::Uint{track.modified_at().second},
+ cppbor::Uint{track.id},
+ cppbor::Tstr{track.filepath},
+ cppbor::Uint{track.tags_hash},
+ cppbor::Bool{track.is_tombstoned},
+ cppbor::Uint{track.modified_at.first},
+ cppbor::Uint{track.modified_at.second},
};
return val.toString();
}
@@ -88,16 +88,15 @@ auto ParseDataValue(const leveldb::Slice& slice) -> std::shared_ptr<TrackData> {
vals->get(5)->type() != cppbor::UINT) {
return {};
}
- TrackId id = vals->get(0)->asUint()->unsignedValue();
- auto path = vals->get(1)->asViewTstr()->view();
- uint64_t hash = vals->get(2)->asUint()->unsignedValue();
- bool tombstoned = vals->get(3)->asBool()->value();
- auto modified_at = std::make_pair<uint16_t, uint16_t>(
+ auto res = std::make_shared<TrackData>();
+ res->id = vals->get(0)->asUint()->unsignedValue();
+ res->filepath = vals->get(1)->asViewTstr()->view();
+ res->tags_hash = vals->get(2)->asUint()->unsignedValue();
+ res->is_tombstoned = vals->get(3)->asBool()->value();
+ res->modified_at = std::make_pair<uint16_t, uint16_t>(
vals->get(4)->asUint()->unsignedValue(),
vals->get(5)->asUint()->unsignedValue());
- return std::make_shared<TrackData>(id,
- std::pmr::string{path.data(), path.size()},
- hash, tombstoned, modified_at);
+ return res;
}
/* 'H/ 0xBEEF' */