From 95e0033d2a58a8fec2b9f1fd9ee23d2cf9349854 Mon Sep 17 00:00:00 2001 From: Ralph Wessel Date: Thu, 19 Sep 2024 09:06:29 +0100 Subject: [PATCH] Updated ModelCard to the latest schema --- .../Connector/Record/Model/ModelCard.cpp | 13 ++++++++++++- SpeckleConnector/Connector/Record/Model/ModelCard.h | 2 ++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/SpeckleConnector/Connector/Record/Model/ModelCard.cpp b/SpeckleConnector/Connector/Record/Model/ModelCard.cpp index ec29cd7..8cd90ac 100644 --- a/SpeckleConnector/Connector/Record/Model/ModelCard.cpp +++ b/SpeckleConnector/Connector/Record/Model/ModelCard.cpp @@ -19,6 +19,7 @@ namespace { accountID, serverURLID, settingsID, + expiredID, }; ///Serialisation field IDs @@ -28,6 +29,7 @@ namespace { Identity{"accountId"}, Identity{"serverURL"}, Identity{"settings"}, + Identity{"expired"}, }; } @@ -48,9 +50,16 @@ bool ModelCard::fillInventory(Inventory& inventory) const { { fieldID[accountID], accountID, element }, { fieldID[serverURLID], serverURLID, element }, { fieldID[settingsID], settingsID, element }, + { fieldID[expiredID], expiredID, element }, }, }.withType(&typeid(ModelCard))); - return base::fillInventory(inventory); + //This class has a unique serialisation tag for the record ID - override the base class ID + inventory.merge(Inventory{ + { + { Identity{"modelCardId"}, active::database::record::FieldIndex::idIndex, element }, + }, + }.withType(&typeid(active::database::Record<>))); + return true; } //ModelCard::fillInventory @@ -76,6 +85,8 @@ Cargo::Unique ModelCard::getCargo(const Inventory::Item& item) const { return std::make_unique>(m_serverURL); case settingsID: return std::make_unique>>(m_settings); + case expiredID: + return std::make_unique>(m_isExpired); default: return nullptr; //Requested an unknown index } diff --git a/SpeckleConnector/Connector/Record/Model/ModelCard.h b/SpeckleConnector/Connector/Record/Model/ModelCard.h index 6db4ec5..a192a8b 100644 --- a/SpeckleConnector/Connector/Record/Model/ModelCard.h +++ b/SpeckleConnector/Connector/Record/Model/ModelCard.h @@ -108,6 +108,8 @@ namespace connector::record { speckle::utility::String m_serverURL; ///Settings for the model rendering, e.g. level of detail (LoD) SettingList m_settings; + ///True if the card has expired + bool m_isExpired = false; }; }