Base class for all backends.

Hierarchy (view full)

Constructors

  • Parameters

    • source: string

      URL string describing the data location

    • o: any = {}

      Options

    Returns Backend

Properties

data: any
options: any
permissions: any
rawData: string
ref: any
source: string
_all: any[] = []
api: {} = {}

Type declaration

    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: {} = {}

    Type declaration

      defaultFormat: string = "JSON"
      hooks: Hooks = hooks
      phrases: {
          created_file: ((name?) => string);
          deleted_file: ((name?) => string);
          no_upload_permission: string;
          no_write_permission: string;
          something_went_wrong_while_connecting: ((name) => string);
          updated_file: ((name?) => string);
          uploaded_file: ((name?) => string);
      } = ...

      Type declaration

      • created_file: ((name?) => string)
          • (name?): string
          • Parameters

            • name: string = "file"

            Returns string

      • deleted_file: ((name?) => string)
          • (name?): string
          • Parameters

            • name: string = "file"

            Returns string

      • no_upload_permission: string
      • no_write_permission: string
      • something_went_wrong_while_connecting: ((name) => string)
          • (name): string
          • Parameters

            • name: any

            Returns string

      • updated_file: ((name?) => string)
          • (name?): string
          • Parameters

            • name: string = "file"

            Returns string

      • uploaded_file: ((name?) => string)
          • (name?): string
          • Parameters

            • name: string = "file"

            Returns string

      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

      Methods

      • Parameters

        • backend: any

        Returns boolean

      • 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 string

        • 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
      • Parameters

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

        Returns Promise<any>

      • Parameters

        • data: any
        • options: any

        Returns Promise<void>

      • Parameters

        • ref: any = ...

        Returns Promise<any>

      • Helper for making HTTP requests with JSON-based APIs.

        Parameters

        • call: string

          API endpoint

        • Optional data: any

          Data to send with the request

        • Optional method: string = "GET"

          HTTP method

        • Optional req: {
              headers: any;
              responseType: string;
          }

          Extra request options

          • headers: any

            Extra headers

          • responseType: string

            Response type

        Returns Promise<any>

        • JSON response
      • 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>

      • Update an existing backend instance with new parameters

        Parameters

        • source: string

          Same as constructor

        • o: any = {}

          Same as constructor

        Returns void

      • Parameters

        • file: any
        • options: any

        Returns Promise<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

      • Parameters

        • url: any
        • o: any

        Returns Promise<any>

      • Parameters

        • id: any
        • Rest ...args: any[]

        Returns string

      Generated using TypeDoc