UNPKG

simplyfire

Version:

A lightweight firestore api for firebase cloud functions & Angular.

49 lines (48 loc) 2.07 kB
import type { QuerySnapshot, WriteBatch, DocumentData, SetOptions, DocumentReference, Transaction, CollectionReference, Settings as FirestoreSettings } from '@firebase/firestore-types'; import { AbstractFirestoreApi, QueryBuilder } from '../../ngx/db'; export declare class FirestoreCloudService extends AbstractFirestoreApi { private db; private admin; private static instance; static getInstance(admin: any, settings?: FirestoreSettings): FirestoreCloudService; initialize(admin: any, settings: FirestoreSettings): void; collection<T = any>(collection: string, qb?: QueryBuilder): Promise<T[]>; collectionGroup<T = any>(collectionId: string, qb?: QueryBuilder): Promise<T[]>; doc<T = any>(path: string): Promise<T>; upsert(collection: string, data: { [key: string]: any; }, opts?: SetOptions): Promise<any>; update(path: string, data: { [key: string]: any; }): Promise<void>; delete(path: string): Promise<void>; /** * Bulk update data */ bulkUpsert(path: string, data: DocumentData[] | { data: DocumentData; qb?: QueryBuilder; }, opts?: SetOptions): Promise<string[]>; /** * Bulk delete data */ bulkDelete(collection: string, qb?: QueryBuilder, maxSize?: number): Promise<any[]>; get batch(): WriteBatch; get serverTimestamp(): any; increment(n?: number): any; /** * Returns a generated Firestore Document Id. */ createId(colPath?: string): string; runTransaction(updateFunction: (transaction: Transaction) => Promise<unknown>): Promise<unknown>; recursiveDelete(ref: CollectionReference<unknown> | DocumentReference<unknown>, bulkWriter?: any): any; /** * Create a Firestore Timestamp * * @param date */ createTimestamp(date?: Date): any; collectionSnapshot(path: string, qb?: QueryBuilder): Promise<QuerySnapshot>; collectionGroupSnapshot(collectionId: string, qb?: QueryBuilder): Promise<QuerySnapshot>; docRef(path: string): DocumentReference<DocumentData>; }