1 #ifndef CscIntelligencesDbService_H
2 #define CscIntelligencesDbService_H
20 unsigned long long serialNumber;
23 int creationTimestampMillis;
25 string lastModificationAuthorUid;
28 CscIntelligenceData(
const string &
id,
unsigned long long serialNumber,
const string &name,
const string &description,
const unsigned long long creationTimestampMillis,
const string &authorUid,
const string &lastModificationAuthorUid);
30 const string &getId()
const;
31 unsigned long long getSerialNumber()
const;
32 const string &getName()
const;
33 const string &getDescription()
const;
34 unsigned long long getCreationTimestampMillis()
const;
35 const string &getAuthorUid()
const;
36 const string &getLastModificationAuthorUid()
const;
37 void setName(
const string &newName);
49 CscKnowledgeItemData(
const string &
id,
const string &name,
const string &commandString,
int indexInScenario);
52 const string &getId()
const;
53 const string &getName()
const;
54 const string &getCommandString()
const;
55 int getIndexInScenario()
const;
57 void setIndexInScenario(
int indexInScenario);
58 void setName(
const string &newName);
59 void setCommandString(
const string &newCommandString);
67 unsigned long long serialNumber;
72 int creationTimestampMillis;
73 vector<CscKnowledgeItemData *> scenario;
75 string lastModificationAuthorUid;
78 CscKnowledgeData(
const string &
id,
unsigned long long serialNumber,
const string &name,
const string &description,
const string &uiTargetPanel,
const int &uiIndexInPanel,
const unsigned long long creationTimestampMillis,
const vector<CscKnowledgeItemData *> &scenario,
const string &authorUid,
const string &lastModificationAuthorUid);
82 const string &getId()
const;
83 unsigned long long getSerialNumber()
const;
84 const string &getName()
const;
85 const string &getDescription()
const;
86 const string &getUiTargetPanel()
const;
87 int getUiIndexInPanel()
const;
89 void setSerialNumber(
unsigned long long newSerialNumber);
90 void setName(
const string &newName);
91 void setDescription(
const string &newDescription);
92 void setUiTargetPanel(
const string &uiTargetPanel);
93 void setUiIndexInPanel(
int index);
95 unsigned long long getCreationTimestampMillis()
const;
97 const vector<CscKnowledgeItemData *> &getScenario()
const;
98 vector<string> getScenarioCommands()
const;
102 const string &getAuthorUid()
const;
103 const string &getLastModificationAuthorUid()
const;
106 void deleteScenarioItem(
unsigned index);
112 inline static const string LEFT_PANEL =
"leftPanel";
113 inline static const string RIGHT_PANEL =
"rightPanel";
115 string toString()
const;
123 unsigned long long creationDateTimeStamp;
124 vector<unsigned char> image;
125 vector<string> entityModelIds;
129 CscIntelligencePublishData(
const string &
id,
const string &name,
const string &description,
const unsigned long long creationDateTimeStamp,
const vector<unsigned char> &image,
const vector<string> &entityModelIds,
const string &authorUid);
131 const string &getId()
const;
132 const string &getName()
const;
133 unsigned long long getCreationTimeStamp()
const;
134 const vector<unsigned char> &getImage()
const;
135 const vector<string> &getEntityModelIds()
const;
136 const string &getAuthorUid()
const;
146 string environmentInteractionCommandString;
150 CscKnowledgeItemPublishData(
const string &
id,
const string &name,
const string &environmentInteractionCommandString,
int indexInScenario);
152 const string &getId()
const;
153 const string &getName()
const;
154 const string &getEnvironmentInteractionCommandString()
const;
155 int getIndexInScenario()
const;
162 string intelligenceId;
165 string uiTargetPanel;
167 vector<CscKnowledgeItemPublishData *> scenarios;
168 unsigned long long creationDateTimeStamp;
169 vector<unsigned char> image;
173 CscKnowledgePublishData(
const string &intelligenceId,
const string &
id,
const string &name,
const string &uiTargetPanel,
int uiIndexInPanel,
const vector<CscKnowledgeItemPublishData *> &scenarios,
const unsigned long long creationDateTimeStamp,
const vector<unsigned char> &image,
const string &authorUid);
176 const string &getIntelligenceId()
const;
177 const string &getId()
const;
178 const string &getName()
const;
179 const string &getUiTargetPanel()
const;
180 int getUiIndexInPanel()
const;
181 const vector<CscKnowledgeItemPublishData *> &getScenarios()
const;
182 unsigned long long getCreationDateTimeStamp()
const;
183 const vector<unsigned char> &getImage()
const;
184 const string &getAuthorUid()
const;
193 vector<unsigned char> knowledgeCodeInZipFile;
198 const string &getCommandId()
const;
199 const string &getAuthorUid()
const;
200 const vector<unsigned char> &getKnowledgeCodeInZipFile()
const;
214 vector<CscIntelligenceData *> getIntelligences(
const optional<string> &entityModelId);
219 fs::path getIntelligenceLogoPath(
const string &intelligenceId, optional<fs::path> defaultIfNotFound = {});
226 vector<CscKnowledgeData *> getKnowledgesByIntelligenceId(
const string &intelligenceId);
231 fs::path getKnowledgeLogoPath(
const string &knowledgeId, optional<fs::path> defaultIfNotFound = {});
237 fs::path getUserCustomCommandCodePath(
const string &commandId);
242 vector<string> getUserCustomCommandIds();
248 void deleteKnowledge(
const string &knowledgeId);
251 vector<string> getCompatibleEntityModelIds(
const string &intelligenceId);
253 string intelligenceOrKnowledgeNameToTechnicalName(
string name);
254 CscIntelligenceData *findIntelligenceById(
const vector<CscIntelligenceData *> &intelligences,
string id);
261 vector<string> refreshIntelligencesLogos();
268 vector<string> refreshKnowledgesLogos(
const vector<string> &knowledgesIds);
270 void setCacheEnabled(
bool enabled);
273 unique_ptr<CscLogger>
logger;
284 bool cacheEnabled =
false;
291 bool isCacheEnabledAndRefreshTimeNotExceeded(
const string &refreshTimePropertyName);
292 void clearCacheForIntelligence(
const string &intelligenceUid);
293 void clearCacheForKnowledge(
const string &intelligenceUid,
const string &knowledgeId);