feat: use unique_ptr in skill repository

This commit is contained in:
k0t9i
2023-01-23 22:34:20 +04:00
parent c01d1c3549
commit 3ccdf1d9e4
9 changed files with 30 additions and 44 deletions

View File

@@ -22,20 +22,20 @@ public:
auto newObject = callback(item);
if (m_Objects.contains(newObject->GetId()))
{
if (!m_Objects[kvp.first]->IsEntityEqual(newObject.get())) {
m_Objects[kvp.first]->UpdateEntity(newObject.get());
if (!m_Objects[kvp.first]->GetEntity()->IsEqual(newObject.get())) {
m_Objects[kvp.first]->GetEntity()->Update(newObject.get());
m_Objects[kvp.first]->UpdateState(Enums::EntityStateEnum::updated);
}
else
{
m_Objects[kvp.first]->UpdateState(Enums::EntityStateEnum::none);
}
//delete newObject;
}
else
{
const auto objectId = newObject->GetId();
m_Objects.emplace(
newObject->GetId(),
objectId,
new DTO::EntityState{ std::move(newObject), Enums::EntityStateEnum::created }
);
}
@@ -43,9 +43,9 @@ public:
for (auto& kvp : m_Objects)
{
if (!items.contains(kvp.second->GetId()))
if (!items.contains(kvp.second->GetEntity()->GetId()))
{
m_Objects[kvp.first]->SaveEntityState();
m_Objects[kvp.first]->GetEntity()->SaveState();
kvp.second->UpdateState(Enums::EntityStateEnum::deleted);
}
}