29 #include "../model/bson/repo_bson.h"
30 #include "../model/bson/repo_bson_role.h"
31 #include "../model/bson/repo_bson_user.h"
32 #include "../model/bson/repo_bson_collection_stats.h"
76 const std::string &database,
77 const std::string &collection,
78 std::string &errMsg) = 0;
93 virtual std::vector<repo::core::model::RepoBSON>
95 const std::string &database,
96 const std::string &collection,
97 const uint64_t &skip = 0,
98 const uint32_t &limit = 0,
99 const std::list<std::string> &fields = std::list<std::string>(),
100 const std::string &sortField = std::string(),
101 const int &sortOrder = -1) = 0;
106 virtual std::list<std::string>
getCollections(
const std::string &database) = 0;
116 const std::string &database,
117 const std::string &collection,
118 std::string &errMsg) = 0;
125 virtual std::list<std::string>
getDatabases(
const bool &sorted =
true) = 0;
132 const std::list<std::string> &databases,
133 const std::string &projectExt =
"scene") = 0;
141 virtual std::list<std::string>
getProjects(
const std::string &database,
const std::string &projectExt) = 0;
164 virtual void createCollection(
const std::string &database,
const std::string &name) = 0;
175 const std::string &database,
176 const std::string &collection,
178 std::string &errMsg) = 0;
191 const std::string &database,
192 const std::string &collection,
193 const std::string &fileName,
194 const std::vector<uint8_t> &bin,
196 const std::string &contentType =
"binary/octet-stream"
207 std::string &errmsg) = 0;
217 std::string &errmsg) = 0;
230 const std::string &database,
231 const std::string &collection,
233 const bool &overwrite,
234 std::string &errMsg) = 0;
243 const std::string &database,
244 const std::string &collection,
245 std::string &errMsg) = 0;
253 const std::string &database,
254 std::string &errMsg) = 0;
265 const std::string &database,
266 const std::string &collection,
267 std::string &errMsg) = 0;
278 const std::string &database,
279 const std::string &collection,
280 std::string &errMsg) = 0;
290 const std::string &database,
291 const std::string &collection,
292 const std::string &fileName,
293 std::string &errMsg) = 0;
303 std::string &errmsg) = 0;
313 std::string &errmsg) = 0;
323 std::string &errmsg) = 0;
333 std::string &errmsg) = 0;
346 const std::string& database,
347 const std::string& collection,
359 const std::string& database,
360 const std::string& collection,
362 const std::string& sortField =
"") = 0;
372 const std::string& database,
373 const std::string& collection,
386 const std::string& database,
387 const std::string& collection,
388 const repoUUID& uuid,
389 const std::string& sortField) = 0;
399 const std::string& database,
400 const std::string& collection,
401 const repoUUID& uuid) = 0;
411 const std::string& database,
412 const std::string& collection,
413 const std::string& fname
423 const uint64_t maxDocumentSize;
virtual repo::core::model::RepoBSON findOneBySharedID(const std::string &database, const std::string &collection, const repoUUID &uuid, const std::string &sortField)=0
virtual repo::core::model::CollectionStats getCollectionStats(const std::string &database, const std::string &collection, std::string &errMsg)=0
virtual bool dropRole(const repo::core::model::RepoRole &role, std::string &errmsg)=0
Definition: repo_bson_collection_stats.h:30
virtual std::list< std::string > getAdminDatabaseRoles()=0
virtual uint64_t countItemsInCollection(const std::string &database, const std::string &collection, std::string &errMsg)=0
virtual bool insertRole(const repo::core::model::RepoRole &role, std::string &errmsg)=0
virtual bool insertUser(const repo::core::model::RepoUser &user, std::string &errmsg)=0
virtual void createCollection(const std::string &database, const std::string &name)=0
Definition: repo_connection_pool_mongo.h:32
virtual std::map< std::string, std::list< std::string > > getDatabasesWithProjects(const std::list< std::string > &databases, const std::string &projectExt="scene")=0
virtual std::list< std::string > getStandardDatabaseRoles()=0
virtual repo::core::model::RepoBSON findOneByUniqueID(const std::string &database, const std::string &collection, const repoUUID &uuid)=0
virtual bool upsertDocument(const std::string &database, const std::string &collection, const repo::core::model::RepoBSON &obj, const bool &overwrite, std::string &errMsg)=0
virtual repo::core::model::RepoBSON findOneByCriteria(const std::string &database, const std::string &collection, const repo::core::model::RepoBSON &criteria, const std::string &sortField="")=0
virtual std::vector< repo::core::model::RepoBSON > getAllFromCollectionTailable(const std::string &database, const std::string &collection, const uint64_t &skip=0, const uint32_t &limit=0, const std::list< std::string > &fields=std::list< std::string >(), const std::string &sortField=std::string(), const int &sortOrder=-1)=0
Definition: repo_database_handler_abstract.h:37
virtual std::vector< repo::core::model::RepoBSON > findAllByCriteria(const std::string &database, const std::string &collection, const repo::core::model::RepoBSON &criteria)=0
virtual bool updateRole(const repo::core::model::RepoRole &role, std::string &errmsg)=0
virtual std::list< std::string > getProjects(const std::string &database, const std::string &projectExt)=0
virtual bool dropDatabase(const std::string &database, std::string &errMsg)=0
virtual bool dropDocument(const repo::core::model::RepoBSON bson, const std::string &database, const std::string &collection, std::string &errMsg)=0
virtual std::vector< uint8_t > getRawFile(const std::string &database, const std::string &collection, const std::string &fname)=0
virtual ~AbstractDatabaseHandler()
Definition: repo_database_handler_abstract.h:43
virtual bool dropRawFile(const std::string &database, const std::string &collection, const std::string &fileName, std::string &errMsg)=0
virtual bool dropDocuments(const repo::core::model::RepoBSON criteria, const std::string &database, const std::string &collection, std::string &errMsg)=0
virtual bool dropUser(const repo::core::model::RepoUser &user, std::string &errmsg)=0
uint64_t documentSizeLimit()
Definition: repo_database_handler_abstract.h:49
Definition: repo_bson.h:53
virtual bool insertRawFile(const std::string &database, const std::string &collection, const std::string &fileName, const std::vector< uint8_t > &bin, std::string &errMsg, const std::string &contentType="binary/octet-stream")=0
virtual bool insertDocument(const std::string &database, const std::string &collection, const repo::core::model::RepoBSON &obj, std::string &errMsg)=0
AbstractDatabaseHandler(uint64_t size)
Definition: repo_database_handler_abstract.h:421
virtual std::list< std::string > getDatabases(const bool &sorted=true)=0
Definition: repo_bson_role.h:45
virtual bool updateUser(const repo::core::model::RepoUser &user, std::string &errmsg)=0
virtual std::vector< repo::core::model::RepoBSON > findAllByUniqueIDs(const std::string &database, const std::string &collection, const repo::core::model::RepoBSON &uuid)=0
Definition: repo_bson_user.h:69
virtual bool dropCollection(const std::string &database, const std::string &collection, std::string &errMsg)=0
virtual std::list< std::string > getCollections(const std::string &database)=0