package datastore type DataStore interface { GetAllDatabases() ([]Database, DataStoreStatus) GetDatabase(databaseId string) (Database, DataStoreStatus) DeleteDatabase(databaseId string) DataStoreStatus CreateDatabase(newDatabase Database) (Database, DataStoreStatus) GetAllCollections(databaseId string) ([]Collection, DataStoreStatus) GetCollection(databaseId string, collectionId string) (Collection, DataStoreStatus) DeleteCollection(databaseId string, collectionId string) DataStoreStatus CreateCollection(databaseId string, newCollection Collection) (Collection, DataStoreStatus) GetAllDocuments(databaseId string, collectionId string) ([]Document, DataStoreStatus) GetDocumentIterator(databaseId string, collectionId string) (DocumentIterator, DataStoreStatus) GetDocument(databaseId string, collectionId string, documentId string) (Document, DataStoreStatus) DeleteDocument(databaseId string, collectionId string, documentId string) DataStoreStatus CreateDocument(databaseId string, collectionId string, document map[string]interface{}) (Document, DataStoreStatus) GetAllTriggers(databaseId string, collectionId string) ([]Trigger, DataStoreStatus) GetTrigger(databaseId string, collectionId string, triggerId string) (Trigger, DataStoreStatus) DeleteTrigger(databaseId string, collectionId string, triggerId string) DataStoreStatus CreateTrigger(databaseId string, collectionId string, trigger Trigger) (Trigger, DataStoreStatus) GetAllStoredProcedures(databaseId string, collectionId string) ([]StoredProcedure, DataStoreStatus) GetStoredProcedure(databaseId string, collectionId string, storedProcedureId string) (StoredProcedure, DataStoreStatus) DeleteStoredProcedure(databaseId string, collectionId string, storedProcedureId string) DataStoreStatus CreateStoredProcedure(databaseId string, collectionId string, storedProcedure StoredProcedure) (StoredProcedure, DataStoreStatus) GetAllUserDefinedFunctions(databaseId string, collectionId string) ([]UserDefinedFunction, DataStoreStatus) GetUserDefinedFunction(databaseId string, collectionId string, udfId string) (UserDefinedFunction, DataStoreStatus) DeleteUserDefinedFunction(databaseId string, collectionId string, udfId string) DataStoreStatus CreateUserDefinedFunction(databaseId string, collectionId string, udf UserDefinedFunction) (UserDefinedFunction, DataStoreStatus) GetPartitionKeyRanges(databaseId string, collectionId string) ([]PartitionKeyRange, DataStoreStatus) Close() DumpToJson() (string, error) } type DocumentIterator interface { Next() (Document, DataStoreStatus) Close() }