UNPKG

ngx-appwrite

Version:

A wrapper around the Appwrite WebSDK for easier implementation in Angular 16+ projects. The goal is to make the whole SDK accessible as well as provide some convenience functionality like RxJS streams where appropriate.

133 lines (131 loc) 5.74 kB
import { Models } from 'appwrite'; import { Observable } from 'rxjs'; import * as i0 from "@angular/core"; export declare class Databases { private accountService; private _databases; private _client$; /** * Create Document * * Create a new Document. Before using this route, you should create a new * collection resource using either a [server * integration](/docs/server/databases#databasesCreateCollection) API or * directly from your database console. * * @param {string} collectionId * @param {Record<string, unknown>} data * @param {string[]} [permissions] * @param {string} [documentId] * defaults to ID.unique() * @param {string} [alternateDatabaseId] * @throws {AppwriteException} * @returns {Promise} */ createDocument<CreateDocumentShape extends Record<string, unknown>>(collectionId: string, data: Partial<CreateDocumentShape>, permissions?: string[], documentId?: string, alternateDatabaseId?: string): Promise<CreateDocumentShape & Models.Document>; /** * Upsert Document * * Create a new Document if it can't be found (using $id), otherwise the document is updated. * * This will use incurr a read and a write to the database. * * Before using this route, you should create a new * collection resource using either a [server * integration](/docs/server/databases#databasesCreateCollection) API or * directly from your database console. * * @param {string} collectionId * @param {Record<string, unknown>} data * @param {string[]} [permissions] * @param {string} [alternateDatabaseId] * @throws {AppwriteException} * @returns {Promise} */ upsertDocument<DocumentShape extends Models.Document>(collectionId: string, data: Partial<DocumentShape>, permissions?: string[], alternateDatabaseId?: string): Promise<Models.Document & DocumentShape>; /** * Get Document * * Get a document by its unique ID. This endpoint response returns a JSON * object with the document data. * * @param {string} collectionId * @param {string} documentId * @param {string} [alternateDatabaseId] * @throws {AppwriteException} * @returns {Promise<DocumentShape>} */ getDocument<DocumentShape extends Models.Document>(collectionId: string, documentId: string, alternateDatabaseId?: string): Promise<DocumentShape>; /** * List Documents * * Get a list of all the user's documents in a given collection. You can use * the query params to filter your results. * * @param {string} collectionId * @param {string[]} queries * @param {string} [alternateDatabaseId] * @throws {AppwriteException} * @returns {PromisePromise<{total: number; documents: (Input<typeof AppwriteDocumentSchema> & Input<typeof validationSchema>)[]; }>} */ listDocuments<DocumentShape extends Models.Document>(collectionId: string, queries?: string[], alternateDatabaseId?: string): Promise<Models.DocumentList<DocumentShape>>; /** * Update Document * * Update a document by its unique ID. Using the patch method you can pass * only specific fields that will get updated. * * @param {string} collectionId * @param {string} documentId * @param {unknown} data * @param {string[]} [permissions] * @param {string} [alternateDatabaseId] * @throws {AppwriteException} * @returns {Promise<DocumentShape>} */ updateDocument<DocumentShape extends Models.Document>(collectionId: string, documentId: string, data: Partial<DocumentShape>, permissions?: string[], alternateDatabaseId?: string): Promise<DocumentShape>; /** * Delete Document * * Delete a document by its unique ID. * * @param {string} collectionId * @param {string} documentId * @param {string} [alternateDatabaseId] * @throws {AppwriteException} * @returns {Promise<void>} */ deleteDocument(collectionId: string, documentId: string, alternateDatabaseId?: string): Promise<Record<string, unknown>>; /** * Monitor Collection * * Monitors real-time changes in a collection. Uses the configured default database * An alternate database can be provided if needed * * @param {string} collectionId * @param {string[]} [queries] * @param {string | string[]} [events] * @param {string} [alternativeDatabaseId] * @throws {AppwriteException} * @returns {Observable<(Input<typeof AppwriteDocumentSchema> & Input<typeof validationSchema>)[]>} */ collection$<DocumentShape extends Models.Document>(collectionId: string, queries?: string[], events?: string | string[], alternativeDatabaseId?: string): Observable<Models.DocumentList<DocumentShape>>; /** * Monitor Docuemnt * * Monitors real-time changes in a document. Uses the configured default database * An alternate database can be provided if needed * * @param {string} collectionId * @param {string} documentId * @param {string | string[]} [events] * @param {string} [alternativeDatabaseId] * @throws {AppwriteException} * @returns {Observable<(Input<typeof AppwriteDocumentSchema> & Input<typeof validationSchema>) | null>} */ document$<DocumentShape extends Models.Document>(collectionId: string, documentId: string, events?: string | string[], alternativeDatabaseId?: string): Observable<DocumentShape | null>; private _generatePath; private _cleanData; static ɵfac: i0.ɵɵFactoryDeclaration<Databases, never>; static ɵprov: i0.ɵɵInjectableDeclaration<Databases>; }