This is the root of the Analytical Backend SPI. It allows configuration related to communication with the backend and access to analytical workspaces.
The analytical backend instance MUST be immutable. Changes to configuration of the backend MUST create a new instance to work with.
export interface IAnalyticalBackend
|capabilities||IBackendCapabilities||Capabilities available on this backend.|
|config||IAnalyticalBackendConfig||Configuration used for communication with this backend.|
|authenticate(force)||Triggers authentication process against the backend.If the 'force' parameter is specified, then the method MUST always lead to a call to the authentication provider.If the 'force' parameter is not specified, then the method MAY lead to a call to the authentication provider - if the backend lives in an already authenticated session, principal is returned. If the session is not authenticated, then the provider WILL BE called.|
|currentUser()||Returns a service for interacting with the currently authenticated user.|
|deauthenticate()||Triggers deauthentication process against the backend.|
|isAuthenticated()||Tests authentication against this backend. This requires network communication and is thus asynchronous. If the current backend (or session it lives in) is not authenticated, then this method MUST NOT call the authentication provider.|
|onHostname(hostname)||Creates new instance of backend on the provided hostname. It is valid NOT TO specify any hostname, in which case the analytical backend assumes it should communicate with the current origin.|
|organization(organizationId)||Returns an organization available on the backend.|
|organizations()||Returns a service that can be obtained to obtain organizations.|
|withAuthentication(provider)||Sets authentication provider to be used when backend discovers current session is not authenticated.|
|withTelemetry(componentName, props)||Sets telemetry information that SHOULD be sent to backend to track component usage.|
|workspace(id)||Returns an analytical workspace available on this backend.|
|workspaces()||Returns service that can be used to obtain available workspaces.|