Overview of sdk-backend-spi
Home > @gooddata/sdk-backend-spi
sdk-backend-spi package
This package provides definitions of the Service Provider Interface (SPI) for the Analytical Backend.
Remarks
The interface defines functionality to be implemented for a particular backend to be used in GoodData.UI. The Analytical Backend SPI for GoodData Cloud and GoodData.CN (joint codename tiger
in @gooddata/sdk-backend-tiger
) is almost fully implemented.
Classes
Class | Description |
---|---|
ContractExpired | This exception is thrown when a contract has expired, for example if a plan's trial period has ended |
DataTooLargeError | This exception MUST be thrown when backend execution identifies that there is too much data to process for the execution and refuses to proceed. |
LimitReached | This exception is thrown when the limit of objects that can be created on backend is reached, for example if no more workspaces can be created because of the plan limits. |
NoDataError | This exception MUST be thrown when the backend execution identifies that there is no data to calculate. |
NotAuthenticated | This exception is thrown when client code triggers an operation which requires authentication but the client code did not provide credentials or the credentials are invalid. |
NotImplemented | This exception is thrown when client code asks Analytical Backend to exercise a feature that is not implemented yet. |
NotSupported | This exception is thrown when client code asks Analytical Backend to exercise an unsupported feature. |
ProtectedDataError | This exception MUST be thrown when backend execution identifies that the data to calculate results for is protected and the caller lacks the sufficient authorization. |
TimeoutError | This error means that during a repeated polling for some resource, we did not reach 200 response within the certain number of attempts/time. |
UnexpectedError | This exception MUST be thrown when the unexpected happens. This is a last-resort error type that SHOULD be used if the erroneous state cannot be categorized in a better way. |
UnexpectedResponseError | This exception MUST be thrown when communication with the backend encounters an unexpected response status code and it cannot handle or categorize it to a known, domain-specific error. |
Abstract Classes
Abstract Class | Description |
---|---|
AnalyticalBackendError | Superclass for all exceptions that can occur in Analytical Backend. |
Functions
Function | Description |
---|---|
isAnalyticalBackendError(obj) | Type guard checking whether input is an instance of AnalyticalBackendError |
isContractExpired(obj) | Type guard checking whether input is an instance of ContractExpired |
isDataTooLargeError(obj) | Type guard checking whether input is an instance of DataTooLargeError |
isElementsQueryOptionsElementsByPrimaryDisplayFormValue(obj) | Type guard checking whether the object is an instance of IElementsQueryOptionsElementsByPrimaryDisplayFormValue. |
isElementsQueryOptionsElementsByValue(obj) | Type guard checking whether the object is an instance of IElementsQueryOptionsElementsByValue. |
isLimitReached(obj) | Type guard checking whether input is an instance of LimitReached |
isNoDataError(obj) | Type guard checking whether input is an instance of NoDataError |
isNotAuthenticated(obj) | Type guard checking whether input is an instance of NotAuthenticated |
isNotImplemented(obj) | Type guard checking whether input is an instance of NotImplemented |
isNotSupported(obj) | Type guard checking whether input is an instance of NotSupported |
isProtectedDataError(obj) | Type guard checking whether input is an instance of ProtectedDataError |
isUnexpectedError(obj) | Type guard checking whether input is an instance of UnexpectedResponseError |
isUnexpectedResponseError(obj) | Type guard checking whether input is an instance of UnexpectedResponseError |
isValueBasedElementsQueryOptionsElements(obj) | Type guard checking whether the object is an instance of IElementsQueryOptionsElementsByValue or IElementsQueryOptionsElementsByPrimaryDisplayFormValue. |
layoutWidgets(layout) | (ALPHA) |
layoutWidgetsWithPaths(layout) | (ALPHA) Get all dashboard widgets (layout does not only specify rendering, but also all used widgets) |
prepareExecution(backend, definition) | Prepares execution of the provided definition against a backend. |
walkLayout(layout, { sectionCallback, itemCallback, widgetCallback, }, path) | (ALPHA) Walk dashboard layout This is useful to collect widgets from the layout or perform transforms on the layout |
Interfaces
Interface | Description |
---|---|
IAnalyticalBackend | The root of the Analytical Backend SPI. |
IAnalyticalBackendConfig | Specifies platform agnostic configuration of an analytical backend. |
IAnalyticalWorkspace | Represents an analytical workspace hosted on a backend. |
IAnomalyDetectionConfig | (ALPHA) |
IAnomalyDetectionResult | (ALPHA) |
IAttributeElementExpressionToken | Parsed MAQL token referencing an attribute element. |
IAttributeHierarchiesService | (ALPHA) Service for handle workspace attribute hierarchies |
IAuthenticatedPrincipal | Describes user, which is currently authenticated to the backend. |
IAuthenticationContext | Describes context in which the authentication is done. |
IAuthenticationProvider | Defines authentication provider to use when instance of IAnalyticalBackend discovers that the current session is not authentication. |
IAutomationsQuery | Service to query automations. |
IBackendCapabilities | Analytical Backend communicates its capabilities via objects of this type. In return, the capabilities can then be used by applications to enable / disable particular features. |
IBracketExpressionToken | Parsed MAQL bracket. |
ICancelable | (BETA) Interface that implements aborting of requests |
IChatThread | (BETA) Chatbot thread. |
IChatThreadHistory | (BETA) Chatbot thread history. |
IChatThreadQuery | (BETA) Chatbot thread query builder. |
IClusteringConfig | (ALPHA) |
IClusteringResult | (ALPHA) |
ICommentExpressionToken | Parsed MAQL comment text. |
IDashboardReferences | (ALPHA) Dashboard referenced objects |
IDashboardsQuery | Service to query dashboards. |
IDashboardWithReferences | (ALPHA) Dashboard with referenced objects |
IDataFiltersService | (ALPHA) The service that returns information about data filters. Currently, it supports only Workspace Data Filters but in future in can be extended with User Data Filters support. |
IDataSourcesService | (ALPHA) Service to work with data sources |
IDataView | A view on the calculated data. |
IDateFilterConfigsQuery | (ALPHA) This service provides access to workspace date filter configs (also known as extended date filters). Date filter configs allow to define your own date filter presets, that appear in the date filter. To make date filter configs work, you have to set enableKPIDashboardExtendedDateFilters feature flag to true. |
IElementsQuery | Service to query valid attribute elements for particular display form. |
IElementsQueryAttributeFilter | Attribute filter limiting the elements. |
IElementsQueryFactory | The attribute itself contains no view data, it's just a sequence of id's. |
IElementsQueryOptions | Configuration options for querying attribute elements |
IElementsQueryOptionsElementsByPrimaryDisplayFormValue | Specification of particular elements to load in IElementsQueryOptions using the values of the primary display form related to the attribute the requested display form is from. |
IElementsQueryOptionsElementsByUri | Specification of particular elements to load in IElementsQueryOptions using their URIs. |
IElementsQueryOptionsElementsByValue | Specification of particular elements to load in IElementsQueryOptions using their values. |
IEntitlements | Provides functions to obtain entitlements |
IExecutionFactory | Execution factory provides several methods to create a prepared execution from different types of inputs. |
IExecutionResult | Represents results of execution done with particular definition. |
IExportConfig | Configuration for exports of results into tabular formats. |
IExportDefinitionsQuery | (ALPHA) Service to query exportDefinitions. |
IExportDefinitionsQueryOptions | (ALPHA) Configuration options for querying exportDefinitions |
IExportPdfConfig | Configuration for PDF export. |
IExportResult | Result of export is an object URL pointing to a Blob of downloaded data attached to the current window instance. The result also contains name of the downloaded file provided by the backend export service. method must be used when object URL is no longer needed to release the blob memory. |
IFilterElementsQuery | Service to query valid filter elements for particular filter. |
IForecastConfig | (BETA) |
IForecastResult | (BETA) |
IForecastView | (BETA) Represents a prediction, lower bound and upper bound for a forecast. |
IGenAIChatEvaluation | (BETA) GenAI chat evaluation result. |
IGenAIService | (BETA) GenAI-powered features. |
IGetAutomationOptions | (ALPHA) Configuration options for loading automation metadata object. |
IGetAutomationsOptions | (ALPHA) Configuration options for loading automation metadata objects. |
IGetDashboardOptions | (ALPHA) Configuration options for getting dashboards. |
IGetDashboardPluginOptions | (ALPHA) Configuration options for getting dashboard plugin. |
IGetExportDefinitionOptions | (ALPHA) Configuration options for getting a single exportDefinition. |
IGetInsightOptions | Configuration options for getting a single insight. |
IGetScheduledMailOptions | (ALPHA) Configuration options for getting scheduled mails. |
IGetVisualizationClassesOptions | Additional options for the IWorkspaceInsightsService.getVisualizationClasses() function. |
IInsightReferences | Contains information about objects that may be referenced by an insight. |
IInsightReferencing | Contains information about objects that may be referencing an insight. |
IInsightsQuery | Service to query insights. |
IInsightsQueryOptions | Configuration options for querying insights |
IMeasureKeyDrivers | (ALPHA) Contains information about key drivers for a given measure. |
IMeasureReferencing | Contains information about objects that may be referencing an measure. IWorkspaceMeasuresService.getMeasureReferencingObjects() function. |
INotificationChannelsQuery | (BETA) Service to query notification channels. |
IObjectExpressionToken | Parsed MAQL token referencing a metadata object. |
IOrganization | Represents an organization that services analytical workspaces. |
IOrganizationLlmEndpointsService | (ALPHA) This service provides access to organization llm endpoints configuration. |
IOrganizationNotificationChannelService | (BETA) This service provides access to organization notifications channels. |
IOrganizationPermissionService | (ALPHA) This service provides access to organization permissions. |
IOrganizations | Provides functions to obtain IOrganization instances |
IOrganizationSettingsService | This service provides access to organization settings |
IOrganizationStylingService | This service provides access to organization styling settings such as theme. |
IOrganizationUserGroupsQuery | Service to query valid filter elements for particular filter. |
IOrganizationUserService | (ALPHA) This service provides access to organization users. |
IOrganizationUsersQuery | Service to query valid filter elements for particular filter. |
IPagedResource | Interface to interact with paged asynchronous resources |
IPermissionsAssignment | (ALPHA) Specification of the assignees and permissions to be assigned / revoked to them. |
IPreparedExecution | Prepared execution already knows what data to calculate and allows to specify how the data should be sorted and shaped into dimensions. |
ISecuritySettingsService | This service provides access to security settings defined on backend. |
ISemanticSearchQuery | (BETA) Semantic search query. |
ISemanticSearchResult | (BETA) A single search result returned by semantic search. |
ITextExpressionToken | Parsed MAQL text. |
IUserService | Represents a user. It is an entry point to various services that can be used to inspect and modify the user. |
IUserSettings | Settings for particular user. |
IUserSettingsService | This query service provides access to feature flags that are in effect for particular user. |
IUserWorkspaceSettings | Settings for particular combination of user and workspace. |
IWidgetAlertCount | (ALPHA) Pair of the widget and it's alert count |
IWidgetReferences | (ALPHA) Contains information about objects that may be referenced by a widget. The contents of this object depend on the widget and the types requested at the time of call to getWidgetReferencedObjects. |
IWidgetWithLayoutPath | (ALPHA) Widget with it's layout path |
IWorkspaceAccessControlService | (ALPHA) Service to manage access to the objects. |
IWorkspaceAttributesService | Service for querying additional attributes and attribute display forms data, and their elements. |
IWorkspaceAutomationService | (ALPHA) This service provides access to workspace automations. |
IWorkspaceCatalog | Instance of workspace catalog with loaded items |
IWorkspaceCatalogAvailableItemsFactory | Service to obtain only valid items for a particular execution or insight. |
IWorkspaceCatalogFactory | Catalog is useful for: - Interactive insight/execution creation - Exporting execution model for a specific workspace |
IWorkspaceCatalogFactoryMethods | Common methods for catalog configuration |
IWorkspaceCatalogFactoryOptions | Configuration options for querying catalog items |
IWorkspaceCatalogMethods | Common methods to obtain catalog items |
IWorkspaceCatalogWithAvailableItems | Instance of workspace catalog with loaded available items. |
IWorkspaceCatalogWithAvailableItemsFactoryOptions | Configuration options for querying catalog available items |
IWorkspaceDashboardsService | (ALPHA) Service to list, create and update analytical dashboards |
IWorkspaceDatasetsService | Service for querying workspace datasets |
IWorkspaceDescriptor | Workspace descriptor contains details about the analytical workspace. |
IWorkspaceDescriptorUpdate | Workspace descriptor properties to update. Optional properties can be set to null to delete the value. |
IWorkspaceExportDefinitionsService | (ALPHA) Service to query, update or delete exportDefinitions, and other methods related to exportDefinitions. Check IExportDefinitionMetadataObject for more details. |
IWorkspaceFactsService | Service for querying additional facts data. If you want to query facts themselves, use catalog IWorkspaceCatalogFactory |
IWorkspaceInsightsService | Service to query, update or delete insights, and other methods related to insights. Check IInsight for more details. |
IWorkspaceMeasuresService | Service for create, update or delete measures and querying additional measures data. If you want to query measures themselves, use catalog IWorkspaceCatalogFactory |
IWorkspacePermissionsService | Service to query workspace permissions |
IWorkspaceSettings | Settings for particular workspace. |
IWorkspaceSettingsService | This query service provides access to feature flags that are in effect for particular workspace. |
IWorkspacesQuery | Query to retrieve available workspaces. |
IWorkspacesQueryFactory | Factory providing creating queries used to get available workspaces. |
IWorkspacesQueryFilter | Filter options for workspaces query. |
IWorkspacesQueryOptions | Additional options for workspaces query. |
IWorkspaceStylingService | This service provides access to workspace styling settings such as color palette. |
IWorkspaceUserGroupsQuery | (ALPHA) Service to query user groups for current workspace |
IWorkspaceUserGroupsQueryOptions | (ALPHA) Configuration options for querying user groups |
IWorkspaceUsersQuery | Service to query users for current workspace |
IWorkspaceUsersQueryOptions | Configuration options for querying users |
Variables
Variable | Description |
---|---|
AnalyticalBackendErrorTypes | Types of errors that can be raised by Analytical Backends. |
isDashboardLayoutEmpty | (ALPHA) Has dashboard layout only empty sections and widgets? |
Type Aliases
Type Alias | Description |
---|---|
AnalyticalBackendFactory | Factory function to create new instances of Analytical Backend realization using both platform agnostic and platform specific configuration. |
AuthenticationFlow | Implementation of different backends MAY indicate through this structure where to redirect the browser in order to start authentication flow. |
AutomationType | (ALPHA) Type of workspace automation. |
CancelableOptions | (BETA) Options that is used for propagation cancellation signal / abort signal |
ElementsQueryOptionsElementsSpecification | Specification of particular elements to load in IElementsQueryOptions. |
ErrorConverter | Error converter |
ExportDefinitionOrdering | (ALPHA) Ordering options for exportDefinition query. |
ExportDefinitionQuerySort | (ALPHA) Sort criteria for exportDefinition query. |
ExportDefinitionQuerySortDirection | (ALPHA) Sort direction for exportDefinition query. |
ExportDefinitionQuerySortProperty | (ALPHA) Sort order for exportDefinition query. |
FilterWithResolvableElements | Only for these filter types makes sense to resolve their elements |
IAutomationsQueryResult | Queried automations are returned in a paged representation. |
IDashboardsQueryResult | Queried dashboards are returned in a paged representation. |
IDateFilterConfigsQueryResult | Paged result of valid element query. Last page of data returns empty items. |
IElementsQueryResult | Paged result of valid element query. Last page of data returns empty items. |
IExportDefinitionsQueryResult | (ALPHA) Queried exportDefinitions are returned in a paged representation. |
IInsightsQueryResult | Queried insights are returned in a paged representation. |
IMeasureExpressionToken | Token representing part of parsed MAQL measure expression. |
INotificationChannelsQueryResult | (BETA) Queried notification channels are returned in a paged representation. |
InsightOrdering | Ordering options for insight query. |
InsightReferenceTypes | |
IOrganizationUserGroupsQueryResult | Paged result of organization users query. Last page of data returns empty items. |
IOrganizationUsersQueryResult | Paged result of organization users query. Last page of data returns empty items. |
IWorkspacesQueryResult | Paged resource with results of a workspace query. |
IWorkspaceUserGroupsQueryResult | (ALPHA) Paged result of user groups query. Last page of data returns empty items. |
IWorkspaceUsersQueryResult | Paged result of users query. Last page of data returns empty items. |
LayoutPath | (ALPHA) Represents nested path in layout It's useful to track the layout location of the widget Example: ["sections", 0, "items", 2, "widget"] points to the third item widget in first section |
NotAuthenticatedHandler | Type of the function to be called when the Analytical Backend raises a NotAuthenticated error. See IAuthenticationProvider.onNotAuthenticated for more details. |
NotAuthenticatedReason | More detailed reason of the NotAuthenticated error. |
SupportedDashboardReferenceTypes | (ALPHA) |
SupportedInsightReferenceTypes | List of currently supported types of references that can be retrieved using the IWorkspaceInsightsService.getInsightReferencedObjects() function. |
SupportedWidgetReferenceTypes | (ALPHA) List of currently supported types of references that can be retrieved using getWidgetReferencedObjects() |
ValidationContext | The type of context in which is tested URL valid. |