Firebase backend.

Hierarchy (view full)

Constructors

Properties

app: any
data: any
options: any
permissions: any
rawData: string
ready: Promise<any> = ...
ref: any
source: string
user: any
_all: any[] = []
authProvider: string = "https://auth.madata.dev"

Auth Provider to use. This is only relevant for OAuthBackend, but specifying here as Backend is the only class users import.

capabilities: {
    auth: boolean;
    put: boolean;
    upload: boolean;
} = ...

Type declaration

  • auth: boolean
  • put: boolean
  • upload: boolean
defaultFormat: string = "JSON"
defaultPermissions: {
    read: boolean;
} = ...

Type declaration

  • read: boolean
defaults: {
    path: string;
} = ...

Type declaration

  • path: string
hooks: Hooks = hooks
phrases: {
    delete_collection_warning: string;
} = ...

Type declaration

  • delete_collection_warning: string
urls: {
    hostname: string;
}[] = ...

Type declaration

  • hostname: string
urlsKnown: ({
    hostname?: undefined;
    pathname: string;
    protocol: string;
} | {
    hostname: string;
    pathname?: undefined;
    protocol: string;
})[] = ...
userCall: string = "user"

Accessors

  • get authProviderServices(): Promise<any>
  • services.json from the auth provider will be cached here. You could also set this manually to avoid the network request.

    Returns Promise<any>

    Member

  • get host(): any
  • Return the hostname of the first URL pattern in the urls array, if not variable. This is used to facilitate relative URLs when constructing Backends directly. Subclasses with variable hostnames can override this.

    Returns any

  • get title(): string
  • Returns string

Methods

  • Low-level method to fetch data from the backend. Subclasses should override this method. Clients should not call this method directly, but use load() instead.

    Parameters

    • ref: any = ...

      reference to data to fetch, if different from that provided in the constructor

    Returns Promise<any>

    • Data from the backend as a string, null if not found
  • Higher-level method for reading data from the backend. Subclasses should usually NOT override this method.

    Parameters

    • url: string

      URL to fetch, if different from that provided in the constructor

    • Rest ...args: any[]

    Returns any

    • Data from the backend as a JSON object, null if not found
  • Log a user in, either passively (without triggering any login UI) or actively (with login UI)

    Parameters

    • options: any

      {object}

    Returns Promise<any>

  • Parameters

    • data: any
    • __namedParameters: {
          ref: any;
      } = {}
      • ref: any

    Returns Promise<any>

  • Parameters

    • data: any
    • __namedParameters: {
          path: any;
          ref: any;
      } = {}
      • path: any
      • ref: any

    Returns Promise<{
        id?: undefined;
        ids: any[];
    } | {
        id: any;
        ids: undefined;
    }>

  • Higher-level method for writing data to the backend. Subclasses should usually NOT override this method.

    Parameters

    • data: any

      Data to write to the backend

    • Optional o: any = {}

      Options object

    Returns any

    • If successful, info about the stored data
  • Parameters

    • data: any
    • __namedParameters: {
          ref: any;
      } = {}
      • ref: any

    Returns Promise<any>

  • Sync the logged in user, i.e. log in passively when another backend has logged in and log out when another backend has logged out. Generally intended to be used for backends with the same authentication mechanism. Syncing is not two-way, you need to call this on the other backend as well to make it so.

    Parameters

    Returns void

  • Update an existing backend instance with new parameters

    Parameters

    • source: string

      Same as constructor

    • o: any = {}

      Same as constructor

    Returns void

  • Return the appropriate backend(s) for this url

    Parameters

    • url: string

      URL describing the storage location

    • Optional o: {
          existing: Backend | Backend[];
      } = {}

      Options object to be passed to the backend

      • existing: Backend | Backend[]

        Existing backend object(s) to re-use if possible

    Returns any

  • Parse URL.

    Parameters

    • source: string

      Database URL | URL of a file in Firebase Storage.

    Returns any

    Project ID, auth domain, storage bucket | A flag whether a file is in Firebase Storage, file URL.

Generated using TypeDoc