26 #include "../core/model/bson/repo_bson_role_settings.h"
27 #include "../core/model/bson/repo_node_map.h"
28 #include "../core/model/bson/repo_node_reference.h"
29 #include "../core/model/bson/repo_node_transformation.h"
30 #include "../core/model/collection/repo_scene.h"
31 #include "diff/repo_diff_abstract.h"
32 #include "modelconvertor/export/repo_model_export_web.h"
33 #include "modelconvertor/import/repo_model_import_config.h"
34 #include "modelutility/spatialpartitioning/repo_spatial_partitioner_abstract.h"
37 namespace manipulator{
52 const std::string &databaseAd,
54 const std::string &dbName,
55 const std::string &projectName
72 const std::string &address,
74 const uint32_t &maxConnections,
75 const std::string &dbName,
76 const std::string &username,
77 const std::string &password,
78 const bool &pwDigested =
false
93 const std::string &address,
95 const uint32_t &maxConnections,
96 const std::string &dbName,
113 const std::string &address,
114 const uint32_t &port,
115 const uint32_t &maxConnections,
116 const std::string &username,
117 const std::string &password,
118 const bool &pwDigested =
false
129 const std::string &databaseAd,
132 const std::string &owner =
"",
133 const std::string &tag =
"",
134 const std::string &desc =
"");
150 const repo::DiffMode &diffMode,
152 = repo::core::model::RepoScene::GraphType::DEFAULT);
163 const std::string &databaseAd,
164 const std::string &username,
165 const std::string &password,
166 const bool &pwDigested);
174 const std::map<repo::core::model::TransformationNode, repo::core::model::ReferenceNode> &fedMap);
193 const std::string &databaseAd,
195 const std::string &database,
196 const std::string &collection,
216 const std::string &databaseAd,
218 const std::string &databaseName,
219 const std::string &collectionName,
232 const std::string &databaseAd,
234 const std::string &databaseName,
245 const std::string &databaseAd,
257 const std::string &databaseAd,
259 const std::string &database
276 const std::string &databaseAd,
278 const std::string &database,
279 const std::string &collection,
280 const repoUUID &uuid,
281 const bool &headRevision =
false,
282 const bool &lightFetch =
false);
292 const std::string &databaseAd,
306 const std::string &databaseAd,
321 const std::string &databaseAd,
337 const std::string &databaseAd,
341 const modelconvertor::WebExportType &exType);
353 const std::string &databaseAd,
366 const std::string &databaseAd,
409 std::vector<repo::core::model::RepoBSON>
411 const std::string &databaseAd,
413 const std::string &database,
414 const std::string &collection,
415 const uint64_t &skip = 0,
416 const uint32_t &limit = 0);
433 std::vector<repo::core::model::RepoBSON>
435 const std::string &databaseAd,
437 const std::string &database,
438 const std::string &collection,
439 const std::list<std::string> &fields,
440 const std::string &sortField = std::string(),
441 const int &sortOrder = -1,
442 const uint64_t &skip = 0,
443 const uint32_t &limit = 0);
455 const std::string &databaseAd,
457 const std::string &database,
458 const std::string &collection,
469 std::map<std::string, std::list<std::string>>
471 const std::string &databaseAd,
473 const std::list<std::string> &databases);
481 const std::string &databaseAd);
491 const std::string &databaseAd,
493 const std::string &database,
494 const std::string &uniqueRoleName
504 const uint32_t &maxDepth = 8
513 const std::string &databaseAd);
523 const std::string &databaseAd)
const;
526 const std::string &databaseAd,
528 const std::string &dbName,
529 const std::string &project);
539 const std::string &databaseAd,
541 const std::string &dbName);
553 const std::string &databaseAd,
555 const std::string &database,
556 const std::string &collection,
557 const std::string &name,
558 const std::vector<uint8_t> &rawData,
559 const std::string &mimeType =
"");
568 const std::string &databaseAd,
579 const std::string &databaseAd,
589 repo::core::model::RepoNodeSet
591 const std::string &filePath,
592 const char &delimiter =
',');
605 const std::string &filePath,
607 const bool &applyReduction =
true,
608 const bool &rotateModel =
false,
622 const std::string &databaseAd,
624 const std::string &databaseName,
625 const std::string &collectionName,
642 const std::string &databaseAd,
644 const std::string &databaseName,
645 const std::string &projectName,
658 = repo::core::model::RepoScene::GraphType::DEFAULT);
669 const std::string &databaseAd,
681 const std::string &databaseAd,
692 const std::string &databaseAd,
704 const std::string &databaseAd,
707 const std::string &directory);
718 const std::string &databaseAd,
720 const std::string &database,
721 const std::string &project,
722 const std::string &directory);
731 const std::string &filePath,
741 const std::string &databaseAd,
752 const std::string &databaseAd,
766 const std::string &databaseAd,
768 const std::string &databaseName,
769 const std::string &collectionName,
783 const std::string &databaseAd,
785 const std::string &dbName,
786 const std::string &roleName
798 const std::string &databaseAd,
800 const std::string &username
void disconnectFromDatabase(const std::string &databaseAd)
Definition: repo_manipulator.cpp:329
std::map< std::string, std::list< std::string > > getDatabasesWithProjects(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, const std::list< std::string > &databases)
Definition: repo_manipulator.cpp:627
repo::core::model::RepoRoleSettings getRoleSettingByName(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, const std::string &database, const std::string &uniqueRoleName)
Definition: repo_manipulator.cpp:654
Definition: repo_bson_collection_stats.h:30
bool generateAndCommitSelectionTree(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, repo::core::model::RepoScene *scene)
Definition: repo_manipulator.cpp:498
bool connectAndAuthenticateWithAdmin(std::string &errMsg, const std::string &address, const uint32_t &port, const uint32_t &maxConnections, const std::string &username, const std::string &password, const bool &pwDigested=false)
Definition: repo_manipulator.cpp:105
Definition: repo_node_map.h:27
std::list< std::string > fetchDatabases(const std::string &databaseAd, const repo::core::model::RepoBSON *cred)
Definition: repo_manipulator.cpp:372
std::string getNameOfAdminDatabase(const std::string &databaseAd) const
Definition: repo_manipulator.cpp:695
void insertRole(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, const repo::core::model::RepoRole &role)
Definition: repo_manipulator.cpp:836
std::list< std::string > fetchCollections(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, const std::string &database)
Definition: repo_manipulator.cpp:386
void updateUser(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, const repo::core::model::RepoUser &user)
Definition: repo_manipulator.cpp:1125
std::vector< repo::core::model::RepoBSON > getAllFromCollectionTailable(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, const std::string &database, const std::string &collection, const uint64_t &skip=0, const uint32_t &limit=0)
Definition: repo_manipulator.cpp:574
repo::core::model::RepoNodeSet loadMetadataFromFile(const std::string &filePath, const char &delimiter= ',')
Definition: repo_manipulator.cpp:704
repo_web_buffers_t generateGLTFBuffer(repo::core::model::RepoScene *scene)
Definition: repo_manipulator.cpp:555
Definition: repo_connection_pool_mongo.h:32
bool removeProject(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, const std::string &databaseName, const std::string &projectName, std::string &errMsg)
Definition: repo_manipulator.cpp:925
bool dropCollection(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, const std::string &databaseName, const std::string &collectionName, std::string &errMsg)
Definition: repo_manipulator.cpp:335
repo::core::model::RepoScene * createMapScene(const repo::core::model::MapNode &mapNode)
Definition: repo_manipulator.cpp:169
void upsertDocument(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, const std::string &databaseName, const std::string &collectionName, const repo::core::model::RepoBSON &bson)
Definition: repo_manipulator.cpp:1146
std::list< std::string > getStandardDatabaseRoles(const std::string &databaseAd)
Definition: repo_manipulator.cpp:682
bool generateStashGraph(repo::core::model::RepoScene *scene)
Definition: repo_manipulator.cpp:522
void saveOriginalFiles(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, const repo::core::model::RepoScene *scene, const std::string &directory)
Definition: repo_manipulator.cpp:1024
repo::core::model::RepoScene * createFederatedScene(const std::map< repo::core::model::TransformationNode, repo::core::model::ReferenceNode > &fedMap)
Definition: repo_manipulator.cpp:137
void cleanUp(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, const std::string &dbName, const std::string &projectName)
Definition: repo_manipulator.cpp:51
Definition: repo_scene.h:44
Definition: repo_structs.h:77
bool saveSceneToFile(const std::string &filePath, const repo::core::model::RepoScene *scene)
Definition: repo_manipulator.cpp:1095
repo_web_buffers_t generateSRCBuffer(repo::core::model::RepoScene *scene)
Definition: repo_manipulator.cpp:564
repo::core::model::RepoScene * fetchScene(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, const std::string &database, const std::string &collection, const repoUUID &uuid, const bool &headRevision=false, const bool &lightFetch=false)
Definition: repo_manipulator.cpp:401
repo::core::model::CollectionStats getCollectionStats(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, const std::string &database, const std::string &collection, std::string &errMsg)
Definition: repo_manipulator.cpp:610
bool hasDatabase(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, const std::string &dbName)
Definition: repo_manipulator.cpp:801
void insertUser(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, const repo::core::model::RepoUser &user)
Definition: repo_manipulator.cpp:857
bool commitScene(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, repo::core::model::RepoScene *scene, const std::string &owner="", const std::string &tag="", const std::string &desc="")
Definition: repo_manipulator.cpp:192
bool generateAndCommitStashGraph(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, repo::core::model::RepoScene *scene)
Definition: repo_manipulator.cpp:530
uint64_t countItemsInCollection(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, const std::string &database, const std::string &collection, std::string &errMsg)
Definition: repo_manipulator.cpp:312
bool connectAndAuthenticate(std::string &errMsg, const std::string &address, const uint32_t &port, const uint32_t &maxConnections, const std::string &dbName, const std::string &username, const std::string &password, const bool &pwDigested=false)
Definition: repo_manipulator.cpp:71
bool removeStashGraphFromDatabase(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, repo::core::model::RepoScene *scene)
Definition: repo_manipulator.cpp:510
repo::core::model::RepoScene * loadSceneFromFile(const std::string &filePath, std::string &msg, const bool &applyReduction=true, const bool &rotateModel=false, const repo::manipulator::modelconvertor::ModelImportConfig *config=nullptr)
Definition: repo_manipulator.cpp:715
void compareScenes(repo::core::model::RepoScene *base, repo::core::model::RepoScene *compare, repo_diff_result_t &baseResults, repo_diff_result_t &compResults, const repo::DiffMode &diffMode, const repo::core::model::RepoScene::GraphType &gType=repo::core::model::RepoScene::GraphType::DEFAULT)
Definition: repo_manipulator.cpp:268
Definition: repo_bson_role_settings.h:30
bool generateAndCommitSRCBuffer(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, repo::core::model::RepoScene *scene)
Definition: repo_manipulator.cpp:488
Definition: repo_bson.h:53
void removeRole(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, const repo::core::model::RepoRole &role)
Definition: repo_manipulator.cpp:982
repo::core::model::RepoBSON * createCredBSON(const std::string &databaseAd, const std::string &username, const std::string &password, const bool &pwDigested)
Definition: repo_manipulator.cpp:125
std::list< std::string > getAdminDatabaseRoles(const std::string &databaseAd)
Definition: repo_manipulator.cpp:641
Definition: repo_bson_role.h:45
std::shared_ptr< repo_partitioning_tree_t > getScenePartitioning(const repo::core::model::RepoScene *scene, const uint32_t &maxDepth=8)
Definition: repo_manipulator.cpp:673
void updateRole(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, const repo::core::model::RepoRole &role)
Definition: repo_manipulator.cpp:1103
void removeDocument(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, const std::string &databaseName, const std::string &collectionName, const repo::core::model::RepoBSON &bson)
Definition: repo_manipulator.cpp:902
Definition: repo_model_import_config.h:33
bool dropDatabase(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, const std::string &databaseName, std::string &errMsg)
Definition: repo_manipulator.cpp:354
bool generateAndCommitGLTFBuffer(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, repo::core::model::RepoScene *scene)
Definition: repo_manipulator.cpp:478
void removeUser(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, const repo::core::model::RepoUser &user)
Definition: repo_manipulator.cpp:1003
void insertBinaryFileToDatabase(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, const std::string &database, const std::string &collection, const std::string &name, const std::vector< uint8_t > &rawData, const std::string &mimeType="")
Definition: repo_manipulator.cpp:811
void reduceTransformations(repo::core::model::RepoScene *scene, const repo::core::model::RepoScene::GraphType &gType=repo::core::model::RepoScene::GraphType::DEFAULT)
Definition: repo_manipulator.cpp:878
Definition: repo_structs.h:25
Definition: repo_bson_user.h:69
GraphType
Definition: repo_scene.h:75
bool generateAndCommitWebViewBuffer(const std::string &databaseAd, const repo::core::model::RepoBSON *cred, repo::core::model::RepoScene *scene, repo_web_buffers_t &buffers, const modelconvertor::WebExportType &exType)
Definition: repo_manipulator.cpp:542
Definition: repo_manipulator.h:38