Appwrite C++ SDK
Auto-generated API documentation for the Appwrite C++ SDK
Loading...
Searching...
No Matches
Databases Class Reference

Provides CRUD operations for databases, collections, documents, attributes, and indexes. More...

#include <Databases.hpp>

Collaboration diagram for Databases:

Public Member Functions

std::string create (const std::string &databaseId, const std::string &name, bool enabled)
 Create a new database.
 
std::string createBooleanAttribute (const std::string &databaseId, const std::string &collectionId, const std::string &attributeId, bool defaultValue, bool required)
 Create a boolean attribute.
 
std::string createCollection (const std::string &databaseId, const std::string &collectionId, const std::string &name, bool enabled)
 Create a new collection.
 
std::string createDocument (const std::string &databaseId, const std::string &collectionId, const std::string &documentId, const std::string &rawData)
 Create a document in a collection.
 
std::string createEmailAttribute (const std::string &databaseId, const std::string &collectionId, const std::string &attributeId, bool required, const std::string &defaultValue)
 Create an email attribute.
 
std::string createEnumAttribute (const std::string &databaseId, const std::string &collectionId, const std::string &attributeId, bool required, const std::string &defaultValue, const std::vector< std::string > &elements)
 Create an enum attribute.
 
std::string createFloatAttribute (const std::string &databaseId, const std::string &collectionId, const std::string &attributeId, bool required, double min, double max, const std::string &defaultValue)
 Create a float attribute.
 
std::string createIndexes (const std::string &databaseId, const std::string &collectionId, const std::string &key, const std::string &type, const std::vector< std::string > &attributes)
 Create a new index.
 
std::string createIntegerAttribute (const std::string &databaseId, const std::string &collectionId, const std::string &attributeId, bool required, int min, int max, const std::string &defaultValue)
 Create an integer attribute.
 
std::string createIPaddressAttribute (const std::string &databaseId, const std::string &collectionId, const std::string &attributeId, bool required, const std::string &defaultValue)
 Create an IP address attribute.
 
std::string createStringAttribute (const std::string &databaseId, const std::string &collectionId, const std::string &attributeId, bool required, const std::string &defaultValue, const std::vector< std::string > &elements, int size)
 Create a string attribute.
 
 Databases (const std::string &projectId, const std::string &apiKey)
 Constructor for Databases class.
 
std::string deleteCollection (const std::string &databaseId, const std::string &collectionId)
 Delete a collection by ID.
 
std::string deleteDocument (const std::string &databaseId, const std::string &collectionId, const std::string &documentId)
 Delete a document by ID.
 
std::string deleteIndexes (const std::string &databaseId, const std::string &collectionId, const std::string &key)
 Delete an index.
 
std::string get (const std::string &databaseId)
 Get a database by ID.
 
std::string getCollection (const std::string &databaseId, const std::string &collectionId)
 Get a collection by ID.
 
std::string getCollectionUsage (const std::string &databaseId, const std::string &collectionId, const std::string &range)
 Get usage stats of a collection.
 
std::string getDatabaseUsage (const std::string &databaseId, const std::string &range)
 Get usage statistics of a database.
 
std::string getDocument (const std::string &databaseId, const std::string &collectionId, const std::string &documentId)
 Get a document by ID.
 
std::string getIndexes (const std::string &databaseId, const std::string &collectionId, const std::string &key)
 Get details of an index.
 
std::string list ()
 List all databases.
 
std::string listAttributes (const std::string &databaseId, const std::string &collectionId)
 List all attributes in a collection.
 
std::string listCollection (const std::string &databaseId)
 List all collections in a database.
 
std::string listDocument (const std::string &databaseId, const std::string &collectionId, Queries &queries)
 List documents using queries.
 
std::string listIndexes (const std::string &databaseId, const std::string &collectionId)
 List all indexes in a collection.
 
std::string update (const std::string &databaseId, const std::string &name, bool enabled)
 Update an existing database.
 
std::string updateBooleanAttribute (const std::string &databaseId, const std::string &collectionId, const std::string &attributeId, bool defaultValue, bool required, const std::string &new_key)
 Update a boolean attribute.
 
std::string updateCollection (const std::string &databaseId, const std::string &collectionId, const std::string &name, bool enabled)
 Update collection metadata.
 
std::string updateEmailAttribute (const std::string &databaseId, const std::string &collectionId, const std::string &attributeId, bool required, const std::string &defaultValue, std::string &new_key)
 Update an email attribute.
 
std::string updateEnumAttribute (const std::string &databaseId, const std::string &collectionId, const std::string &attributeId, bool required, const std::string &defaultValue, const std::vector< std::string > &elements, std::string &new_key)
 Update an enum attribute.
 
std::string updateFloatAttribute (const std::string &databaseId, const std::string &collectionId, const std::string &attributeId, bool required, double min, double max, const std::string &defaultValue, std::string &new_key)
 Update a float attribute.
 
std::string updateIntegerAttribute (const std::string &databaseId, const std::string &collectionId, const std::string &attributeId, bool required, int min, int max, const std::string &defaultValue, std::string &new_key)
 Update an integer attribute.
 
std::string updateIPaddressAttribute (const std::string &databaseId, const std::string &collectionId, const std::string &attributeId, bool required, const std::string &defaultValue, const std::string &new_key)
 Update an IP address attribute.
 
std::string updateStringAttribute (const std::string &databaseId, const std::string &collectionId, const std::string &attributeId, bool required, const std::string &defaultValue, const std::vector< std::string > &elements, int size, std::string &new_key)
 Update a string attribute.
 

Detailed Description

Provides CRUD operations for databases, collections, documents, attributes, and indexes.

Definition at line 19 of file Databases.hpp.

Constructor & Destructor Documentation

◆ Databases()

Databases::Databases ( const std::string &  projectId,
const std::string &  apiKey 
)

Constructor for Databases class.

Parameters
projectIdAppwrite project ID.
apiKeyAppwrite API key.

Member Function Documentation

◆ create()

std::string Databases::create ( const std::string &  databaseId,
const std::string &  name,
bool  enabled 
)

Create a new database.

Parameters
databaseIdUnique ID for the new database.
nameName of the database.
enabledWhether the database is active.
Returns
JSON response of created database.

◆ createBooleanAttribute()

std::string Databases::createBooleanAttribute ( const std::string &  databaseId,
const std::string &  collectionId,
const std::string &  attributeId,
bool  defaultValue,
bool  required 
)

Create a boolean attribute.

Parameters
databaseIdDatabase ID.
collectionIdCollection ID.
attributeIdUnique ID for the attribute.
defaultValueDefault value of the attribute.
requiredWhether this field is required.
Returns
JSON response.

◆ createCollection()

std::string Databases::createCollection ( const std::string &  databaseId,
const std::string &  collectionId,
const std::string &  name,
bool  enabled 
)

Create a new collection.

Parameters
databaseIdID of the database.
collectionIdUnique ID for the collection.
nameName of the collection.
enabledWhether the collection is enabled.
Returns
JSON response.

◆ createDocument()

std::string Databases::createDocument ( const std::string &  databaseId,
const std::string &  collectionId,
const std::string &  documentId,
const std::string &  rawData 
)

Create a document in a collection.

Parameters
databaseIdDatabase ID.
collectionIdCollection ID.
documentIdDocument ID.
rawDataJSON string of document data.
Returns
JSON response.

◆ createEmailAttribute()

std::string Databases::createEmailAttribute ( const std::string &  databaseId,
const std::string &  collectionId,
const std::string &  attributeId,
bool  required,
const std::string &  defaultValue 
)

Create an email attribute.

Parameters
databaseIdDatabase ID.
collectionIdCollection ID.
attributeIdAttribute ID.
requiredRequired field.
defaultValueDefault email.
Returns
JSON response.

◆ createEnumAttribute()

std::string Databases::createEnumAttribute ( const std::string &  databaseId,
const std::string &  collectionId,
const std::string &  attributeId,
bool  required,
const std::string &  defaultValue,
const std::vector< std::string > &  elements 
)

Create an enum attribute.

Parameters
databaseIdDatabase ID.
collectionIdCollection ID.
attributeIdAttribute ID.
requiredRequired field.
defaultValueDefault value.
elementsValid enum values.
Returns
JSON response.

◆ createFloatAttribute()

std::string Databases::createFloatAttribute ( const std::string &  databaseId,
const std::string &  collectionId,
const std::string &  attributeId,
bool  required,
double  min,
double  max,
const std::string &  defaultValue 
)

Create a float attribute.

Parameters
databaseIdDatabase ID.
collectionIdCollection ID.
attributeIdAttribute ID.
requiredRequired field.
minMinimum value.
maxMaximum value.
defaultValueDefault float value.
Returns
JSON response.

◆ createIndexes()

std::string Databases::createIndexes ( const std::string &  databaseId,
const std::string &  collectionId,
const std::string &  key,
const std::string &  type,
const std::vector< std::string > &  attributes 
)

Create a new index.

Parameters
databaseIdDatabase ID.
collectionIdCollection ID.
keyIndex key name.
typeIndex type.
attributesFields to index.
Returns
JSON response.

◆ createIntegerAttribute()

std::string Databases::createIntegerAttribute ( const std::string &  databaseId,
const std::string &  collectionId,
const std::string &  attributeId,
bool  required,
int  min,
int  max,
const std::string &  defaultValue 
)

Create an integer attribute.

Parameters
databaseIdDatabase ID.
collectionIdCollection ID.
attributeIdAttribute ID.
requiredRequired field.
minMinimum value.
maxMaximum value.
defaultValueDefault integer value.
Returns
JSON response.

◆ createIPaddressAttribute()

std::string Databases::createIPaddressAttribute ( const std::string &  databaseId,
const std::string &  collectionId,
const std::string &  attributeId,
bool  required,
const std::string &  defaultValue 
)

Create an IP address attribute.

Parameters
databaseIdDatabase ID.
collectionIdCollection ID.
attributeIdAttribute ID.
requiredRequired field.
defaultValueDefault IP address.
Returns
JSON response.

◆ createStringAttribute()

std::string Databases::createStringAttribute ( const std::string &  databaseId,
const std::string &  collectionId,
const std::string &  attributeId,
bool  required,
const std::string &  defaultValue,
const std::vector< std::string > &  elements,
int  size 
)

Create a string attribute.

Parameters
databaseIdDatabase ID.
collectionIdCollection ID.
attributeIdAttribute ID.
requiredRequired field.
defaultValueDefault string value.
elementsAllowed string values (for enum-like behavior).
sizeMaximum length of the string.
Returns
JSON response.

◆ deleteCollection()

std::string Databases::deleteCollection ( const std::string &  databaseId,
const std::string &  collectionId 
)

Delete a collection by ID.

Parameters
databaseIdID of the database.
collectionIdID of the collection.
Returns
JSON response.

◆ deleteDocument()

std::string Databases::deleteDocument ( const std::string &  databaseId,
const std::string &  collectionId,
const std::string &  documentId 
)

Delete a document by ID.

Parameters
databaseIdDatabase ID.
collectionIdCollection ID.
documentIdDocument ID.
Returns
JSON response.

◆ deleteIndexes()

std::string Databases::deleteIndexes ( const std::string &  databaseId,
const std::string &  collectionId,
const std::string &  key 
)

Delete an index.

Parameters
databaseIdDatabase ID.
collectionIdCollection ID.
keyIndex key.
Returns
JSON response.

◆ get()

std::string Databases::get ( const std::string &  databaseId)

Get a database by ID.

Parameters
databaseIdUnique ID of the database.
Returns
JSON string of the database.

◆ getCollection()

std::string Databases::getCollection ( const std::string &  databaseId,
const std::string &  collectionId 
)

Get a collection by ID.

Parameters
databaseIdID of the database.
collectionIdID of the collection.
Returns
JSON string of collection details.

◆ getCollectionUsage()

std::string Databases::getCollectionUsage ( const std::string &  databaseId,
const std::string &  collectionId,
const std::string &  range 
)

Get usage stats of a collection.

Parameters
databaseIdID of the database.
collectionIdID of the collection.
rangeTime range for usage.
Returns
JSON usage data.

◆ getDatabaseUsage()

std::string Databases::getDatabaseUsage ( const std::string &  databaseId,
const std::string &  range 
)

Get usage statistics of a database.

Parameters
databaseIdID of the database.
rangeTime range for usage stats.
Returns
JSON usage data.

◆ getDocument()

std::string Databases::getDocument ( const std::string &  databaseId,
const std::string &  collectionId,
const std::string &  documentId 
)

Get a document by ID.

Parameters
databaseIdDatabase ID.
collectionIdCollection ID.
documentIdDocument ID.
Returns
JSON string of document.

◆ getIndexes()

std::string Databases::getIndexes ( const std::string &  databaseId,
const std::string &  collectionId,
const std::string &  key 
)

Get details of an index.

Parameters
databaseIdDatabase ID.
collectionIdCollection ID.
keyIndex key.
Returns
JSON string of index details.

◆ list()

std::string Databases::list ( )

List all databases.

Returns
JSON string of database list.

◆ listAttributes()

std::string Databases::listAttributes ( const std::string &  databaseId,
const std::string &  collectionId 
)

List all attributes in a collection.

Parameters
databaseIdID of the database.
collectionIdID of the collection.
Returns
JSON list of attributes.

◆ listCollection()

std::string Databases::listCollection ( const std::string &  databaseId)

List all collections in a database.

Parameters
databaseIdID of the database.
Returns
JSON string of collections.

◆ listDocument()

std::string Databases::listDocument ( const std::string &  databaseId,
const std::string &  collectionId,
Queries queries 
)

List documents using queries.

Parameters
databaseIdDatabase ID.
collectionIdCollection ID.
queriesFilter and sort queries.
Returns
JSON string of documents.

◆ listIndexes()

std::string Databases::listIndexes ( const std::string &  databaseId,
const std::string &  collectionId 
)

List all indexes in a collection.

Parameters
databaseIdDatabase ID.
collectionIdCollection ID.
Returns
JSON string of indexes.

◆ update()

std::string Databases::update ( const std::string &  databaseId,
const std::string &  name,
bool  enabled 
)

Update an existing database.

Parameters
databaseIdID of the database to update.
nameNew name of the database.
enabledEnable or disable the database.
Returns
JSON response.

◆ updateBooleanAttribute()

std::string Databases::updateBooleanAttribute ( const std::string &  databaseId,
const std::string &  collectionId,
const std::string &  attributeId,
bool  defaultValue,
bool  required,
const std::string &  new_key 
)

Update a boolean attribute.

Parameters
databaseIdDatabase ID.
collectionIdCollection ID.
attributeIdAttribute ID.
defaultValueNew default value.
requiredRequired field.
new_keyNew key for the attribute.
Returns
JSON response.

◆ updateCollection()

std::string Databases::updateCollection ( const std::string &  databaseId,
const std::string &  collectionId,
const std::string &  name,
bool  enabled 
)

Update collection metadata.

Parameters
databaseIdID of the database.
collectionIdID of the collection.
nameNew name of the collection.
enabledNew status of the collection.
Returns
JSON response.

◆ updateEmailAttribute()

std::string Databases::updateEmailAttribute ( const std::string &  databaseId,
const std::string &  collectionId,
const std::string &  attributeId,
bool  required,
const std::string &  defaultValue,
std::string &  new_key 
)

Update an email attribute.

Parameters
databaseIdDatabase ID.
collectionIdCollection ID.
attributeIdAttribute ID.
requiredRequired field.
defaultValueNew default email.
new_keyNew key for the attribute.
Returns
JSON response.

◆ updateEnumAttribute()

std::string Databases::updateEnumAttribute ( const std::string &  databaseId,
const std::string &  collectionId,
const std::string &  attributeId,
bool  required,
const std::string &  defaultValue,
const std::vector< std::string > &  elements,
std::string &  new_key 
)

Update an enum attribute.

Parameters
databaseIdDatabase ID.
collectionIdCollection ID.
attributeIdAttribute ID.
requiredRequired field.
defaultValueNew default value.
elementsAllowed values.
new_keyNew key for the attribute.
Returns
JSON response.

◆ updateFloatAttribute()

std::string Databases::updateFloatAttribute ( const std::string &  databaseId,
const std::string &  collectionId,
const std::string &  attributeId,
bool  required,
double  min,
double  max,
const std::string &  defaultValue,
std::string &  new_key 
)

Update a float attribute.

Parameters
databaseIdDatabase ID.
collectionIdCollection ID.
attributeIdAttribute ID.
requiredRequired field.
minMinimum value.
maxMaximum value.
defaultValueNew default value.
new_keyNew key for the attribute.
Returns
JSON response.

◆ updateIntegerAttribute()

std::string Databases::updateIntegerAttribute ( const std::string &  databaseId,
const std::string &  collectionId,
const std::string &  attributeId,
bool  required,
int  min,
int  max,
const std::string &  defaultValue,
std::string &  new_key 
)

Update an integer attribute.

Parameters
databaseIdDatabase ID.
collectionIdCollection ID.
attributeIdAttribute ID.
requiredRequired field.
minMinimum value.
maxMaximum value.
defaultValueNew default value.
new_keyNew key for the attribute.
Returns
JSON response.

◆ updateIPaddressAttribute()

std::string Databases::updateIPaddressAttribute ( const std::string &  databaseId,
const std::string &  collectionId,
const std::string &  attributeId,
bool  required,
const std::string &  defaultValue,
const std::string &  new_key 
)

Update an IP address attribute.

Parameters
databaseIdDatabase ID.
collectionIdCollection ID.
attributeIdAttribute ID.
requiredRequired field.
defaultValueNew default IP address.
new_keyNew key for the attribute.
Returns
JSON response.

◆ updateStringAttribute()

std::string Databases::updateStringAttribute ( const std::string &  databaseId,
const std::string &  collectionId,
const std::string &  attributeId,
bool  required,
const std::string &  defaultValue,
const std::vector< std::string > &  elements,
int  size,
std::string &  new_key 
)

Update a string attribute.

Parameters
databaseIdDatabase ID.
collectionIdCollection ID.
attributeIdAttribute ID.
requiredRequired field.
defaultValueNew default value.
elementsAllowed string values.
sizeMaximum length.
new_keyNew key for the attribute.
Returns
JSON response.

The documentation for this class was generated from the following file: