30 #include "core/model/bson/repo_bson_project_settings.h"
31 #include "core/model/bson/repo_bson_role.h"
32 #include "core/model/bson/repo_bson_role_settings.h"
33 #include "core/model/bson/repo_bson_user.h"
34 #include "core/model/bson/repo_node_transformation.h"
35 #include "core/model/bson/repo_node_reference.h"
36 #include "core/model/bson/repo_node_map.h"
37 #include "core/model/collection/repo_scene.h"
38 #include "lib/datastructure/repo_structs.h"
39 #include "lib/repo_listener_abstract.h"
40 #include "manipulator/modelconvertor/import/repo_model_import_config.h"
41 #include "repo_bouncer_global.h"
57 std::vector<lib::RepoAbstractListener*> listeners = std::vector<lib::RepoAbstractListener *>(),
58 const uint32_t &numConcurrentOps = 1,
59 const uint32_t &numDbConn = 1);
83 const std::string &address,
85 const std::string &dbName,
86 const std::string &username,
87 const std::string &password,
88 const bool &pwDigested =
false
96 bool authenticateMongo(
111 RepoToken* authenticateToAdminDatabaseMongo(
113 const std::string &address,
115 const std::string &username,
116 const std::string &password,
117 const bool &pwDigested =
false
126 void disconnectFromDatabase(
const RepoToken* token);
134 bool testConnection(
const RepoToken *token);
147 const std::string &alias);
153 const std::string &alias,
154 const std::string &address,
156 const std::string &dbName,
157 const std::string &username,
158 const std::string &password
162 const std::string &alias,
163 const std::string &address,
165 const std::string &dbName,
175 const std::string &data)
const;
183 void getInfoFromToken(
188 std::string &username,
197 std::string serialiseToken(
211 uint64_t countItemsInCollection(
213 const std::string &database,
214 const std::string &collection);
228 std::vector < repo::core::model::RepoBSON >
229 getAllFromCollectionContinuous(
231 const std::string &database,
232 const std::string &collection,
233 const uint64_t &skip = 0,
234 const uint32_t &limit = 0);
251 std::vector < repo::core::model::RepoBSON >
252 getAllFromCollectionContinuous(
254 const std::string &database,
255 const std::string &collection,
256 const std::list<std::string> &fields,
257 const std::string &sortField,
258 const int &sortOrder = -1,
259 const uint64_t &skip = 0,
260 const uint32_t &limit = 0);
273 std::vector < repo::core::model::RepoRole >
274 getRolesFromDatabase(
276 const std::string &database,
277 const uint64_t &skip = 0,
278 const uint32_t &limit = 0);
287 std::vector < repo::core::model::RepoRoleSettings >
288 getRoleSettingsFromDatabase(
290 const std::string &database,
291 const uint64_t &skip = 0,
292 const uint32_t &limit = 0);
306 const std::string &database,
307 const std::string &uniqueRoleName
316 std::list<std::string> getCollections(
318 const std::string &databaseName
331 const std::string &database,
332 const std::string &collection);
339 std::list<std::string> getDatabases(
350 std::map<std::string, std::list<std::string>>
351 getDatabasesWithProjects(
353 const std::list<std::string> &databases);
361 std::string getHostAndPort(
const RepoToken *token);
367 std::list<std::string> getAdminDatabaseRoles(
const RepoToken *token);
374 std::string getNameOfAdminDatabase(
const RepoToken *token);
381 std::list<std::string> getStandardDatabaseRoles(
const RepoToken *token);
395 const std::string &dbName,
396 const std::string &projectName
413 const std::string &database,
414 const std::string &project,
415 const std::string &uuid = REPO_HISTORY_MASTER_BRANCH,
416 const bool &headRevision =
true,
417 const bool &lightFetch =
false);
425 void saveOriginalFiles(
428 const std::string &directory);
437 void saveOriginalFiles(
439 const std::string &database,
440 const std::string &project,
441 const std::string &directory);
456 const std::string &owner =
"",
457 const std::string &tag =
"",
458 const std::string &desc =
"");
468 void insertBinaryFileToDatabase(
470 const std::string &database,
471 const std::string &collection,
472 const std::string &name,
473 const std::vector<uint8_t> &rawData,
474 const std::string &mimeType =
"");
501 bool removeCollection(
503 const std::string &databaseName,
504 const std::string &collectionName,
517 const std::string &databaseName,
532 const std::string &databaseName,
533 const std::string &collectionName,
550 const std::string &databaseName,
551 const std::string &projectName,
552 std::string &errMsg);
554 void removeProjectSettings(
556 const std::string &database,
559 removeDocument(token, database, REPO_COLLECTION_SETTINGS_PROJECTS, projectSettings);
562 void removeRoleSettings(
564 const std::string &database,
567 removeDocument(token, database, REPO_COLLECTION_SETTINGS_ROLES, roleSettings);
570 void removeRoleSettings(
575 removeRoleSettings(token, role.
getDatabase(), settings);
625 const std::string &databaseName,
626 const std::string &collectionName,
629 void upsertRoleSettings(
631 const std::string &database,
634 upsertDocument(token, database, REPO_COLLECTION_SETTINGS_ROLES, roleSettings);
637 void upsertRoleSettings(
642 upsertRoleSettings(token, role.
getDatabase(), settings);
645 void upsertProjectSettings(
647 const std::string &database,
650 upsertDocument(token, database, REPO_COLLECTION_SETTINGS, projectSettings);
675 void logToFile(
const std::string &filePath);
687 const std::map<repo::core::model::TransformationNode, repo::core::model::ReferenceNode> &fedMap);
705 bool generateAndCommitGLTFBuffer(
716 bool generateAndCommitSRCBuffer(
735 bool generateAndCommitSelectionTree(
752 std::string getSupportedExportFormats();
758 std::string getSupportedImportFormats();
769 const std::string &filePath,
770 const bool &applyReduction =
true,
771 const bool &rotateModel =
false,
780 repo::core::model::RepoNodeSet loadMetadataFromFile(
781 const std::string &filePath,
782 const char &delimiter =
',');
790 bool saveSceneToFile(
791 const std::string &filePath,
806 bool generateAndCommitStashGraph(
816 std::shared_ptr<repo_partitioning_tree_t>
817 getScenePartitioning(
819 const uint32_t &maxDepth = 8
829 void reduceTransformations(
853 const repo::DiffMode &diffMode
873 compareScenes(token, base, compare, baseResults, compResults, repo::DiffMode::DIFF_BY_ID);
893 compareScenes(token, base, compare, baseResults, compResults, repo::DiffMode::DIFF_BY_NAME);
902 std::string getVersion();
905 class _RepoControllerImpl;
906 _RepoControllerImpl *impl;
Definition: repo_bson_collection_stats.h:30
Definition: repo_node_map.h:27
Definition: repo_controller.h:44
Definition: repo_connection_pool_mongo.h:32
RepoLogLevel
Definition: repo_log.h:56
Definition: repo_scene.h:44
Definition: repo_structs.h:77
Definition: repo_bson_project_settings.h:30
void compareScenesByNames(const RepoToken *token, repo::core::model::RepoScene *base, repo::core::model::RepoScene *compare, repo_diff_result_t &baseResults, repo_diff_result_t &compResults)
Definition: repo_controller.h:885
void compareScenesByIDs(const RepoToken *token, repo::core::model::RepoScene *base, repo::core::model::RepoScene *compare, repo_diff_result_t &baseResults, repo_diff_result_t &compResults)
Definition: repo_controller.h:865
Definition: repo_bson_role_settings.h:30
Definition: repo_bson.h:53
std::string getDatabase() const
Definition: repo_bson_role.h:161
Definition: repo_bson_role.h:45
Definition: repo_model_import_config.h:33
Definition: repo_controller.cpp.inl:31
Definition: repo_structs.h:25
Definition: repo_bson_user.h:69