From 6de684bd465b67cab9e4e6c1a7472ff0ef1c9663 Mon Sep 17 00:00:00 2001 From: hkad98 Date: Mon, 14 Aug 2023 09:46:49 +0200 Subject: [PATCH 1/2] Generate api client --- Makefile | 2 +- gooddata-api-client/.openapi-generator/FILES | 28 +- gooddata-api-client/README.md | 18 +- gooddata-api-client/docs/AnalyticsModelApi.md | 53 ++ gooddata-api-client/docs/DashboardsApi.md | 20 +- .../docs/DeclarativeAnalyticalDashboard.md | 4 + .../docs/DeclarativeDashboardPlugin.md | 4 + gooddata-api-client/docs/DeclarativeMetric.md | 4 + .../docs/DeclarativeUserDataFilter.md | 2 +- ...tifier.md => DeclarativeUserIdentifier.md} | 2 +- .../docs/DeclarativeVisualizationObject.md | 4 + gooddata-api-client/docs/EntitiesApi.md | 256 +++++- .../docs/JsonApiAnalyticalDashboardOut.md | 2 +- ...JsonApiAnalyticalDashboardOutAttributes.md | 18 + .../JsonApiAnalyticalDashboardOutIncludes.md | 6 +- ...nApiAnalyticalDashboardOutRelationships.md | 2 + ...ticalDashboardOutRelationshipsCreatedBy.md | 12 + .../JsonApiAnalyticalDashboardOutWithLinks.md | 2 +- .../docs/JsonApiDashboardPluginOut.md | 3 +- .../JsonApiDashboardPluginOutAttributes.md | 18 + .../docs/JsonApiDashboardPluginOutDocument.md | 1 + .../docs/JsonApiDashboardPluginOutList.md | 1 + .../JsonApiDashboardPluginOutRelationships.md | 13 + .../JsonApiDashboardPluginOutWithLinks.md | 3 +- gooddata-api-client/docs/JsonApiMetricOut.md | 2 +- .../docs/JsonApiMetricOutAttributes.md | 18 + .../docs/JsonApiMetricOutIncludes.md | 2 +- .../docs/JsonApiMetricOutRelationships.md | 2 + .../docs/JsonApiMetricOutWithLinks.md | 2 +- .../docs/JsonApiUserIdentifierLinkage.md | 14 + .../docs/JsonApiUserIdentifierOut.md | 15 + .../JsonApiUserIdentifierOutAttributes.md | 14 + .../docs/JsonApiUserIdentifierOutDocument.md | 13 + .../docs/JsonApiUserIdentifierOutList.md | 14 + .../docs/JsonApiUserIdentifierOutWithLinks.md | 15 + .../docs/JsonApiUserIdentifierToOneLinkage.md | 14 + .../docs/JsonApiVisualizationObjectOut.md | 2 +- .../JsonApiVisualizationObjectOutWithLinks.md | 2 +- gooddata-api-client/docs/LayoutApi.md | 218 ++++- gooddata-api-client/docs/MetricsApi.md | 20 +- .../docs/OrganizationDeclarativeAPIsApi.md | 55 +- .../docs/OrganizationModelControllerApi.md | 156 ++++ gooddata-api-client/docs/PluginsApi.md | 40 +- .../docs/UserDataFiltersApi.md | 2 +- .../docs/VisualizationObjectApi.md | 20 +- .../docs/WorkspaceObjectControllerApi.md | 100 ++- .../docs/WorkspacesDeclarativeAPIsApi.md | 108 ++- .../api/analytics_model_api.py | 12 + .../gooddata_api_client/api/dashboards_api.py | 15 + .../gooddata_api_client/api/entities_api.py | 412 ++++++++++ .../gooddata_api_client/api/layout_api.py | 48 ++ .../gooddata_api_client/api/metrics_api.py | 15 + .../api/organization_declarative_apis_api.py | 12 + .../api/organization_model_controller_api.py | 292 +++++++ .../gooddata_api_client/api/plugins_api.py | 75 ++ .../api/visualization_object_api.py | 15 + .../api/workspace_object_controller_api.py | 120 +++ .../api/workspaces_declarative_apis_api.py | 24 + .../model/declarative_analytical_dashboard.py | 28 + .../model/declarative_dashboard_plugin.py | 32 + .../model/declarative_metric.py | 32 + .../model/declarative_user_data_filter.py | 10 +- ...fier.py => declarative_user_identifier.py} | 6 +- .../model/declarative_visualization_object.py | 32 + .../json_api_analytical_dashboard_out.py | 10 +- ...api_analytical_dashboard_out_attributes.py | 294 +++++++ ...n_api_analytical_dashboard_out_includes.py | 31 +- ..._analytical_dashboard_out_relationships.py | 10 + ..._dashboard_out_relationships_created_by.py | 276 +++++++ ...api_analytical_dashboard_out_with_links.py | 10 +- .../model/json_api_dashboard_plugin_out.py | 16 +- ...son_api_dashboard_plugin_out_attributes.py | 294 +++++++ .../json_api_dashboard_plugin_out_document.py | 8 + .../json_api_dashboard_plugin_out_list.py | 8 + ..._api_dashboard_plugin_out_relationships.py | 274 +++++++ ...son_api_dashboard_plugin_out_with_links.py | 16 +- .../model/json_api_metric_out.py | 10 +- .../model/json_api_metric_out_attributes.py | 306 +++++++ .../model/json_api_metric_out_includes.py | 11 +- .../json_api_metric_out_relationships.py | 10 + .../model/json_api_metric_out_with_links.py | 10 +- .../model/json_api_user_identifier_linkage.py | 281 +++++++ .../model/json_api_user_identifier_out.py | 296 +++++++ ...json_api_user_identifier_out_attributes.py | 281 +++++++ .../json_api_user_identifier_out_document.py | 282 +++++++ .../json_api_user_identifier_out_list.py | 284 +++++++ ...json_api_user_identifier_out_with_links.py | 349 ++++++++ ...json_api_user_identifier_to_one_linkage.py | 327 ++++++++ .../json_api_visualization_object_out.py | 10 +- ...api_visualization_object_out_with_links.py | 10 +- .../gooddata_api_client/models/__init__.py | 14 +- schemas/gooddata-api-client.json | 767 ++++++++++++++++-- schemas/gooddata-metadata-client.json | 767 ++++++++++++++++-- 93 files changed, 7411 insertions(+), 357 deletions(-) rename gooddata-api-client/docs/{UserIdentifier.md => DeclarativeUserIdentifier.md} (95%) create mode 100644 gooddata-api-client/docs/JsonApiAnalyticalDashboardOutAttributes.md create mode 100644 gooddata-api-client/docs/JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md create mode 100644 gooddata-api-client/docs/JsonApiDashboardPluginOutAttributes.md create mode 100644 gooddata-api-client/docs/JsonApiDashboardPluginOutRelationships.md create mode 100644 gooddata-api-client/docs/JsonApiMetricOutAttributes.md create mode 100644 gooddata-api-client/docs/JsonApiUserIdentifierLinkage.md create mode 100644 gooddata-api-client/docs/JsonApiUserIdentifierOut.md create mode 100644 gooddata-api-client/docs/JsonApiUserIdentifierOutAttributes.md create mode 100644 gooddata-api-client/docs/JsonApiUserIdentifierOutDocument.md create mode 100644 gooddata-api-client/docs/JsonApiUserIdentifierOutList.md create mode 100644 gooddata-api-client/docs/JsonApiUserIdentifierOutWithLinks.md create mode 100644 gooddata-api-client/docs/JsonApiUserIdentifierToOneLinkage.md rename gooddata-api-client/gooddata_api_client/model/{user_identifier.py => declarative_user_identifier.py} (98%) create mode 100644 gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_attributes.py create mode 100644 gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_relationships_created_by.py create mode 100644 gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out_attributes.py create mode 100644 gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out_relationships.py create mode 100644 gooddata-api-client/gooddata_api_client/model/json_api_metric_out_attributes.py create mode 100644 gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_linkage.py create mode 100644 gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_out.py create mode 100644 gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_out_attributes.py create mode 100644 gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_out_document.py create mode 100644 gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_out_list.py create mode 100644 gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_out_with_links.py create mode 100644 gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_to_one_linkage.py diff --git a/Makefile b/Makefile index 87bfca199..86dd1051f 100644 --- a/Makefile +++ b/Makefile @@ -50,7 +50,7 @@ endef .PHONY: api-client api-client: download - rm -f schemas/gooddata-api-client.json+ + rm -f schemas/gooddata-api-client.json cat schemas/gooddata-*.json | jq -S -s 'reduce .[] as $$item ({}; . * $$item) + { tags : ( reduce .[].tags as $$item (null; . + $$item) | unique_by(.name) ) }' | sed '/\u0000/d' > "schemas/gooddata-api-client.json" $(call generate_client,api) diff --git a/gooddata-api-client/.openapi-generator/FILES b/gooddata-api-client/.openapi-generator/FILES index 7069f9bb8..605fbdd34 100644 --- a/gooddata-api-client/.openapi-generator/FILES +++ b/gooddata-api-client/.openapi-generator/FILES @@ -108,6 +108,7 @@ docs/DeclarativeUserGroup.md docs/DeclarativeUserGroupPermission.md docs/DeclarativeUserGroupPermissions.md docs/DeclarativeUserGroups.md +docs/DeclarativeUserIdentifier.md docs/DeclarativeUserPermission.md docs/DeclarativeUserPermissions.md docs/DeclarativeUsers.md @@ -168,6 +169,7 @@ docs/JsonApiAnalyticalDashboardInAttributes.md docs/JsonApiAnalyticalDashboardInDocument.md docs/JsonApiAnalyticalDashboardLinkage.md docs/JsonApiAnalyticalDashboardOut.md +docs/JsonApiAnalyticalDashboardOutAttributes.md docs/JsonApiAnalyticalDashboardOutDocument.md docs/JsonApiAnalyticalDashboardOutIncludes.md docs/JsonApiAnalyticalDashboardOutList.md @@ -176,6 +178,7 @@ docs/JsonApiAnalyticalDashboardOutMetaAccessInfo.md docs/JsonApiAnalyticalDashboardOutMetaOrigin.md docs/JsonApiAnalyticalDashboardOutRelationships.md docs/JsonApiAnalyticalDashboardOutRelationshipsAnalyticalDashboards.md +docs/JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md docs/JsonApiAnalyticalDashboardOutRelationshipsDashboardPlugins.md docs/JsonApiAnalyticalDashboardOutRelationshipsDatasets.md docs/JsonApiAnalyticalDashboardOutRelationshipsFilterContexts.md @@ -252,8 +255,10 @@ docs/JsonApiDashboardPluginInAttributes.md docs/JsonApiDashboardPluginInDocument.md docs/JsonApiDashboardPluginLinkage.md docs/JsonApiDashboardPluginOut.md +docs/JsonApiDashboardPluginOutAttributes.md docs/JsonApiDashboardPluginOutDocument.md docs/JsonApiDashboardPluginOutList.md +docs/JsonApiDashboardPluginOutRelationships.md docs/JsonApiDashboardPluginOutWithLinks.md docs/JsonApiDashboardPluginPatch.md docs/JsonApiDashboardPluginPatchDocument.md @@ -355,6 +360,7 @@ docs/JsonApiMetricInAttributesContent.md docs/JsonApiMetricInDocument.md docs/JsonApiMetricLinkage.md docs/JsonApiMetricOut.md +docs/JsonApiMetricOutAttributes.md docs/JsonApiMetricOutDocument.md docs/JsonApiMetricOutIncludes.md docs/JsonApiMetricOutList.md @@ -426,6 +432,13 @@ docs/JsonApiUserGroupPatch.md docs/JsonApiUserGroupPatchDocument.md docs/JsonApiUserGroupToManyLinkage.md docs/JsonApiUserGroupToOneLinkage.md +docs/JsonApiUserIdentifierLinkage.md +docs/JsonApiUserIdentifierOut.md +docs/JsonApiUserIdentifierOutAttributes.md +docs/JsonApiUserIdentifierOutDocument.md +docs/JsonApiUserIdentifierOutList.md +docs/JsonApiUserIdentifierOutWithLinks.md +docs/JsonApiUserIdentifierToOneLinkage.md docs/JsonApiUserIn.md docs/JsonApiUserInAttributes.md docs/JsonApiUserInDocument.md @@ -602,7 +615,6 @@ docs/UserGroupIdentifier.md docs/UserGroupPermission.md docs/UserGroupsDeclarativeAPIsApi.md docs/UserGroupsEntityAPIsApi.md -docs/UserIdentifier.md docs/UserModelControllerApi.md docs/UserPermission.md docs/UserSettingsApi.md @@ -764,6 +776,7 @@ gooddata_api_client/model/declarative_user_group.py gooddata_api_client/model/declarative_user_group_permission.py gooddata_api_client/model/declarative_user_group_permissions.py gooddata_api_client/model/declarative_user_groups.py +gooddata_api_client/model/declarative_user_identifier.py gooddata_api_client/model/declarative_user_permission.py gooddata_api_client/model/declarative_user_permissions.py gooddata_api_client/model/declarative_users.py @@ -817,6 +830,7 @@ gooddata_api_client/model/json_api_analytical_dashboard_in_attributes.py gooddata_api_client/model/json_api_analytical_dashboard_in_document.py gooddata_api_client/model/json_api_analytical_dashboard_linkage.py gooddata_api_client/model/json_api_analytical_dashboard_out.py +gooddata_api_client/model/json_api_analytical_dashboard_out_attributes.py gooddata_api_client/model/json_api_analytical_dashboard_out_document.py gooddata_api_client/model/json_api_analytical_dashboard_out_includes.py gooddata_api_client/model/json_api_analytical_dashboard_out_list.py @@ -825,6 +839,7 @@ gooddata_api_client/model/json_api_analytical_dashboard_out_meta_access_info.py gooddata_api_client/model/json_api_analytical_dashboard_out_meta_origin.py gooddata_api_client/model/json_api_analytical_dashboard_out_relationships.py gooddata_api_client/model/json_api_analytical_dashboard_out_relationships_analytical_dashboards.py +gooddata_api_client/model/json_api_analytical_dashboard_out_relationships_created_by.py gooddata_api_client/model/json_api_analytical_dashboard_out_relationships_dashboard_plugins.py gooddata_api_client/model/json_api_analytical_dashboard_out_relationships_datasets.py gooddata_api_client/model/json_api_analytical_dashboard_out_relationships_filter_contexts.py @@ -901,8 +916,10 @@ gooddata_api_client/model/json_api_dashboard_plugin_in_attributes.py gooddata_api_client/model/json_api_dashboard_plugin_in_document.py gooddata_api_client/model/json_api_dashboard_plugin_linkage.py gooddata_api_client/model/json_api_dashboard_plugin_out.py +gooddata_api_client/model/json_api_dashboard_plugin_out_attributes.py gooddata_api_client/model/json_api_dashboard_plugin_out_document.py gooddata_api_client/model/json_api_dashboard_plugin_out_list.py +gooddata_api_client/model/json_api_dashboard_plugin_out_relationships.py gooddata_api_client/model/json_api_dashboard_plugin_out_with_links.py gooddata_api_client/model/json_api_dashboard_plugin_patch.py gooddata_api_client/model/json_api_dashboard_plugin_patch_document.py @@ -1004,6 +1021,7 @@ gooddata_api_client/model/json_api_metric_in_attributes_content.py gooddata_api_client/model/json_api_metric_in_document.py gooddata_api_client/model/json_api_metric_linkage.py gooddata_api_client/model/json_api_metric_out.py +gooddata_api_client/model/json_api_metric_out_attributes.py gooddata_api_client/model/json_api_metric_out_document.py gooddata_api_client/model/json_api_metric_out_includes.py gooddata_api_client/model/json_api_metric_out_list.py @@ -1075,6 +1093,13 @@ gooddata_api_client/model/json_api_user_group_patch.py gooddata_api_client/model/json_api_user_group_patch_document.py gooddata_api_client/model/json_api_user_group_to_many_linkage.py gooddata_api_client/model/json_api_user_group_to_one_linkage.py +gooddata_api_client/model/json_api_user_identifier_linkage.py +gooddata_api_client/model/json_api_user_identifier_out.py +gooddata_api_client/model/json_api_user_identifier_out_attributes.py +gooddata_api_client/model/json_api_user_identifier_out_document.py +gooddata_api_client/model/json_api_user_identifier_out_list.py +gooddata_api_client/model/json_api_user_identifier_out_with_links.py +gooddata_api_client/model/json_api_user_identifier_to_one_linkage.py gooddata_api_client/model/json_api_user_in.py gooddata_api_client/model/json_api_user_in_attributes.py gooddata_api_client/model/json_api_user_in_document.py @@ -1232,7 +1257,6 @@ gooddata_api_client/model/user_assignee.py gooddata_api_client/model/user_group_assignee.py gooddata_api_client/model/user_group_identifier.py gooddata_api_client/model/user_group_permission.py -gooddata_api_client/model/user_identifier.py gooddata_api_client/model/user_permission.py gooddata_api_client/model/workspace_identifier.py gooddata_api_client/model_utils.py diff --git a/gooddata-api-client/README.md b/gooddata-api-client/README.md index cf3bc8fb7..5ecfbeecc 100644 --- a/gooddata-api-client/README.md +++ b/gooddata-api-client/README.md @@ -384,6 +384,7 @@ Class | Method | HTTP request | Description *EntitiesApi* | [**get_all_entities_themes**](docs/EntitiesApi.md#get_all_entities_themes) | **GET** /api/v1/entities/themes | Get all Theming entities *EntitiesApi* | [**get_all_entities_user_data_filters**](docs/EntitiesApi.md#get_all_entities_user_data_filters) | **GET** /api/v1/entities/workspaces/{workspaceId}/userDataFilters | Get all User Data Filters *EntitiesApi* | [**get_all_entities_user_groups**](docs/EntitiesApi.md#get_all_entities_user_groups) | **GET** /api/v1/entities/userGroups | Get UserGroup entities +*EntitiesApi* | [**get_all_entities_user_identifiers**](docs/EntitiesApi.md#get_all_entities_user_identifiers) | **GET** /api/v1/entities/userIdentifiers | Get UserIdentifier entities *EntitiesApi* | [**get_all_entities_user_settings**](docs/EntitiesApi.md#get_all_entities_user_settings) | **GET** /api/v1/entities/users/{userId}/userSettings | List all settings for a user *EntitiesApi* | [**get_all_entities_users**](docs/EntitiesApi.md#get_all_entities_users) | **GET** /api/v1/entities/users | Get User entities *EntitiesApi* | [**get_all_entities_visualization_objects**](docs/EntitiesApi.md#get_all_entities_visualization_objects) | **GET** /api/v1/entities/workspaces/{workspaceId}/visualizationObjects | Get all Visualization Objects @@ -416,6 +417,7 @@ Class | Method | HTTP request | Description *EntitiesApi* | [**get_entity_themes**](docs/EntitiesApi.md#get_entity_themes) | **GET** /api/v1/entities/themes/{id} | Get Theming *EntitiesApi* | [**get_entity_user_data_filters**](docs/EntitiesApi.md#get_entity_user_data_filters) | **GET** /api/v1/entities/workspaces/{workspaceId}/userDataFilters/{objectId} | Get a User Data Filter *EntitiesApi* | [**get_entity_user_groups**](docs/EntitiesApi.md#get_entity_user_groups) | **GET** /api/v1/entities/userGroups/{id} | Get UserGroup entity +*EntitiesApi* | [**get_entity_user_identifiers**](docs/EntitiesApi.md#get_entity_user_identifiers) | **GET** /api/v1/entities/userIdentifiers/{id} | Get UserIdentifier entity *EntitiesApi* | [**get_entity_user_settings**](docs/EntitiesApi.md#get_entity_user_settings) | **GET** /api/v1/entities/users/{userId}/userSettings/{id} | Get a setting for a user *EntitiesApi* | [**get_entity_users**](docs/EntitiesApi.md#get_entity_users) | **GET** /api/v1/entities/users/{id} | Get User entity *EntitiesApi* | [**get_entity_visualization_objects**](docs/EntitiesApi.md#get_entity_visualization_objects) | **GET** /api/v1/entities/workspaces/{workspaceId}/visualizationObjects/{objectId} | Get a Visualization Object @@ -531,6 +533,7 @@ Class | Method | HTTP request | Description *OrganizationModelControllerApi* | [**get_all_entities_organization_settings**](docs/OrganizationModelControllerApi.md#get_all_entities_organization_settings) | **GET** /api/v1/entities/organizationSettings | Get Organization entities *OrganizationModelControllerApi* | [**get_all_entities_themes**](docs/OrganizationModelControllerApi.md#get_all_entities_themes) | **GET** /api/v1/entities/themes | Get all Theming entities *OrganizationModelControllerApi* | [**get_all_entities_user_groups**](docs/OrganizationModelControllerApi.md#get_all_entities_user_groups) | **GET** /api/v1/entities/userGroups | Get UserGroup entities +*OrganizationModelControllerApi* | [**get_all_entities_user_identifiers**](docs/OrganizationModelControllerApi.md#get_all_entities_user_identifiers) | **GET** /api/v1/entities/userIdentifiers | Get UserIdentifier entities *OrganizationModelControllerApi* | [**get_all_entities_users**](docs/OrganizationModelControllerApi.md#get_all_entities_users) | **GET** /api/v1/entities/users | Get User entities *OrganizationModelControllerApi* | [**get_all_entities_workspaces**](docs/OrganizationModelControllerApi.md#get_all_entities_workspaces) | **GET** /api/v1/entities/workspaces | Get Workspace entities *OrganizationModelControllerApi* | [**get_entity_color_palettes**](docs/OrganizationModelControllerApi.md#get_entity_color_palettes) | **GET** /api/v1/entities/colorPalettes/{id} | Get Color Pallette @@ -542,6 +545,7 @@ Class | Method | HTTP request | Description *OrganizationModelControllerApi* | [**get_entity_organization_settings**](docs/OrganizationModelControllerApi.md#get_entity_organization_settings) | **GET** /api/v1/entities/organizationSettings/{id} | Get Organization entity *OrganizationModelControllerApi* | [**get_entity_themes**](docs/OrganizationModelControllerApi.md#get_entity_themes) | **GET** /api/v1/entities/themes/{id} | Get Theming *OrganizationModelControllerApi* | [**get_entity_user_groups**](docs/OrganizationModelControllerApi.md#get_entity_user_groups) | **GET** /api/v1/entities/userGroups/{id} | Get UserGroup entity +*OrganizationModelControllerApi* | [**get_entity_user_identifiers**](docs/OrganizationModelControllerApi.md#get_entity_user_identifiers) | **GET** /api/v1/entities/userIdentifiers/{id} | Get UserIdentifier entity *OrganizationModelControllerApi* | [**get_entity_users**](docs/OrganizationModelControllerApi.md#get_entity_users) | **GET** /api/v1/entities/users/{id} | Get User entity *OrganizationModelControllerApi* | [**get_entity_workspaces**](docs/OrganizationModelControllerApi.md#get_entity_workspaces) | **GET** /api/v1/entities/workspaces/{id} | Get Workspace entity *OrganizationModelControllerApi* | [**patch_entity_color_palettes**](docs/OrganizationModelControllerApi.md#patch_entity_color_palettes) | **PATCH** /api/v1/entities/colorPalettes/{id} | Patch Color Pallette @@ -736,6 +740,7 @@ Class | Method | HTTP request | Description - [DeclarativeUserGroupPermission](docs/DeclarativeUserGroupPermission.md) - [DeclarativeUserGroupPermissions](docs/DeclarativeUserGroupPermissions.md) - [DeclarativeUserGroups](docs/DeclarativeUserGroups.md) + - [DeclarativeUserIdentifier](docs/DeclarativeUserIdentifier.md) - [DeclarativeUserPermission](docs/DeclarativeUserPermission.md) - [DeclarativeUserPermissions](docs/DeclarativeUserPermissions.md) - [DeclarativeUsers](docs/DeclarativeUsers.md) @@ -789,6 +794,7 @@ Class | Method | HTTP request | Description - [JsonApiAnalyticalDashboardInDocument](docs/JsonApiAnalyticalDashboardInDocument.md) - [JsonApiAnalyticalDashboardLinkage](docs/JsonApiAnalyticalDashboardLinkage.md) - [JsonApiAnalyticalDashboardOut](docs/JsonApiAnalyticalDashboardOut.md) + - [JsonApiAnalyticalDashboardOutAttributes](docs/JsonApiAnalyticalDashboardOutAttributes.md) - [JsonApiAnalyticalDashboardOutDocument](docs/JsonApiAnalyticalDashboardOutDocument.md) - [JsonApiAnalyticalDashboardOutIncludes](docs/JsonApiAnalyticalDashboardOutIncludes.md) - [JsonApiAnalyticalDashboardOutList](docs/JsonApiAnalyticalDashboardOutList.md) @@ -797,6 +803,7 @@ Class | Method | HTTP request | Description - [JsonApiAnalyticalDashboardOutMetaOrigin](docs/JsonApiAnalyticalDashboardOutMetaOrigin.md) - [JsonApiAnalyticalDashboardOutRelationships](docs/JsonApiAnalyticalDashboardOutRelationships.md) - [JsonApiAnalyticalDashboardOutRelationshipsAnalyticalDashboards](docs/JsonApiAnalyticalDashboardOutRelationshipsAnalyticalDashboards.md) + - [JsonApiAnalyticalDashboardOutRelationshipsCreatedBy](docs/JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md) - [JsonApiAnalyticalDashboardOutRelationshipsDashboardPlugins](docs/JsonApiAnalyticalDashboardOutRelationshipsDashboardPlugins.md) - [JsonApiAnalyticalDashboardOutRelationshipsDatasets](docs/JsonApiAnalyticalDashboardOutRelationshipsDatasets.md) - [JsonApiAnalyticalDashboardOutRelationshipsFilterContexts](docs/JsonApiAnalyticalDashboardOutRelationshipsFilterContexts.md) @@ -873,8 +880,10 @@ Class | Method | HTTP request | Description - [JsonApiDashboardPluginInDocument](docs/JsonApiDashboardPluginInDocument.md) - [JsonApiDashboardPluginLinkage](docs/JsonApiDashboardPluginLinkage.md) - [JsonApiDashboardPluginOut](docs/JsonApiDashboardPluginOut.md) + - [JsonApiDashboardPluginOutAttributes](docs/JsonApiDashboardPluginOutAttributes.md) - [JsonApiDashboardPluginOutDocument](docs/JsonApiDashboardPluginOutDocument.md) - [JsonApiDashboardPluginOutList](docs/JsonApiDashboardPluginOutList.md) + - [JsonApiDashboardPluginOutRelationships](docs/JsonApiDashboardPluginOutRelationships.md) - [JsonApiDashboardPluginOutWithLinks](docs/JsonApiDashboardPluginOutWithLinks.md) - [JsonApiDashboardPluginPatch](docs/JsonApiDashboardPluginPatch.md) - [JsonApiDashboardPluginPatchDocument](docs/JsonApiDashboardPluginPatchDocument.md) @@ -976,6 +985,7 @@ Class | Method | HTTP request | Description - [JsonApiMetricInDocument](docs/JsonApiMetricInDocument.md) - [JsonApiMetricLinkage](docs/JsonApiMetricLinkage.md) - [JsonApiMetricOut](docs/JsonApiMetricOut.md) + - [JsonApiMetricOutAttributes](docs/JsonApiMetricOutAttributes.md) - [JsonApiMetricOutDocument](docs/JsonApiMetricOutDocument.md) - [JsonApiMetricOutIncludes](docs/JsonApiMetricOutIncludes.md) - [JsonApiMetricOutList](docs/JsonApiMetricOutList.md) @@ -1047,6 +1057,13 @@ Class | Method | HTTP request | Description - [JsonApiUserGroupPatchDocument](docs/JsonApiUserGroupPatchDocument.md) - [JsonApiUserGroupToManyLinkage](docs/JsonApiUserGroupToManyLinkage.md) - [JsonApiUserGroupToOneLinkage](docs/JsonApiUserGroupToOneLinkage.md) + - [JsonApiUserIdentifierLinkage](docs/JsonApiUserIdentifierLinkage.md) + - [JsonApiUserIdentifierOut](docs/JsonApiUserIdentifierOut.md) + - [JsonApiUserIdentifierOutAttributes](docs/JsonApiUserIdentifierOutAttributes.md) + - [JsonApiUserIdentifierOutDocument](docs/JsonApiUserIdentifierOutDocument.md) + - [JsonApiUserIdentifierOutList](docs/JsonApiUserIdentifierOutList.md) + - [JsonApiUserIdentifierOutWithLinks](docs/JsonApiUserIdentifierOutWithLinks.md) + - [JsonApiUserIdentifierToOneLinkage](docs/JsonApiUserIdentifierToOneLinkage.md) - [JsonApiUserIn](docs/JsonApiUserIn.md) - [JsonApiUserInAttributes](docs/JsonApiUserInAttributes.md) - [JsonApiUserInDocument](docs/JsonApiUserInDocument.md) @@ -1204,7 +1221,6 @@ Class | Method | HTTP request | Description - [UserGroupAssignee](docs/UserGroupAssignee.md) - [UserGroupIdentifier](docs/UserGroupIdentifier.md) - [UserGroupPermission](docs/UserGroupPermission.md) - - [UserIdentifier](docs/UserIdentifier.md) - [UserPermission](docs/UserPermission.md) - [WorkspaceIdentifier](docs/WorkspaceIdentifier.md) diff --git a/gooddata-api-client/docs/AnalyticsModelApi.md b/gooddata-api-client/docs/AnalyticsModelApi.md index ed7b265a3..d622b6b32 100644 --- a/gooddata-api-client/docs/AnalyticsModelApi.md +++ b/gooddata-api-client/docs/AnalyticsModelApi.md @@ -36,6 +36,9 @@ with gooddata_api_client.ApiClient() as api_client: # Create an instance of the API class api_instance = analytics_model_api.AnalyticsModelApi(api_client) workspace_id = "workspaceId_example" # str | + exclude = [ + "ACTIVITY_INFO", + ] # [str] | (optional) # example passing only required values which don't have defaults set try: @@ -44,6 +47,15 @@ with gooddata_api_client.ApiClient() as api_client: pprint(api_response) except gooddata_api_client.ApiException as e: print("Exception when calling AnalyticsModelApi->get_analytics_model: %s\n" % e) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Get analytics model + api_response = api_instance.get_analytics_model(workspace_id, exclude=exclude) + pprint(api_response) + except gooddata_api_client.ApiException as e: + print("Exception when calling AnalyticsModelApi->get_analytics_model: %s\n" % e) ``` @@ -52,6 +64,7 @@ with gooddata_api_client.ApiClient() as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **workspace_id** | **str**| | + **exclude** | **[str]**| | [optional] ### Return type @@ -122,8 +135,18 @@ with gooddata_api_client.ApiClient() as api_client: analytical_dashboards=[ DeclarativeAnalyticalDashboard( content={}, + created_at="2023-07-20 12:30", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Period to period comparison of revenues in main sectors.", id="revenues-analysis", + modified_at="2023-07-20 12:30", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), permissions=[ DeclarativeAnalyticalDashboardPermission( assignee=AssigneeIdentifier( @@ -140,8 +163,18 @@ with gooddata_api_client.ApiClient() as api_client: dashboard_plugins=[ DeclarativeDashboardPlugin( content={}, + created_at="["2023-07-20 12:30"]", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Three dimensional view of data.", id="dashboard-plugin-1", + modified_at="["2023-07-20 12:30"]", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), tags=["Revenues"], title="3D map renderer", ), @@ -158,8 +191,18 @@ with gooddata_api_client.ApiClient() as api_client: metrics=[ DeclarativeMetric( content={}, + created_at="["2023-07-20 12:30"]", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Sales for all the data available.", id="total-sales", + modified_at="["2023-07-20 12:30"]", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), tags=["Revenues"], title="Total sales", ), @@ -167,8 +210,18 @@ with gooddata_api_client.ApiClient() as api_client: visualization_objects=[ DeclarativeVisualizationObject( content={}, + created_at="["2023-07-20 12:30"]", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Simple number for total goods in current production.", id="visualization-1", + modified_at="["2023-07-20 12:30"]", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), tags=["Revenues"], title="Count of goods", ), diff --git a/gooddata-api-client/docs/DashboardsApi.md b/gooddata-api-client/docs/DashboardsApi.md index 3dc59d1ca..cb56799a2 100644 --- a/gooddata-api-client/docs/DashboardsApi.md +++ b/gooddata-api-client/docs/DashboardsApi.md @@ -55,7 +55,7 @@ with gooddata_api_client.ApiClient() as api_client: ), ) # JsonApiAnalyticalDashboardPostOptionalIdDocument | include = [ - "include=visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", + "include=createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) meta_include = [ "metaInclude=permissions,origin,accessInfo,all", @@ -137,7 +137,7 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = dashboards_api.DashboardsApi(api_client) workspace_id = "workspaceId_example" # str | object_id = "objectId_example" # str | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) # example passing only required values which don't have defaults set try: @@ -213,9 +213,9 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = dashboards_api.DashboardsApi(api_client) workspace_id = "workspaceId_example" # str | origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL" - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", + "include=createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0 size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20 @@ -309,9 +309,9 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = dashboards_api.DashboardsApi(api_client) workspace_id = "workspaceId_example" # str | object_id = "objectId_example" # str | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", + "include=createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False meta_include = [ @@ -413,9 +413,9 @@ with gooddata_api_client.ApiClient() as api_client: type="analyticalDashboard", ), ) # JsonApiAnalyticalDashboardPatchDocument | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", + "include=createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) # example passing only required values which don't have defaults set @@ -512,9 +512,9 @@ with gooddata_api_client.ApiClient() as api_client: type="analyticalDashboard", ), ) # JsonApiAnalyticalDashboardInDocument | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", + "include=createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) # example passing only required values which don't have defaults set diff --git a/gooddata-api-client/docs/DeclarativeAnalyticalDashboard.md b/gooddata-api-client/docs/DeclarativeAnalyticalDashboard.md index 9d2c1ae16..894570672 100644 --- a/gooddata-api-client/docs/DeclarativeAnalyticalDashboard.md +++ b/gooddata-api-client/docs/DeclarativeAnalyticalDashboard.md @@ -7,7 +7,11 @@ Name | Type | Description | Notes **content** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | A definition of the metric in JSON format. | **id** | **str** | Analytical dashboard ID. | **title** | **str** | Analytical dashboard title. | +**created_at** | **str, none_type** | Time of the entity creation. | [optional] +**created_by** | [**DeclarativeUserIdentifier**](DeclarativeUserIdentifier.md) | | [optional] **description** | **str** | Analytical dashboard description. | [optional] +**modified_at** | **str, none_type** | Time of the last entity modification. | [optional] +**modified_by** | [**DeclarativeUserIdentifier**](DeclarativeUserIdentifier.md) | | [optional] **permissions** | [**[DeclarativeAnalyticalDashboardPermission]**](DeclarativeAnalyticalDashboardPermission.md) | A list of permissions. | [optional] **tags** | **[str]** | A list of tags. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/gooddata-api-client/docs/DeclarativeDashboardPlugin.md b/gooddata-api-client/docs/DeclarativeDashboardPlugin.md index 0a5541a72..2090b78b7 100644 --- a/gooddata-api-client/docs/DeclarativeDashboardPlugin.md +++ b/gooddata-api-client/docs/DeclarativeDashboardPlugin.md @@ -7,7 +7,11 @@ Name | Type | Description | Notes **content** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | A definition of the metric in JSON format. | **id** | **str** | Dashboard plugin object ID. | **title** | **str** | Dashboard plugin object title. | +**created_at** | **str, none_type** | Time of the entity creation. | [optional] +**created_by** | [**DeclarativeUserIdentifier**](DeclarativeUserIdentifier.md) | | [optional] **description** | **str** | Dashboard plugin description. | [optional] +**modified_at** | **str, none_type** | Time of the last entity modification. | [optional] +**modified_by** | [**DeclarativeUserIdentifier**](DeclarativeUserIdentifier.md) | | [optional] **tags** | **[str]** | A list of tags. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/gooddata-api-client/docs/DeclarativeMetric.md b/gooddata-api-client/docs/DeclarativeMetric.md index 3ac791f6a..b6e472183 100644 --- a/gooddata-api-client/docs/DeclarativeMetric.md +++ b/gooddata-api-client/docs/DeclarativeMetric.md @@ -7,7 +7,11 @@ Name | Type | Description | Notes **content** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | A definition of the metric in JSON format. | **id** | **str** | Metric ID. | **title** | **str** | Metric title. | +**created_at** | **str, none_type** | Time of the entity creation. | [optional] +**created_by** | [**DeclarativeUserIdentifier**](DeclarativeUserIdentifier.md) | | [optional] **description** | **str** | Metric description. | [optional] +**modified_at** | **str, none_type** | Time of the last entity modification. | [optional] +**modified_by** | [**DeclarativeUserIdentifier**](DeclarativeUserIdentifier.md) | | [optional] **tags** | **[str]** | A list of tags. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/gooddata-api-client/docs/DeclarativeUserDataFilter.md b/gooddata-api-client/docs/DeclarativeUserDataFilter.md index 0f4e94913..b2f324546 100644 --- a/gooddata-api-client/docs/DeclarativeUserDataFilter.md +++ b/gooddata-api-client/docs/DeclarativeUserDataFilter.md @@ -10,7 +10,7 @@ Name | Type | Description | Notes **title** | **str** | User Data Filters setting title. | **description** | **str** | User Data Filters setting description. | [optional] **tags** | **[str]** | A list of tags. | [optional] -**user** | [**UserIdentifier**](UserIdentifier.md) | | [optional] +**user** | [**DeclarativeUserIdentifier**](DeclarativeUserIdentifier.md) | | [optional] **user_group** | [**UserGroupIdentifier**](UserGroupIdentifier.md) | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/gooddata-api-client/docs/UserIdentifier.md b/gooddata-api-client/docs/DeclarativeUserIdentifier.md similarity index 95% rename from gooddata-api-client/docs/UserIdentifier.md rename to gooddata-api-client/docs/DeclarativeUserIdentifier.md index 5de3def73..193096681 100644 --- a/gooddata-api-client/docs/UserIdentifier.md +++ b/gooddata-api-client/docs/DeclarativeUserIdentifier.md @@ -1,4 +1,4 @@ -# UserIdentifier +# DeclarativeUserIdentifier A user identifier. diff --git a/gooddata-api-client/docs/DeclarativeVisualizationObject.md b/gooddata-api-client/docs/DeclarativeVisualizationObject.md index bc57b2dbd..c42757032 100644 --- a/gooddata-api-client/docs/DeclarativeVisualizationObject.md +++ b/gooddata-api-client/docs/DeclarativeVisualizationObject.md @@ -7,7 +7,11 @@ Name | Type | Description | Notes **content** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | A definition of the metric in JSON format. | **id** | **str** | Visualization object ID. | **title** | **str** | Visualization object title. | +**created_at** | **str, none_type** | Time of the entity creation. | [optional] +**created_by** | [**DeclarativeUserIdentifier**](DeclarativeUserIdentifier.md) | | [optional] **description** | **str** | Visualization object description. | [optional] +**modified_at** | **str, none_type** | Time of the last entity modification. | [optional] +**modified_by** | [**DeclarativeUserIdentifier**](DeclarativeUserIdentifier.md) | | [optional] **tags** | **[str]** | A list of tags. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/gooddata-api-client/docs/EntitiesApi.md b/gooddata-api-client/docs/EntitiesApi.md index 60aabd196..90b365f8e 100644 --- a/gooddata-api-client/docs/EntitiesApi.md +++ b/gooddata-api-client/docs/EntitiesApi.md @@ -67,6 +67,7 @@ Method | HTTP request | Description [**get_all_entities_themes**](EntitiesApi.md#get_all_entities_themes) | **GET** /api/v1/entities/themes | Get all Theming entities [**get_all_entities_user_data_filters**](EntitiesApi.md#get_all_entities_user_data_filters) | **GET** /api/v1/entities/workspaces/{workspaceId}/userDataFilters | Get all User Data Filters [**get_all_entities_user_groups**](EntitiesApi.md#get_all_entities_user_groups) | **GET** /api/v1/entities/userGroups | Get UserGroup entities +[**get_all_entities_user_identifiers**](EntitiesApi.md#get_all_entities_user_identifiers) | **GET** /api/v1/entities/userIdentifiers | Get UserIdentifier entities [**get_all_entities_user_settings**](EntitiesApi.md#get_all_entities_user_settings) | **GET** /api/v1/entities/users/{userId}/userSettings | List all settings for a user [**get_all_entities_users**](EntitiesApi.md#get_all_entities_users) | **GET** /api/v1/entities/users | Get User entities [**get_all_entities_visualization_objects**](EntitiesApi.md#get_all_entities_visualization_objects) | **GET** /api/v1/entities/workspaces/{workspaceId}/visualizationObjects | Get all Visualization Objects @@ -99,6 +100,7 @@ Method | HTTP request | Description [**get_entity_themes**](EntitiesApi.md#get_entity_themes) | **GET** /api/v1/entities/themes/{id} | Get Theming [**get_entity_user_data_filters**](EntitiesApi.md#get_entity_user_data_filters) | **GET** /api/v1/entities/workspaces/{workspaceId}/userDataFilters/{objectId} | Get a User Data Filter [**get_entity_user_groups**](EntitiesApi.md#get_entity_user_groups) | **GET** /api/v1/entities/userGroups/{id} | Get UserGroup entity +[**get_entity_user_identifiers**](EntitiesApi.md#get_entity_user_identifiers) | **GET** /api/v1/entities/userIdentifiers/{id} | Get UserIdentifier entity [**get_entity_user_settings**](EntitiesApi.md#get_entity_user_settings) | **GET** /api/v1/entities/users/{userId}/userSettings/{id} | Get a setting for a user [**get_entity_users**](EntitiesApi.md#get_entity_users) | **GET** /api/v1/entities/users/{id} | Get User entity [**get_entity_visualization_objects**](EntitiesApi.md#get_entity_visualization_objects) | **GET** /api/v1/entities/workspaces/{workspaceId}/visualizationObjects/{objectId} | Get a Visualization Object @@ -196,7 +198,7 @@ with gooddata_api_client.ApiClient() as api_client: ), ) # JsonApiAnalyticalDashboardPostOptionalIdDocument | include = [ - "include=visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", + "include=createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) meta_include = [ "metaInclude=permissions,origin,accessInfo,all", @@ -610,6 +612,9 @@ with gooddata_api_client.ApiClient() as api_client: type="dashboardPlugin", ), ) # JsonApiDashboardPluginPostOptionalIdDocument | + include = [ + "include=createdBy,modifiedBy", + ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) meta_include = [ "metaInclude=origin,all", ] # [str] | Include Meta objects. (optional) @@ -626,7 +631,7 @@ with gooddata_api_client.ApiClient() as api_client: # and optional values try: # Post Plugins - api_response = api_instance.create_entity_dashboard_plugins(workspace_id, json_api_dashboard_plugin_post_optional_id_document, meta_include=meta_include) + api_response = api_instance.create_entity_dashboard_plugins(workspace_id, json_api_dashboard_plugin_post_optional_id_document, include=include, meta_include=meta_include) pprint(api_response) except gooddata_api_client.ApiException as e: print("Exception when calling EntitiesApi->create_entity_dashboard_plugins: %s\n" % e) @@ -639,6 +644,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **workspace_id** | **str**| | **json_api_dashboard_plugin_post_optional_id_document** | [**JsonApiDashboardPluginPostOptionalIdDocument**](JsonApiDashboardPluginPostOptionalIdDocument.md)| | + **include** | **[str]**| Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. | [optional] **meta_include** | **[str]**| Include Meta objects. | [optional] ### Return type @@ -989,7 +995,7 @@ with gooddata_api_client.ApiClient() as api_client: ), ) # JsonApiMetricPostOptionalIdDocument | include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) meta_include = [ "metaInclude=origin,all", @@ -1623,7 +1629,7 @@ with gooddata_api_client.ApiClient() as api_client: ), ) # JsonApiVisualizationObjectPostOptionalIdDocument | include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) meta_include = [ "metaInclude=origin,all", @@ -2096,7 +2102,7 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = entities_api.EntitiesApi(api_client) workspace_id = "workspaceId_example" # str | object_id = "objectId_example" # str | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) # example passing only required values which don't have defaults set try: @@ -2469,7 +2475,7 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = entities_api.EntitiesApi(api_client) workspace_id = "workspaceId_example" # str | object_id = "objectId_example" # str | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) # example passing only required values which don't have defaults set try: @@ -2769,7 +2775,7 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = entities_api.EntitiesApi(api_client) workspace_id = "workspaceId_example" # str | object_id = "objectId_example" # str | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) # example passing only required values which don't have defaults set try: @@ -3290,7 +3296,7 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = entities_api.EntitiesApi(api_client) workspace_id = "workspaceId_example" # str | object_id = "objectId_example" # str | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) # example passing only required values which don't have defaults set try: @@ -3666,9 +3672,9 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = entities_api.EntitiesApi(api_client) workspace_id = "workspaceId_example" # str | origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL" - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", + "include=createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0 size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20 @@ -4184,7 +4190,10 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = entities_api.EntitiesApi(api_client) workspace_id = "workspaceId_example" # str | origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL" - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + include = [ + "include=createdBy,modifiedBy", + ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0 size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20 sort = [ @@ -4207,7 +4216,7 @@ with gooddata_api_client.ApiClient() as api_client: # and optional values try: # Get all Plugins - api_response = api_instance.get_all_entities_dashboard_plugins(workspace_id, origin=origin, filter=filter, page=page, size=size, sort=sort, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include) + api_response = api_instance.get_all_entities_dashboard_plugins(workspace_id, origin=origin, filter=filter, include=include, page=page, size=size, sort=sort, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include) pprint(api_response) except gooddata_api_client.ApiException as e: print("Exception when calling EntitiesApi->get_all_entities_dashboard_plugins: %s\n" % e) @@ -4221,6 +4230,7 @@ Name | Type | Description | Notes **workspace_id** | **str**| | **origin** | **str**| | [optional] if omitted the server will use the default value of "ALL" **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional] + **include** | **[str]**| Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. | [optional] **page** | **int**| Zero-based page index (0..N) | [optional] if omitted the server will use the default value of 0 **size** | **int**| The size of the page to be returned | [optional] if omitted the server will use the default value of 20 **sort** | **[str]**| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] @@ -5052,9 +5062,9 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = entities_api.EntitiesApi(api_client) workspace_id = "workspaceId_example" # str | origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL" - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0 size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20 @@ -5437,6 +5447,82 @@ No authorization required - **Accept**: application/vnd.gooddata.api+json +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Request successfully processed | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_all_entities_user_identifiers** +> JsonApiUserIdentifierOutList get_all_entities_user_identifiers() + +Get UserIdentifier entities + +UserIdentifier - represents entity interacting with platform + +### Example + + +```python +import time +import gooddata_api_client +from gooddata_api_client.api import entities_api +from gooddata_api_client.model.json_api_user_identifier_out_list import JsonApiUserIdentifierOutList +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = gooddata_api_client.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with gooddata_api_client.ApiClient() as api_client: + # Create an instance of the API class + api_instance = entities_api.EntitiesApi(api_client) + filter = "filter=firstname==someString;lastname==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0 + size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20 + sort = [ + "sort_example", + ] # [str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Get UserIdentifier entities + api_response = api_instance.get_all_entities_user_identifiers(filter=filter, page=page, size=size, sort=sort) + pprint(api_response) + except gooddata_api_client.ApiException as e: + print("Exception when calling EntitiesApi->get_all_entities_user_identifiers: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional] + **page** | **int**| Zero-based page index (0..N) | [optional] if omitted the server will use the default value of 0 + **size** | **int**| The size of the page to be returned | [optional] if omitted the server will use the default value of 20 + **sort** | **[str]**| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] + +### Return type + +[**JsonApiUserIdentifierOutList**](JsonApiUserIdentifierOutList.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.gooddata.api+json + + ### HTTP response details | Status code | Description | Response headers | @@ -5636,9 +5722,9 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = entities_api.EntitiesApi(api_client) workspace_id = "workspaceId_example" # str | origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL" - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0 size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20 @@ -6216,9 +6302,9 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = entities_api.EntitiesApi(api_client) workspace_id = "workspaceId_example" # str | object_id = "objectId_example" # str | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", + "include=createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False meta_include = [ @@ -6784,7 +6870,10 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = entities_api.EntitiesApi(api_client) workspace_id = "workspaceId_example" # str | object_id = "objectId_example" # str | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + include = [ + "include=createdBy,modifiedBy", + ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False meta_include = [ "metaInclude=origin,all", @@ -6802,7 +6891,7 @@ with gooddata_api_client.ApiClient() as api_client: # and optional values try: # Get a Plugin - api_response = api_instance.get_entity_dashboard_plugins(workspace_id, object_id, filter=filter, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include) + api_response = api_instance.get_entity_dashboard_plugins(workspace_id, object_id, filter=filter, include=include, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include) pprint(api_response) except gooddata_api_client.ApiException as e: print("Exception when calling EntitiesApi->get_entity_dashboard_plugins: %s\n" % e) @@ -6816,6 +6905,7 @@ Name | Type | Description | Notes **workspace_id** | **str**| | **object_id** | **str**| | **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional] + **include** | **[str]**| Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. | [optional] **x_gdc_validate_relations** | **bool**| | [optional] if omitted the server will use the default value of False **meta_include** | **[str]**| Include Meta objects. | [optional] @@ -7614,9 +7704,9 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = entities_api.EntitiesApi(api_client) workspace_id = "workspaceId_example" # str | object_id = "objectId_example" # str | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False meta_include = [ @@ -8073,6 +8163,84 @@ No authorization required - **Accept**: application/vnd.gooddata.api+json +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Request successfully processed | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_entity_user_identifiers** +> JsonApiUserIdentifierOutDocument get_entity_user_identifiers(id) + +Get UserIdentifier entity + +UserIdentifier - represents basic informationZ about entity interacting with platform + +### Example + + +```python +import time +import gooddata_api_client +from gooddata_api_client.api import entities_api +from gooddata_api_client.model.json_api_user_identifier_out_document import JsonApiUserIdentifierOutDocument +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = gooddata_api_client.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with gooddata_api_client.ApiClient() as api_client: + # Create an instance of the API class + api_instance = entities_api.EntitiesApi(api_client) + id = "/6bUUGjjNSwg0_bs" # str | + filter = "filter=firstname==someString;lastname==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + + # example passing only required values which don't have defaults set + try: + # Get UserIdentifier entity + api_response = api_instance.get_entity_user_identifiers(id) + pprint(api_response) + except gooddata_api_client.ApiException as e: + print("Exception when calling EntitiesApi->get_entity_user_identifiers: %s\n" % e) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Get UserIdentifier entity + api_response = api_instance.get_entity_user_identifiers(id, filter=filter) + pprint(api_response) + except gooddata_api_client.ApiException as e: + print("Exception when calling EntitiesApi->get_entity_user_identifiers: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional] + +### Return type + +[**JsonApiUserIdentifierOutDocument**](JsonApiUserIdentifierOutDocument.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.gooddata.api+json + + ### HTTP response details | Status code | Description | Response headers | @@ -8268,9 +8436,9 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = entities_api.EntitiesApi(api_client) workspace_id = "workspaceId_example" # str | object_id = "objectId_example" # str | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False meta_include = [ @@ -8778,9 +8946,9 @@ with gooddata_api_client.ApiClient() as api_client: type="analyticalDashboard", ), ) # JsonApiAnalyticalDashboardPatchDocument | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", + "include=createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) # example passing only required values which don't have defaults set @@ -9234,7 +9402,10 @@ with gooddata_api_client.ApiClient() as api_client: type="dashboardPlugin", ), ) # JsonApiDashboardPluginPatchDocument | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + include = [ + "include=createdBy,modifiedBy", + ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) # example passing only required values which don't have defaults set try: @@ -9248,7 +9419,7 @@ with gooddata_api_client.ApiClient() as api_client: # and optional values try: # Patch a Plugin - api_response = api_instance.patch_entity_dashboard_plugins(workspace_id, object_id, json_api_dashboard_plugin_patch_document, filter=filter) + api_response = api_instance.patch_entity_dashboard_plugins(workspace_id, object_id, json_api_dashboard_plugin_patch_document, filter=filter, include=include) pprint(api_response) except gooddata_api_client.ApiException as e: print("Exception when calling EntitiesApi->patch_entity_dashboard_plugins: %s\n" % e) @@ -9263,6 +9434,7 @@ Name | Type | Description | Notes **object_id** | **str**| | **json_api_dashboard_plugin_patch_document** | [**JsonApiDashboardPluginPatchDocument**](JsonApiDashboardPluginPatchDocument.md)| | **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional] + **include** | **[str]**| Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. | [optional] ### Return type @@ -9625,9 +9797,9 @@ with gooddata_api_client.ApiClient() as api_client: type="metric", ), ) # JsonApiMetricPatchDocument | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) # example passing only required values which don't have defaults set @@ -10316,9 +10488,9 @@ with gooddata_api_client.ApiClient() as api_client: type="visualizationObject", ), ) # JsonApiVisualizationObjectPatchDocument | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) # example passing only required values which don't have defaults set @@ -10814,9 +10986,9 @@ with gooddata_api_client.ApiClient() as api_client: type="analyticalDashboard", ), ) # JsonApiAnalyticalDashboardInDocument | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", + "include=createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) # example passing only required values which don't have defaults set @@ -11356,7 +11528,10 @@ with gooddata_api_client.ApiClient() as api_client: type="dashboardPlugin", ), ) # JsonApiDashboardPluginInDocument | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + include = [ + "include=createdBy,modifiedBy", + ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) # example passing only required values which don't have defaults set try: @@ -11370,7 +11545,7 @@ with gooddata_api_client.ApiClient() as api_client: # and optional values try: # Put a Plugin - api_response = api_instance.update_entity_dashboard_plugins(workspace_id, object_id, json_api_dashboard_plugin_in_document, filter=filter) + api_response = api_instance.update_entity_dashboard_plugins(workspace_id, object_id, json_api_dashboard_plugin_in_document, filter=filter, include=include) pprint(api_response) except gooddata_api_client.ApiException as e: print("Exception when calling EntitiesApi->update_entity_dashboard_plugins: %s\n" % e) @@ -11385,6 +11560,7 @@ Name | Type | Description | Notes **object_id** | **str**| | **json_api_dashboard_plugin_in_document** | [**JsonApiDashboardPluginInDocument**](JsonApiDashboardPluginInDocument.md)| | **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional] + **include** | **[str]**| Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. | [optional] ### Return type @@ -11747,9 +11923,9 @@ with gooddata_api_client.ApiClient() as api_client: type="metric", ), ) # JsonApiMetricInDocument | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) # example passing only required values which don't have defaults set @@ -12528,9 +12704,9 @@ with gooddata_api_client.ApiClient() as api_client: type="visualizationObject", ), ) # JsonApiVisualizationObjectInDocument | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) # example passing only required values which don't have defaults set diff --git a/gooddata-api-client/docs/JsonApiAnalyticalDashboardOut.md b/gooddata-api-client/docs/JsonApiAnalyticalDashboardOut.md index b263c600e..e32802561 100644 --- a/gooddata-api-client/docs/JsonApiAnalyticalDashboardOut.md +++ b/gooddata-api-client/docs/JsonApiAnalyticalDashboardOut.md @@ -7,7 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **str** | API identifier of an object | **type** | **str** | Object type | defaults to "analyticalDashboard" -**attributes** | [**JsonApiAnalyticalDashboardInAttributes**](JsonApiAnalyticalDashboardInAttributes.md) | | [optional] +**attributes** | [**JsonApiAnalyticalDashboardOutAttributes**](JsonApiAnalyticalDashboardOutAttributes.md) | | [optional] **meta** | [**JsonApiAnalyticalDashboardOutMeta**](JsonApiAnalyticalDashboardOutMeta.md) | | [optional] **relationships** | [**JsonApiAnalyticalDashboardOutRelationships**](JsonApiAnalyticalDashboardOutRelationships.md) | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutAttributes.md b/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutAttributes.md new file mode 100644 index 000000000..826ae29ce --- /dev/null +++ b/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutAttributes.md @@ -0,0 +1,18 @@ +# JsonApiAnalyticalDashboardOutAttributes + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**are_relations_valid** | **bool** | | [optional] +**content** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | Free-form JSON content. Maximum supported length is 250000 characters. | [optional] +**created_at** | **datetime** | | [optional] +**description** | **str** | | [optional] +**modified_at** | **datetime** | | [optional] +**tags** | **[str]** | | [optional] +**title** | **str** | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutIncludes.md b/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutIncludes.md index 2538f038e..ae807c3b1 100644 --- a/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutIncludes.md +++ b/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutIncludes.md @@ -4,10 +4,10 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**meta** | [**JsonApiAttributeOutMeta**](JsonApiAttributeOutMeta.md) | | [optional] -**relationships** | [**JsonApiFilterContextOutRelationships**](JsonApiFilterContextOutRelationships.md) | | [optional] **links** | [**ObjectLinks**](ObjectLinks.md) | | [optional] -**attributes** | [**JsonApiDashboardPluginInAttributes**](JsonApiDashboardPluginInAttributes.md) | | [optional] +**meta** | [**JsonApiAttributeOutMeta**](JsonApiAttributeOutMeta.md) | | [optional] +**relationships** | [**JsonApiDashboardPluginOutRelationships**](JsonApiDashboardPluginOutRelationships.md) | | [optional] +**attributes** | [**JsonApiDashboardPluginOutAttributes**](JsonApiDashboardPluginOutAttributes.md) | | [optional] **id** | **str** | API identifier of an object | [optional] **type** | **str** | Object type | [optional] if omitted the server will use the default value of "dashboardPlugin" **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutRelationships.md b/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutRelationships.md index e6e820add..268c5c89d 100644 --- a/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutRelationships.md +++ b/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutRelationships.md @@ -5,11 +5,13 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **analytical_dashboards** | [**JsonApiAnalyticalDashboardOutRelationshipsAnalyticalDashboards**](JsonApiAnalyticalDashboardOutRelationshipsAnalyticalDashboards.md) | | [optional] +**created_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCreatedBy**](JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md) | | [optional] **dashboard_plugins** | [**JsonApiAnalyticalDashboardOutRelationshipsDashboardPlugins**](JsonApiAnalyticalDashboardOutRelationshipsDashboardPlugins.md) | | [optional] **datasets** | [**JsonApiAnalyticalDashboardOutRelationshipsDatasets**](JsonApiAnalyticalDashboardOutRelationshipsDatasets.md) | | [optional] **filter_contexts** | [**JsonApiAnalyticalDashboardOutRelationshipsFilterContexts**](JsonApiAnalyticalDashboardOutRelationshipsFilterContexts.md) | | [optional] **labels** | [**JsonApiAnalyticalDashboardOutRelationshipsLabels**](JsonApiAnalyticalDashboardOutRelationshipsLabels.md) | | [optional] **metrics** | [**JsonApiAnalyticalDashboardOutRelationshipsMetrics**](JsonApiAnalyticalDashboardOutRelationshipsMetrics.md) | | [optional] +**modified_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCreatedBy**](JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md) | | [optional] **visualization_objects** | [**JsonApiAnalyticalDashboardOutRelationshipsVisualizationObjects**](JsonApiAnalyticalDashboardOutRelationshipsVisualizationObjects.md) | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md b/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md new file mode 100644 index 000000000..93256df3f --- /dev/null +++ b/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md @@ -0,0 +1,12 @@ +# JsonApiAnalyticalDashboardOutRelationshipsCreatedBy + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**JsonApiUserIdentifierToOneLinkage**](JsonApiUserIdentifierToOneLinkage.md) | | +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutWithLinks.md b/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutWithLinks.md index 9561752fb..51ba7daf6 100644 --- a/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutWithLinks.md +++ b/gooddata-api-client/docs/JsonApiAnalyticalDashboardOutWithLinks.md @@ -6,7 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **str** | API identifier of an object | **type** | **str** | Object type | defaults to "analyticalDashboard" -**attributes** | [**JsonApiAnalyticalDashboardInAttributes**](JsonApiAnalyticalDashboardInAttributes.md) | | [optional] +**attributes** | [**JsonApiAnalyticalDashboardOutAttributes**](JsonApiAnalyticalDashboardOutAttributes.md) | | [optional] **meta** | [**JsonApiAnalyticalDashboardOutMeta**](JsonApiAnalyticalDashboardOutMeta.md) | | [optional] **relationships** | [**JsonApiAnalyticalDashboardOutRelationships**](JsonApiAnalyticalDashboardOutRelationships.md) | | [optional] **links** | [**ObjectLinks**](ObjectLinks.md) | | [optional] diff --git a/gooddata-api-client/docs/JsonApiDashboardPluginOut.md b/gooddata-api-client/docs/JsonApiDashboardPluginOut.md index 7b641e96c..1247f1613 100644 --- a/gooddata-api-client/docs/JsonApiDashboardPluginOut.md +++ b/gooddata-api-client/docs/JsonApiDashboardPluginOut.md @@ -7,8 +7,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **str** | API identifier of an object | **type** | **str** | Object type | defaults to "dashboardPlugin" -**attributes** | [**JsonApiDashboardPluginInAttributes**](JsonApiDashboardPluginInAttributes.md) | | [optional] +**attributes** | [**JsonApiDashboardPluginOutAttributes**](JsonApiDashboardPluginOutAttributes.md) | | [optional] **meta** | [**JsonApiAttributeOutMeta**](JsonApiAttributeOutMeta.md) | | [optional] +**relationships** | [**JsonApiDashboardPluginOutRelationships**](JsonApiDashboardPluginOutRelationships.md) | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/gooddata-api-client/docs/JsonApiDashboardPluginOutAttributes.md b/gooddata-api-client/docs/JsonApiDashboardPluginOutAttributes.md new file mode 100644 index 000000000..7c298a0b9 --- /dev/null +++ b/gooddata-api-client/docs/JsonApiDashboardPluginOutAttributes.md @@ -0,0 +1,18 @@ +# JsonApiDashboardPluginOutAttributes + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**are_relations_valid** | **bool** | | [optional] +**content** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | Free-form JSON content. Maximum supported length is 250000 characters. | [optional] +**created_at** | **datetime** | | [optional] +**description** | **str** | | [optional] +**modified_at** | **datetime** | | [optional] +**tags** | **[str]** | | [optional] +**title** | **str** | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/gooddata-api-client/docs/JsonApiDashboardPluginOutDocument.md b/gooddata-api-client/docs/JsonApiDashboardPluginOutDocument.md index d5028ba4a..3f8a0f5d8 100644 --- a/gooddata-api-client/docs/JsonApiDashboardPluginOutDocument.md +++ b/gooddata-api-client/docs/JsonApiDashboardPluginOutDocument.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **data** | [**JsonApiDashboardPluginOut**](JsonApiDashboardPluginOut.md) | | +**included** | [**[JsonApiUserIdentifierOutWithLinks]**](JsonApiUserIdentifierOutWithLinks.md) | Included resources | [optional] **links** | [**ObjectLinks**](ObjectLinks.md) | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/gooddata-api-client/docs/JsonApiDashboardPluginOutList.md b/gooddata-api-client/docs/JsonApiDashboardPluginOutList.md index 6e4b77f55..e1fc018cf 100644 --- a/gooddata-api-client/docs/JsonApiDashboardPluginOutList.md +++ b/gooddata-api-client/docs/JsonApiDashboardPluginOutList.md @@ -6,6 +6,7 @@ A JSON:API document with a list of resources Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **data** | [**[JsonApiDashboardPluginOutWithLinks]**](JsonApiDashboardPluginOutWithLinks.md) | | +**included** | [**[JsonApiUserIdentifierOutWithLinks]**](JsonApiUserIdentifierOutWithLinks.md) | Included resources | [optional] **links** | [**ListLinks**](ListLinks.md) | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/gooddata-api-client/docs/JsonApiDashboardPluginOutRelationships.md b/gooddata-api-client/docs/JsonApiDashboardPluginOutRelationships.md new file mode 100644 index 000000000..95ca9ce8b --- /dev/null +++ b/gooddata-api-client/docs/JsonApiDashboardPluginOutRelationships.md @@ -0,0 +1,13 @@ +# JsonApiDashboardPluginOutRelationships + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**created_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCreatedBy**](JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md) | | [optional] +**modified_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCreatedBy**](JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/gooddata-api-client/docs/JsonApiDashboardPluginOutWithLinks.md b/gooddata-api-client/docs/JsonApiDashboardPluginOutWithLinks.md index d1bbfc03a..e7949f6c0 100644 --- a/gooddata-api-client/docs/JsonApiDashboardPluginOutWithLinks.md +++ b/gooddata-api-client/docs/JsonApiDashboardPluginOutWithLinks.md @@ -6,8 +6,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **str** | API identifier of an object | **type** | **str** | Object type | defaults to "dashboardPlugin" -**attributes** | [**JsonApiDashboardPluginInAttributes**](JsonApiDashboardPluginInAttributes.md) | | [optional] +**attributes** | [**JsonApiDashboardPluginOutAttributes**](JsonApiDashboardPluginOutAttributes.md) | | [optional] **meta** | [**JsonApiAttributeOutMeta**](JsonApiAttributeOutMeta.md) | | [optional] +**relationships** | [**JsonApiDashboardPluginOutRelationships**](JsonApiDashboardPluginOutRelationships.md) | | [optional] **links** | [**ObjectLinks**](ObjectLinks.md) | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/gooddata-api-client/docs/JsonApiMetricOut.md b/gooddata-api-client/docs/JsonApiMetricOut.md index d3dc4fc31..8edfdb535 100644 --- a/gooddata-api-client/docs/JsonApiMetricOut.md +++ b/gooddata-api-client/docs/JsonApiMetricOut.md @@ -5,7 +5,7 @@ JSON:API representation of metric entity. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**attributes** | [**JsonApiMetricInAttributes**](JsonApiMetricInAttributes.md) | | +**attributes** | [**JsonApiMetricOutAttributes**](JsonApiMetricOutAttributes.md) | | **id** | **str** | API identifier of an object | **type** | **str** | Object type | defaults to "metric" **meta** | [**JsonApiAttributeOutMeta**](JsonApiAttributeOutMeta.md) | | [optional] diff --git a/gooddata-api-client/docs/JsonApiMetricOutAttributes.md b/gooddata-api-client/docs/JsonApiMetricOutAttributes.md new file mode 100644 index 000000000..dce126b3a --- /dev/null +++ b/gooddata-api-client/docs/JsonApiMetricOutAttributes.md @@ -0,0 +1,18 @@ +# JsonApiMetricOutAttributes + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**content** | [**JsonApiMetricInAttributesContent**](JsonApiMetricInAttributesContent.md) | | +**are_relations_valid** | **bool** | | [optional] +**created_at** | **datetime** | | [optional] +**description** | **str** | | [optional] +**modified_at** | **datetime** | | [optional] +**tags** | **[str]** | | [optional] +**title** | **str** | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/gooddata-api-client/docs/JsonApiMetricOutIncludes.md b/gooddata-api-client/docs/JsonApiMetricOutIncludes.md index fa273828f..f80721293 100644 --- a/gooddata-api-client/docs/JsonApiMetricOutIncludes.md +++ b/gooddata-api-client/docs/JsonApiMetricOutIncludes.md @@ -4,9 +4,9 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**links** | [**ObjectLinks**](ObjectLinks.md) | | [optional] **meta** | [**JsonApiAttributeOutMeta**](JsonApiAttributeOutMeta.md) | | [optional] **relationships** | [**JsonApiDatasetOutRelationships**](JsonApiDatasetOutRelationships.md) | | [optional] -**links** | [**ObjectLinks**](ObjectLinks.md) | | [optional] **attributes** | [**JsonApiDatasetOutAttributes**](JsonApiDatasetOutAttributes.md) | | [optional] **id** | **str** | API identifier of an object | [optional] **type** | **str** | Object type | [optional] if omitted the server will use the default value of "dataset" diff --git a/gooddata-api-client/docs/JsonApiMetricOutRelationships.md b/gooddata-api-client/docs/JsonApiMetricOutRelationships.md index 92e097d32..bc71ac58d 100644 --- a/gooddata-api-client/docs/JsonApiMetricOutRelationships.md +++ b/gooddata-api-client/docs/JsonApiMetricOutRelationships.md @@ -5,10 +5,12 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **attributes** | [**JsonApiDatasetOutRelationshipsAttributes**](JsonApiDatasetOutRelationshipsAttributes.md) | | [optional] +**created_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCreatedBy**](JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md) | | [optional] **datasets** | [**JsonApiAnalyticalDashboardOutRelationshipsDatasets**](JsonApiAnalyticalDashboardOutRelationshipsDatasets.md) | | [optional] **facts** | [**JsonApiDatasetOutRelationshipsFacts**](JsonApiDatasetOutRelationshipsFacts.md) | | [optional] **labels** | [**JsonApiAnalyticalDashboardOutRelationshipsLabels**](JsonApiAnalyticalDashboardOutRelationshipsLabels.md) | | [optional] **metrics** | [**JsonApiAnalyticalDashboardOutRelationshipsMetrics**](JsonApiAnalyticalDashboardOutRelationshipsMetrics.md) | | [optional] +**modified_by** | [**JsonApiAnalyticalDashboardOutRelationshipsCreatedBy**](JsonApiAnalyticalDashboardOutRelationshipsCreatedBy.md) | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/gooddata-api-client/docs/JsonApiMetricOutWithLinks.md b/gooddata-api-client/docs/JsonApiMetricOutWithLinks.md index 7e7619d02..5423a11be 100644 --- a/gooddata-api-client/docs/JsonApiMetricOutWithLinks.md +++ b/gooddata-api-client/docs/JsonApiMetricOutWithLinks.md @@ -4,7 +4,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**attributes** | [**JsonApiMetricInAttributes**](JsonApiMetricInAttributes.md) | | +**attributes** | [**JsonApiMetricOutAttributes**](JsonApiMetricOutAttributes.md) | | **id** | **str** | API identifier of an object | **type** | **str** | Object type | defaults to "metric" **meta** | [**JsonApiAttributeOutMeta**](JsonApiAttributeOutMeta.md) | | [optional] diff --git a/gooddata-api-client/docs/JsonApiUserIdentifierLinkage.md b/gooddata-api-client/docs/JsonApiUserIdentifierLinkage.md new file mode 100644 index 000000000..6c1c689f1 --- /dev/null +++ b/gooddata-api-client/docs/JsonApiUserIdentifierLinkage.md @@ -0,0 +1,14 @@ +# JsonApiUserIdentifierLinkage + +The \\\"type\\\" and \\\"id\\\" to non-empty members. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | +**type** | **str** | | defaults to "userIdentifier" +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/gooddata-api-client/docs/JsonApiUserIdentifierOut.md b/gooddata-api-client/docs/JsonApiUserIdentifierOut.md new file mode 100644 index 000000000..ba261c2b0 --- /dev/null +++ b/gooddata-api-client/docs/JsonApiUserIdentifierOut.md @@ -0,0 +1,15 @@ +# JsonApiUserIdentifierOut + +JSON:API representation of userIdentifier entity. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | API identifier of an object | +**type** | **str** | Object type | defaults to "userIdentifier" +**attributes** | [**JsonApiUserIdentifierOutAttributes**](JsonApiUserIdentifierOutAttributes.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/gooddata-api-client/docs/JsonApiUserIdentifierOutAttributes.md b/gooddata-api-client/docs/JsonApiUserIdentifierOutAttributes.md new file mode 100644 index 000000000..6922c13d9 --- /dev/null +++ b/gooddata-api-client/docs/JsonApiUserIdentifierOutAttributes.md @@ -0,0 +1,14 @@ +# JsonApiUserIdentifierOutAttributes + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**email** | **str** | | [optional] +**firstname** | **str** | | [optional] +**lastname** | **str** | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/gooddata-api-client/docs/JsonApiUserIdentifierOutDocument.md b/gooddata-api-client/docs/JsonApiUserIdentifierOutDocument.md new file mode 100644 index 000000000..98ae5db89 --- /dev/null +++ b/gooddata-api-client/docs/JsonApiUserIdentifierOutDocument.md @@ -0,0 +1,13 @@ +# JsonApiUserIdentifierOutDocument + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**JsonApiUserIdentifierOut**](JsonApiUserIdentifierOut.md) | | +**links** | [**ObjectLinks**](ObjectLinks.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/gooddata-api-client/docs/JsonApiUserIdentifierOutList.md b/gooddata-api-client/docs/JsonApiUserIdentifierOutList.md new file mode 100644 index 000000000..02854b3e4 --- /dev/null +++ b/gooddata-api-client/docs/JsonApiUserIdentifierOutList.md @@ -0,0 +1,14 @@ +# JsonApiUserIdentifierOutList + +A JSON:API document with a list of resources + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**[JsonApiUserIdentifierOutWithLinks]**](JsonApiUserIdentifierOutWithLinks.md) | | +**links** | [**ListLinks**](ListLinks.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/gooddata-api-client/docs/JsonApiUserIdentifierOutWithLinks.md b/gooddata-api-client/docs/JsonApiUserIdentifierOutWithLinks.md new file mode 100644 index 000000000..67f07da1a --- /dev/null +++ b/gooddata-api-client/docs/JsonApiUserIdentifierOutWithLinks.md @@ -0,0 +1,15 @@ +# JsonApiUserIdentifierOutWithLinks + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | API identifier of an object | +**type** | **str** | Object type | defaults to "userIdentifier" +**attributes** | [**JsonApiUserIdentifierOutAttributes**](JsonApiUserIdentifierOutAttributes.md) | | [optional] +**links** | [**ObjectLinks**](ObjectLinks.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/gooddata-api-client/docs/JsonApiUserIdentifierToOneLinkage.md b/gooddata-api-client/docs/JsonApiUserIdentifierToOneLinkage.md new file mode 100644 index 000000000..2c0cd4ec8 --- /dev/null +++ b/gooddata-api-client/docs/JsonApiUserIdentifierToOneLinkage.md @@ -0,0 +1,14 @@ +# JsonApiUserIdentifierToOneLinkage + +References to other resource objects in a to-one (\\\"relationship\\\"). Relationships can be specified by including a member in a resource's links object. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**type** | **str** | | [optional] if omitted the server will use the default value of "userIdentifier" +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/gooddata-api-client/docs/JsonApiVisualizationObjectOut.md b/gooddata-api-client/docs/JsonApiVisualizationObjectOut.md index 99bfe50d0..8ff26f53d 100644 --- a/gooddata-api-client/docs/JsonApiVisualizationObjectOut.md +++ b/gooddata-api-client/docs/JsonApiVisualizationObjectOut.md @@ -7,7 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **str** | API identifier of an object | **type** | **str** | Object type | defaults to "visualizationObject" -**attributes** | [**JsonApiAnalyticalDashboardInAttributes**](JsonApiAnalyticalDashboardInAttributes.md) | | [optional] +**attributes** | [**JsonApiAnalyticalDashboardOutAttributes**](JsonApiAnalyticalDashboardOutAttributes.md) | | [optional] **meta** | [**JsonApiAttributeOutMeta**](JsonApiAttributeOutMeta.md) | | [optional] **relationships** | [**JsonApiMetricOutRelationships**](JsonApiMetricOutRelationships.md) | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/gooddata-api-client/docs/JsonApiVisualizationObjectOutWithLinks.md b/gooddata-api-client/docs/JsonApiVisualizationObjectOutWithLinks.md index 18df3d170..c0f4e09e9 100644 --- a/gooddata-api-client/docs/JsonApiVisualizationObjectOutWithLinks.md +++ b/gooddata-api-client/docs/JsonApiVisualizationObjectOutWithLinks.md @@ -6,7 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **str** | API identifier of an object | **type** | **str** | Object type | defaults to "visualizationObject" -**attributes** | [**JsonApiAnalyticalDashboardInAttributes**](JsonApiAnalyticalDashboardInAttributes.md) | | [optional] +**attributes** | [**JsonApiAnalyticalDashboardOutAttributes**](JsonApiAnalyticalDashboardOutAttributes.md) | | [optional] **meta** | [**JsonApiAttributeOutMeta**](JsonApiAttributeOutMeta.md) | | [optional] **relationships** | [**JsonApiMetricOutRelationships**](JsonApiMetricOutRelationships.md) | | [optional] **links** | [**ObjectLinks**](ObjectLinks.md) | | [optional] diff --git a/gooddata-api-client/docs/LayoutApi.md b/gooddata-api-client/docs/LayoutApi.md index 1235d6585..7204a2471 100644 --- a/gooddata-api-client/docs/LayoutApi.md +++ b/gooddata-api-client/docs/LayoutApi.md @@ -64,6 +64,9 @@ with gooddata_api_client.ApiClient() as api_client: # Create an instance of the API class api_instance = layout_api.LayoutApi(api_client) workspace_id = "workspaceId_example" # str | + exclude = [ + "ACTIVITY_INFO", + ] # [str] | (optional) # example passing only required values which don't have defaults set try: @@ -72,6 +75,15 @@ with gooddata_api_client.ApiClient() as api_client: pprint(api_response) except gooddata_api_client.ApiException as e: print("Exception when calling LayoutApi->get_analytics_model: %s\n" % e) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Get analytics model + api_response = api_instance.get_analytics_model(workspace_id, exclude=exclude) + pprint(api_response) + except gooddata_api_client.ApiException as e: + print("Exception when calling LayoutApi->get_analytics_model: %s\n" % e) ``` @@ -80,6 +92,7 @@ with gooddata_api_client.ApiClient() as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **workspace_id** | **str**| | + **exclude** | **[str]**| | [optional] ### Return type @@ -271,11 +284,15 @@ configuration = gooddata_api_client.Configuration( with gooddata_api_client.ApiClient() as api_client: # Create an instance of the API class api_instance = layout_api.LayoutApi(api_client) + exclude = [ + "ACTIVITY_INFO", + ] # [str] | (optional) - # example, this endpoint has no required or optional parameters + # example passing only required values which don't have defaults set + # and optional values try: # Get organization layout - api_response = api_instance.get_organization_layout() + api_response = api_instance.get_organization_layout(exclude=exclude) pprint(api_response) except gooddata_api_client.ApiException as e: print("Exception when calling LayoutApi->get_organization_layout: %s\n" % e) @@ -283,7 +300,10 @@ with gooddata_api_client.ApiClient() as api_client: ### Parameters -This endpoint does not need any parameter. + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **exclude** | **[str]**| | [optional] ### Return type @@ -855,6 +875,9 @@ with gooddata_api_client.ApiClient() as api_client: # Create an instance of the API class api_instance = layout_api.LayoutApi(api_client) workspace_id = "workspaceId_example" # str | + exclude = [ + "ACTIVITY_INFO", + ] # [str] | (optional) # example passing only required values which don't have defaults set try: @@ -863,6 +886,15 @@ with gooddata_api_client.ApiClient() as api_client: pprint(api_response) except gooddata_api_client.ApiException as e: print("Exception when calling LayoutApi->get_workspace_layout: %s\n" % e) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Get workspace layout + api_response = api_instance.get_workspace_layout(workspace_id, exclude=exclude) + pprint(api_response) + except gooddata_api_client.ApiException as e: + print("Exception when calling LayoutApi->get_workspace_layout: %s\n" % e) ``` @@ -871,6 +903,7 @@ with gooddata_api_client.ApiClient() as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **workspace_id** | **str**| | + **exclude** | **[str]**| | [optional] ### Return type @@ -988,11 +1021,15 @@ configuration = gooddata_api_client.Configuration( with gooddata_api_client.ApiClient() as api_client: # Create an instance of the API class api_instance = layout_api.LayoutApi(api_client) + exclude = [ + "ACTIVITY_INFO", + ] # [str] | (optional) - # example, this endpoint has no required or optional parameters + # example passing only required values which don't have defaults set + # and optional values try: # Get all workspaces layout - api_response = api_instance.get_workspaces_layout() + api_response = api_instance.get_workspaces_layout(exclude=exclude) pprint(api_response) except gooddata_api_client.ApiException as e: print("Exception when calling LayoutApi->get_workspaces_layout: %s\n" % e) @@ -1000,7 +1037,10 @@ with gooddata_api_client.ApiClient() as api_client: ### Parameters -This endpoint does not need any parameter. + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **exclude** | **[str]**| | [optional] ### Return type @@ -1499,8 +1539,18 @@ with gooddata_api_client.ApiClient() as api_client: analytical_dashboards=[ DeclarativeAnalyticalDashboard( content={}, + created_at="2023-07-20 12:30", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Period to period comparison of revenues in main sectors.", id="revenues-analysis", + modified_at="2023-07-20 12:30", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), permissions=[ DeclarativeAnalyticalDashboardPermission( assignee=AssigneeIdentifier( @@ -1517,8 +1567,18 @@ with gooddata_api_client.ApiClient() as api_client: dashboard_plugins=[ DeclarativeDashboardPlugin( content={}, + created_at="["2023-07-20 12:30"]", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Three dimensional view of data.", id="dashboard-plugin-1", + modified_at="["2023-07-20 12:30"]", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), tags=["Revenues"], title="3D map renderer", ), @@ -1535,8 +1595,18 @@ with gooddata_api_client.ApiClient() as api_client: metrics=[ DeclarativeMetric( content={}, + created_at="["2023-07-20 12:30"]", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Sales for all the data available.", id="total-sales", + modified_at="["2023-07-20 12:30"]", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), tags=["Revenues"], title="Total sales", ), @@ -1544,8 +1614,18 @@ with gooddata_api_client.ApiClient() as api_client: visualization_objects=[ DeclarativeVisualizationObject( content={}, + created_at="["2023-07-20 12:30"]", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Simple number for total goods in current production.", id="visualization-1", + modified_at="["2023-07-20 12:30"]", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), tags=["Revenues"], title="Count of goods", ), @@ -1760,8 +1840,18 @@ with gooddata_api_client.ApiClient() as api_client: analytical_dashboards=[ DeclarativeAnalyticalDashboard( content={}, + created_at="2023-07-20 12:30", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Period to period comparison of revenues in main sectors.", id="revenues-analysis", + modified_at="2023-07-20 12:30", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), permissions=[ DeclarativeAnalyticalDashboardPermission( assignee=AssigneeIdentifier( @@ -1778,8 +1868,18 @@ with gooddata_api_client.ApiClient() as api_client: dashboard_plugins=[ DeclarativeDashboardPlugin( content={}, + created_at="["2023-07-20 12:30"]", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Three dimensional view of data.", id="dashboard-plugin-1", + modified_at="["2023-07-20 12:30"]", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), tags=["Revenues"], title="3D map renderer", ), @@ -1796,8 +1896,18 @@ with gooddata_api_client.ApiClient() as api_client: metrics=[ DeclarativeMetric( content={}, + created_at="["2023-07-20 12:30"]", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Sales for all the data available.", id="total-sales", + modified_at="["2023-07-20 12:30"]", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), tags=["Revenues"], title="Total sales", ), @@ -1805,8 +1915,18 @@ with gooddata_api_client.ApiClient() as api_client: visualization_objects=[ DeclarativeVisualizationObject( content={}, + created_at="["2023-07-20 12:30"]", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Simple number for total goods in current production.", id="visualization-1", + modified_at="["2023-07-20 12:30"]", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), tags=["Revenues"], title="Count of goods", ), @@ -2298,8 +2418,18 @@ with gooddata_api_client.ApiClient() as api_client: analytical_dashboards=[ DeclarativeAnalyticalDashboard( content={}, + created_at="2023-07-20 12:30", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Period to period comparison of revenues in main sectors.", id="revenues-analysis", + modified_at="2023-07-20 12:30", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), permissions=[ DeclarativeAnalyticalDashboardPermission( assignee=AssigneeIdentifier( @@ -2316,8 +2446,18 @@ with gooddata_api_client.ApiClient() as api_client: dashboard_plugins=[ DeclarativeDashboardPlugin( content={}, + created_at="["2023-07-20 12:30"]", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Three dimensional view of data.", id="dashboard-plugin-1", + modified_at="["2023-07-20 12:30"]", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), tags=["Revenues"], title="3D map renderer", ), @@ -2334,8 +2474,18 @@ with gooddata_api_client.ApiClient() as api_client: metrics=[ DeclarativeMetric( content={}, + created_at="["2023-07-20 12:30"]", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Sales for all the data available.", id="total-sales", + modified_at="["2023-07-20 12:30"]", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), tags=["Revenues"], title="Total sales", ), @@ -2343,8 +2493,18 @@ with gooddata_api_client.ApiClient() as api_client: visualization_objects=[ DeclarativeVisualizationObject( content={}, + created_at="["2023-07-20 12:30"]", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Simple number for total goods in current production.", id="visualization-1", + modified_at="["2023-07-20 12:30"]", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), tags=["Revenues"], title="Count of goods", ), @@ -2502,7 +2662,7 @@ with gooddata_api_client.ApiClient() as api_client: maql="{label/country} = "USA" AND {label/date.year} = THIS(YEAR)", tags=["Revenues"], title="Country ID setting", - user=UserIdentifier( + user=DeclarativeUserIdentifier( id="employee123", type="user", ), @@ -2677,7 +2837,7 @@ with gooddata_api_client.ApiClient() as api_client: maql="{label/country} = "USA" AND {label/date.year} = THIS(YEAR)", tags=["Revenues"], title="Country ID setting", - user=UserIdentifier( + user=DeclarativeUserIdentifier( id="employee123", type="user", ), @@ -3154,8 +3314,18 @@ with gooddata_api_client.ApiClient() as api_client: analytical_dashboards=[ DeclarativeAnalyticalDashboard( content={}, + created_at="2023-07-20 12:30", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Period to period comparison of revenues in main sectors.", id="revenues-analysis", + modified_at="2023-07-20 12:30", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), permissions=[ DeclarativeAnalyticalDashboardPermission( assignee=AssigneeIdentifier( @@ -3172,8 +3342,18 @@ with gooddata_api_client.ApiClient() as api_client: dashboard_plugins=[ DeclarativeDashboardPlugin( content={}, + created_at="["2023-07-20 12:30"]", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Three dimensional view of data.", id="dashboard-plugin-1", + modified_at="["2023-07-20 12:30"]", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), tags=["Revenues"], title="3D map renderer", ), @@ -3190,8 +3370,18 @@ with gooddata_api_client.ApiClient() as api_client: metrics=[ DeclarativeMetric( content={}, + created_at="["2023-07-20 12:30"]", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Sales for all the data available.", id="total-sales", + modified_at="["2023-07-20 12:30"]", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), tags=["Revenues"], title="Total sales", ), @@ -3199,8 +3389,18 @@ with gooddata_api_client.ApiClient() as api_client: visualization_objects=[ DeclarativeVisualizationObject( content={}, + created_at="["2023-07-20 12:30"]", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Simple number for total goods in current production.", id="visualization-1", + modified_at="["2023-07-20 12:30"]", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), tags=["Revenues"], title="Count of goods", ), @@ -3358,7 +3558,7 @@ with gooddata_api_client.ApiClient() as api_client: maql="{label/country} = "USA" AND {label/date.year} = THIS(YEAR)", tags=["Revenues"], title="Country ID setting", - user=UserIdentifier( + user=DeclarativeUserIdentifier( id="employee123", type="user", ), diff --git a/gooddata-api-client/docs/MetricsApi.md b/gooddata-api-client/docs/MetricsApi.md index 84ba9dc2f..82b9f36bc 100644 --- a/gooddata-api-client/docs/MetricsApi.md +++ b/gooddata-api-client/docs/MetricsApi.md @@ -58,7 +58,7 @@ with gooddata_api_client.ApiClient() as api_client: ), ) # JsonApiMetricPostOptionalIdDocument | include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) meta_include = [ "metaInclude=origin,all", @@ -140,7 +140,7 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = metrics_api.MetricsApi(api_client) workspace_id = "workspaceId_example" # str | object_id = "objectId_example" # str | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) # example passing only required values which don't have defaults set try: @@ -216,9 +216,9 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = metrics_api.MetricsApi(api_client) workspace_id = "workspaceId_example" # str | origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL" - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0 size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20 @@ -312,9 +312,9 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = metrics_api.MetricsApi(api_client) workspace_id = "workspaceId_example" # str | object_id = "objectId_example" # str | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False meta_include = [ @@ -419,9 +419,9 @@ with gooddata_api_client.ApiClient() as api_client: type="metric", ), ) # JsonApiMetricPatchDocument | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) # example passing only required values which don't have defaults set @@ -521,9 +521,9 @@ with gooddata_api_client.ApiClient() as api_client: type="metric", ), ) # JsonApiMetricInDocument | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) # example passing only required values which don't have defaults set diff --git a/gooddata-api-client/docs/OrganizationDeclarativeAPIsApi.md b/gooddata-api-client/docs/OrganizationDeclarativeAPIsApi.md index 97b0ca752..99879701c 100644 --- a/gooddata-api-client/docs/OrganizationDeclarativeAPIsApi.md +++ b/gooddata-api-client/docs/OrganizationDeclarativeAPIsApi.md @@ -35,11 +35,15 @@ configuration = gooddata_api_client.Configuration( with gooddata_api_client.ApiClient() as api_client: # Create an instance of the API class api_instance = organization_declarative_apis_api.OrganizationDeclarativeAPIsApi(api_client) + exclude = [ + "ACTIVITY_INFO", + ] # [str] | (optional) - # example, this endpoint has no required or optional parameters + # example passing only required values which don't have defaults set + # and optional values try: # Get organization layout - api_response = api_instance.get_organization_layout() + api_response = api_instance.get_organization_layout(exclude=exclude) pprint(api_response) except gooddata_api_client.ApiException as e: print("Exception when calling OrganizationDeclarativeAPIsApi->get_organization_layout: %s\n" % e) @@ -47,7 +51,10 @@ with gooddata_api_client.ApiClient() as api_client: ### Parameters -This endpoint does not need any parameter. + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **exclude** | **[str]**| | [optional] ### Return type @@ -326,8 +333,18 @@ with gooddata_api_client.ApiClient() as api_client: analytical_dashboards=[ DeclarativeAnalyticalDashboard( content={}, + created_at="2023-07-20 12:30", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Period to period comparison of revenues in main sectors.", id="revenues-analysis", + modified_at="2023-07-20 12:30", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), permissions=[ DeclarativeAnalyticalDashboardPermission( assignee=AssigneeIdentifier( @@ -344,8 +361,18 @@ with gooddata_api_client.ApiClient() as api_client: dashboard_plugins=[ DeclarativeDashboardPlugin( content={}, + created_at="["2023-07-20 12:30"]", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Three dimensional view of data.", id="dashboard-plugin-1", + modified_at="["2023-07-20 12:30"]", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), tags=["Revenues"], title="3D map renderer", ), @@ -362,8 +389,18 @@ with gooddata_api_client.ApiClient() as api_client: metrics=[ DeclarativeMetric( content={}, + created_at="["2023-07-20 12:30"]", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Sales for all the data available.", id="total-sales", + modified_at="["2023-07-20 12:30"]", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), tags=["Revenues"], title="Total sales", ), @@ -371,8 +408,18 @@ with gooddata_api_client.ApiClient() as api_client: visualization_objects=[ DeclarativeVisualizationObject( content={}, + created_at="["2023-07-20 12:30"]", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Simple number for total goods in current production.", id="visualization-1", + modified_at="["2023-07-20 12:30"]", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), tags=["Revenues"], title="Count of goods", ), @@ -530,7 +577,7 @@ with gooddata_api_client.ApiClient() as api_client: maql="{label/country} = "USA" AND {label/date.year} = THIS(YEAR)", tags=["Revenues"], title="Country ID setting", - user=UserIdentifier( + user=DeclarativeUserIdentifier( id="employee123", type="user", ), diff --git a/gooddata-api-client/docs/OrganizationModelControllerApi.md b/gooddata-api-client/docs/OrganizationModelControllerApi.md index bf57e7ce5..6ed775e2d 100644 --- a/gooddata-api-client/docs/OrganizationModelControllerApi.md +++ b/gooddata-api-client/docs/OrganizationModelControllerApi.md @@ -31,6 +31,7 @@ Method | HTTP request | Description [**get_all_entities_organization_settings**](OrganizationModelControllerApi.md#get_all_entities_organization_settings) | **GET** /api/v1/entities/organizationSettings | Get Organization entities [**get_all_entities_themes**](OrganizationModelControllerApi.md#get_all_entities_themes) | **GET** /api/v1/entities/themes | Get all Theming entities [**get_all_entities_user_groups**](OrganizationModelControllerApi.md#get_all_entities_user_groups) | **GET** /api/v1/entities/userGroups | Get UserGroup entities +[**get_all_entities_user_identifiers**](OrganizationModelControllerApi.md#get_all_entities_user_identifiers) | **GET** /api/v1/entities/userIdentifiers | Get UserIdentifier entities [**get_all_entities_users**](OrganizationModelControllerApi.md#get_all_entities_users) | **GET** /api/v1/entities/users | Get User entities [**get_all_entities_workspaces**](OrganizationModelControllerApi.md#get_all_entities_workspaces) | **GET** /api/v1/entities/workspaces | Get Workspace entities [**get_entity_color_palettes**](OrganizationModelControllerApi.md#get_entity_color_palettes) | **GET** /api/v1/entities/colorPalettes/{id} | Get Color Pallette @@ -42,6 +43,7 @@ Method | HTTP request | Description [**get_entity_organization_settings**](OrganizationModelControllerApi.md#get_entity_organization_settings) | **GET** /api/v1/entities/organizationSettings/{id} | Get Organization entity [**get_entity_themes**](OrganizationModelControllerApi.md#get_entity_themes) | **GET** /api/v1/entities/themes/{id} | Get Theming [**get_entity_user_groups**](OrganizationModelControllerApi.md#get_entity_user_groups) | **GET** /api/v1/entities/userGroups/{id} | Get UserGroup entity +[**get_entity_user_identifiers**](OrganizationModelControllerApi.md#get_entity_user_identifiers) | **GET** /api/v1/entities/userIdentifiers/{id} | Get UserIdentifier entity [**get_entity_users**](OrganizationModelControllerApi.md#get_entity_users) | **GET** /api/v1/entities/users/{id} | Get User entity [**get_entity_workspaces**](OrganizationModelControllerApi.md#get_entity_workspaces) | **GET** /api/v1/entities/workspaces/{id} | Get Workspace entity [**patch_entity_color_palettes**](OrganizationModelControllerApi.md#patch_entity_color_palettes) | **PATCH** /api/v1/entities/colorPalettes/{id} | Patch Color Pallette @@ -2200,6 +2202,82 @@ No authorization required - **Accept**: application/vnd.gooddata.api+json +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Request successfully processed | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_all_entities_user_identifiers** +> JsonApiUserIdentifierOutList get_all_entities_user_identifiers() + +Get UserIdentifier entities + +UserIdentifier - represents entity interacting with platform + +### Example + + +```python +import time +import gooddata_api_client +from gooddata_api_client.api import organization_model_controller_api +from gooddata_api_client.model.json_api_user_identifier_out_list import JsonApiUserIdentifierOutList +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = gooddata_api_client.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with gooddata_api_client.ApiClient() as api_client: + # Create an instance of the API class + api_instance = organization_model_controller_api.OrganizationModelControllerApi(api_client) + filter = "filter=firstname==someString;lastname==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0 + size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20 + sort = [ + "sort_example", + ] # [str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Get UserIdentifier entities + api_response = api_instance.get_all_entities_user_identifiers(filter=filter, page=page, size=size, sort=sort) + pprint(api_response) + except gooddata_api_client.ApiException as e: + print("Exception when calling OrganizationModelControllerApi->get_all_entities_user_identifiers: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional] + **page** | **int**| Zero-based page index (0..N) | [optional] if omitted the server will use the default value of 0 + **size** | **int**| The size of the page to be returned | [optional] if omitted the server will use the default value of 20 + **sort** | **[str]**| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] + +### Return type + +[**JsonApiUserIdentifierOutList**](JsonApiUserIdentifierOutList.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.gooddata.api+json + + ### HTTP response details | Status code | Description | Response headers | @@ -3070,6 +3148,84 @@ No authorization required - **Accept**: application/vnd.gooddata.api+json +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Request successfully processed | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_entity_user_identifiers** +> JsonApiUserIdentifierOutDocument get_entity_user_identifiers(id) + +Get UserIdentifier entity + +UserIdentifier - represents basic informationZ about entity interacting with platform + +### Example + + +```python +import time +import gooddata_api_client +from gooddata_api_client.api import organization_model_controller_api +from gooddata_api_client.model.json_api_user_identifier_out_document import JsonApiUserIdentifierOutDocument +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = gooddata_api_client.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with gooddata_api_client.ApiClient() as api_client: + # Create an instance of the API class + api_instance = organization_model_controller_api.OrganizationModelControllerApi(api_client) + id = "/6bUUGjjNSwg0_bs" # str | + filter = "filter=firstname==someString;lastname==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + + # example passing only required values which don't have defaults set + try: + # Get UserIdentifier entity + api_response = api_instance.get_entity_user_identifiers(id) + pprint(api_response) + except gooddata_api_client.ApiException as e: + print("Exception when calling OrganizationModelControllerApi->get_entity_user_identifiers: %s\n" % e) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Get UserIdentifier entity + api_response = api_instance.get_entity_user_identifiers(id, filter=filter) + pprint(api_response) + except gooddata_api_client.ApiException as e: + print("Exception when calling OrganizationModelControllerApi->get_entity_user_identifiers: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional] + +### Return type + +[**JsonApiUserIdentifierOutDocument**](JsonApiUserIdentifierOutDocument.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.gooddata.api+json + + ### HTTP response details | Status code | Description | Response headers | diff --git a/gooddata-api-client/docs/PluginsApi.md b/gooddata-api-client/docs/PluginsApi.md index f184f3b6f..5ef33a213 100644 --- a/gooddata-api-client/docs/PluginsApi.md +++ b/gooddata-api-client/docs/PluginsApi.md @@ -54,6 +54,9 @@ with gooddata_api_client.ApiClient() as api_client: type="dashboardPlugin", ), ) # JsonApiDashboardPluginPostOptionalIdDocument | + include = [ + "include=createdBy,modifiedBy", + ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) meta_include = [ "metaInclude=origin,all", ] # [str] | Include Meta objects. (optional) @@ -70,7 +73,7 @@ with gooddata_api_client.ApiClient() as api_client: # and optional values try: # Post Plugins - api_response = api_instance.create_entity_dashboard_plugins(workspace_id, json_api_dashboard_plugin_post_optional_id_document, meta_include=meta_include) + api_response = api_instance.create_entity_dashboard_plugins(workspace_id, json_api_dashboard_plugin_post_optional_id_document, include=include, meta_include=meta_include) pprint(api_response) except gooddata_api_client.ApiException as e: print("Exception when calling PluginsApi->create_entity_dashboard_plugins: %s\n" % e) @@ -83,6 +86,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **workspace_id** | **str**| | **json_api_dashboard_plugin_post_optional_id_document** | [**JsonApiDashboardPluginPostOptionalIdDocument**](JsonApiDashboardPluginPostOptionalIdDocument.md)| | + **include** | **[str]**| Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. | [optional] **meta_include** | **[str]**| Include Meta objects. | [optional] ### Return type @@ -133,7 +137,7 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = plugins_api.PluginsApi(api_client) workspace_id = "workspaceId_example" # str | object_id = "objectId_example" # str | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) # example passing only required values which don't have defaults set try: @@ -209,7 +213,10 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = plugins_api.PluginsApi(api_client) workspace_id = "workspaceId_example" # str | origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL" - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + include = [ + "include=createdBy,modifiedBy", + ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0 size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20 sort = [ @@ -232,7 +239,7 @@ with gooddata_api_client.ApiClient() as api_client: # and optional values try: # Get all Plugins - api_response = api_instance.get_all_entities_dashboard_plugins(workspace_id, origin=origin, filter=filter, page=page, size=size, sort=sort, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include) + api_response = api_instance.get_all_entities_dashboard_plugins(workspace_id, origin=origin, filter=filter, include=include, page=page, size=size, sort=sort, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include) pprint(api_response) except gooddata_api_client.ApiException as e: print("Exception when calling PluginsApi->get_all_entities_dashboard_plugins: %s\n" % e) @@ -246,6 +253,7 @@ Name | Type | Description | Notes **workspace_id** | **str**| | **origin** | **str**| | [optional] if omitted the server will use the default value of "ALL" **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional] + **include** | **[str]**| Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. | [optional] **page** | **int**| Zero-based page index (0..N) | [optional] if omitted the server will use the default value of 0 **size** | **int**| The size of the page to be returned | [optional] if omitted the server will use the default value of 20 **sort** | **[str]**| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] @@ -301,7 +309,10 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = plugins_api.PluginsApi(api_client) workspace_id = "workspaceId_example" # str | object_id = "objectId_example" # str | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + include = [ + "include=createdBy,modifiedBy", + ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False meta_include = [ "metaInclude=origin,all", @@ -319,7 +330,7 @@ with gooddata_api_client.ApiClient() as api_client: # and optional values try: # Get a Plugin - api_response = api_instance.get_entity_dashboard_plugins(workspace_id, object_id, filter=filter, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include) + api_response = api_instance.get_entity_dashboard_plugins(workspace_id, object_id, filter=filter, include=include, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include) pprint(api_response) except gooddata_api_client.ApiException as e: print("Exception when calling PluginsApi->get_entity_dashboard_plugins: %s\n" % e) @@ -333,6 +344,7 @@ Name | Type | Description | Notes **workspace_id** | **str**| | **object_id** | **str**| | **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional] + **include** | **[str]**| Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. | [optional] **x_gdc_validate_relations** | **bool**| | [optional] if omitted the server will use the default value of False **meta_include** | **[str]**| Include Meta objects. | [optional] @@ -401,7 +413,10 @@ with gooddata_api_client.ApiClient() as api_client: type="dashboardPlugin", ), ) # JsonApiDashboardPluginPatchDocument | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + include = [ + "include=createdBy,modifiedBy", + ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) # example passing only required values which don't have defaults set try: @@ -415,7 +430,7 @@ with gooddata_api_client.ApiClient() as api_client: # and optional values try: # Patch a Plugin - api_response = api_instance.patch_entity_dashboard_plugins(workspace_id, object_id, json_api_dashboard_plugin_patch_document, filter=filter) + api_response = api_instance.patch_entity_dashboard_plugins(workspace_id, object_id, json_api_dashboard_plugin_patch_document, filter=filter, include=include) pprint(api_response) except gooddata_api_client.ApiException as e: print("Exception when calling PluginsApi->patch_entity_dashboard_plugins: %s\n" % e) @@ -430,6 +445,7 @@ Name | Type | Description | Notes **object_id** | **str**| | **json_api_dashboard_plugin_patch_document** | [**JsonApiDashboardPluginPatchDocument**](JsonApiDashboardPluginPatchDocument.md)| | **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional] + **include** | **[str]**| Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. | [optional] ### Return type @@ -496,7 +512,10 @@ with gooddata_api_client.ApiClient() as api_client: type="dashboardPlugin", ), ) # JsonApiDashboardPluginInDocument | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + include = [ + "include=createdBy,modifiedBy", + ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) # example passing only required values which don't have defaults set try: @@ -510,7 +529,7 @@ with gooddata_api_client.ApiClient() as api_client: # and optional values try: # Put a Plugin - api_response = api_instance.update_entity_dashboard_plugins(workspace_id, object_id, json_api_dashboard_plugin_in_document, filter=filter) + api_response = api_instance.update_entity_dashboard_plugins(workspace_id, object_id, json_api_dashboard_plugin_in_document, filter=filter, include=include) pprint(api_response) except gooddata_api_client.ApiException as e: print("Exception when calling PluginsApi->update_entity_dashboard_plugins: %s\n" % e) @@ -525,6 +544,7 @@ Name | Type | Description | Notes **object_id** | **str**| | **json_api_dashboard_plugin_in_document** | [**JsonApiDashboardPluginInDocument**](JsonApiDashboardPluginInDocument.md)| | **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional] + **include** | **[str]**| Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. | [optional] ### Return type diff --git a/gooddata-api-client/docs/UserDataFiltersApi.md b/gooddata-api-client/docs/UserDataFiltersApi.md index eb3c9940e..2e31c2642 100644 --- a/gooddata-api-client/docs/UserDataFiltersApi.md +++ b/gooddata-api-client/docs/UserDataFiltersApi.md @@ -111,7 +111,7 @@ with gooddata_api_client.ApiClient() as api_client: maql="{label/country} = "USA" AND {label/date.year} = THIS(YEAR)", tags=["Revenues"], title="Country ID setting", - user=UserIdentifier( + user=DeclarativeUserIdentifier( id="employee123", type="user", ), diff --git a/gooddata-api-client/docs/VisualizationObjectApi.md b/gooddata-api-client/docs/VisualizationObjectApi.md index d6212706c..e0903ef73 100644 --- a/gooddata-api-client/docs/VisualizationObjectApi.md +++ b/gooddata-api-client/docs/VisualizationObjectApi.md @@ -55,7 +55,7 @@ with gooddata_api_client.ApiClient() as api_client: ), ) # JsonApiVisualizationObjectPostOptionalIdDocument | include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) meta_include = [ "metaInclude=origin,all", @@ -137,7 +137,7 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = visualization_object_api.VisualizationObjectApi(api_client) workspace_id = "workspaceId_example" # str | object_id = "objectId_example" # str | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) # example passing only required values which don't have defaults set try: @@ -213,9 +213,9 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = visualization_object_api.VisualizationObjectApi(api_client) workspace_id = "workspaceId_example" # str | origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL" - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0 size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20 @@ -309,9 +309,9 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = visualization_object_api.VisualizationObjectApi(api_client) workspace_id = "workspaceId_example" # str | object_id = "objectId_example" # str | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False meta_include = [ @@ -413,9 +413,9 @@ with gooddata_api_client.ApiClient() as api_client: type="visualizationObject", ), ) # JsonApiVisualizationObjectPatchDocument | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) # example passing only required values which don't have defaults set @@ -512,9 +512,9 @@ with gooddata_api_client.ApiClient() as api_client: type="visualizationObject", ), ) # JsonApiVisualizationObjectInDocument | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) # example passing only required values which don't have defaults set diff --git a/gooddata-api-client/docs/WorkspaceObjectControllerApi.md b/gooddata-api-client/docs/WorkspaceObjectControllerApi.md index cf480926f..50e1c0ef1 100644 --- a/gooddata-api-client/docs/WorkspaceObjectControllerApi.md +++ b/gooddata-api-client/docs/WorkspaceObjectControllerApi.md @@ -117,7 +117,7 @@ with gooddata_api_client.ApiClient() as api_client: ), ) # JsonApiAnalyticalDashboardPostOptionalIdDocument | include = [ - "include=visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", + "include=createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) meta_include = [ "metaInclude=permissions,origin,accessInfo,all", @@ -305,6 +305,9 @@ with gooddata_api_client.ApiClient() as api_client: type="dashboardPlugin", ), ) # JsonApiDashboardPluginPostOptionalIdDocument | + include = [ + "include=createdBy,modifiedBy", + ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) meta_include = [ "metaInclude=origin,all", ] # [str] | Include Meta objects. (optional) @@ -321,7 +324,7 @@ with gooddata_api_client.ApiClient() as api_client: # and optional values try: # Post Plugins - api_response = api_instance.create_entity_dashboard_plugins(workspace_id, json_api_dashboard_plugin_post_optional_id_document, meta_include=meta_include) + api_response = api_instance.create_entity_dashboard_plugins(workspace_id, json_api_dashboard_plugin_post_optional_id_document, include=include, meta_include=meta_include) pprint(api_response) except gooddata_api_client.ApiException as e: print("Exception when calling WorkspaceObjectControllerApi->create_entity_dashboard_plugins: %s\n" % e) @@ -334,6 +337,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **workspace_id** | **str**| | **json_api_dashboard_plugin_post_optional_id_document** | [**JsonApiDashboardPluginPostOptionalIdDocument**](JsonApiDashboardPluginPostOptionalIdDocument.md)| | + **include** | **[str]**| Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. | [optional] **meta_include** | **[str]**| Include Meta objects. | [optional] ### Return type @@ -503,7 +507,7 @@ with gooddata_api_client.ApiClient() as api_client: ), ) # JsonApiMetricPostOptionalIdDocument | include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) meta_include = [ "metaInclude=origin,all", @@ -709,7 +713,7 @@ with gooddata_api_client.ApiClient() as api_client: ), ) # JsonApiVisualizationObjectPostOptionalIdDocument | include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) meta_include = [ "metaInclude=origin,all", @@ -1080,7 +1084,7 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = workspace_object_controller_api.WorkspaceObjectControllerApi(api_client) workspace_id = "workspaceId_example" # str | object_id = "objectId_example" # str | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) # example passing only required values which don't have defaults set try: @@ -1230,7 +1234,7 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = workspace_object_controller_api.WorkspaceObjectControllerApi(api_client) workspace_id = "workspaceId_example" # str | object_id = "objectId_example" # str | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) # example passing only required values which don't have defaults set try: @@ -1380,7 +1384,7 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = workspace_object_controller_api.WorkspaceObjectControllerApi(api_client) workspace_id = "workspaceId_example" # str | object_id = "objectId_example" # str | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) # example passing only required values which don't have defaults set try: @@ -1530,7 +1534,7 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = workspace_object_controller_api.WorkspaceObjectControllerApi(api_client) workspace_id = "workspaceId_example" # str | object_id = "objectId_example" # str | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) # example passing only required values which don't have defaults set try: @@ -1831,9 +1835,9 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = workspace_object_controller_api.WorkspaceObjectControllerApi(api_client) workspace_id = "workspaceId_example" # str | origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL" - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", + "include=createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0 size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20 @@ -2115,7 +2119,10 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = workspace_object_controller_api.WorkspaceObjectControllerApi(api_client) workspace_id = "workspaceId_example" # str | origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL" - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + include = [ + "include=createdBy,modifiedBy", + ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0 size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20 sort = [ @@ -2138,7 +2145,7 @@ with gooddata_api_client.ApiClient() as api_client: # and optional values try: # Get all Plugins - api_response = api_instance.get_all_entities_dashboard_plugins(workspace_id, origin=origin, filter=filter, page=page, size=size, sort=sort, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include) + api_response = api_instance.get_all_entities_dashboard_plugins(workspace_id, origin=origin, filter=filter, include=include, page=page, size=size, sort=sort, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include) pprint(api_response) except gooddata_api_client.ApiException as e: print("Exception when calling WorkspaceObjectControllerApi->get_all_entities_dashboard_plugins: %s\n" % e) @@ -2152,6 +2159,7 @@ Name | Type | Description | Notes **workspace_id** | **str**| | **origin** | **str**| | [optional] if omitted the server will use the default value of "ALL" **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional] + **include** | **[str]**| Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. | [optional] **page** | **int**| Zero-based page index (0..N) | [optional] if omitted the server will use the default value of 0 **size** | **int**| The size of the page to be returned | [optional] if omitted the server will use the default value of 20 **sort** | **[str]**| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] @@ -2591,9 +2599,9 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = workspace_object_controller_api.WorkspaceObjectControllerApi(api_client) workspace_id = "workspaceId_example" # str | origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL" - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0 size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20 @@ -2783,9 +2791,9 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = workspace_object_controller_api.WorkspaceObjectControllerApi(api_client) workspace_id = "workspaceId_example" # str | origin = "ALL" # str | (optional) if omitted the server will use the default value of "ALL" - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) page = 0 # int | Zero-based page index (0..N) (optional) if omitted the server will use the default value of 0 size = 20 # int | The size of the page to be returned (optional) if omitted the server will use the default value of 20 @@ -3155,9 +3163,9 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = workspace_object_controller_api.WorkspaceObjectControllerApi(api_client) workspace_id = "workspaceId_example" # str | object_id = "objectId_example" # str | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", + "include=createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False meta_include = [ @@ -3415,7 +3423,10 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = workspace_object_controller_api.WorkspaceObjectControllerApi(api_client) workspace_id = "workspaceId_example" # str | object_id = "objectId_example" # str | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + include = [ + "include=createdBy,modifiedBy", + ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False meta_include = [ "metaInclude=origin,all", @@ -3433,7 +3444,7 @@ with gooddata_api_client.ApiClient() as api_client: # and optional values try: # Get a Plugin - api_response = api_instance.get_entity_dashboard_plugins(workspace_id, object_id, filter=filter, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include) + api_response = api_instance.get_entity_dashboard_plugins(workspace_id, object_id, filter=filter, include=include, x_gdc_validate_relations=x_gdc_validate_relations, meta_include=meta_include) pprint(api_response) except gooddata_api_client.ApiException as e: print("Exception when calling WorkspaceObjectControllerApi->get_entity_dashboard_plugins: %s\n" % e) @@ -3447,6 +3458,7 @@ Name | Type | Description | Notes **workspace_id** | **str**| | **object_id** | **str**| | **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional] + **include** | **[str]**| Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. | [optional] **x_gdc_validate_relations** | **bool**| | [optional] if omitted the server will use the default value of False **meta_include** | **[str]**| Include Meta objects. | [optional] @@ -3851,9 +3863,9 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = workspace_object_controller_api.WorkspaceObjectControllerApi(api_client) workspace_id = "workspaceId_example" # str | object_id = "objectId_example" # str | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False meta_include = [ @@ -4027,9 +4039,9 @@ with gooddata_api_client.ApiClient() as api_client: api_instance = workspace_object_controller_api.WorkspaceObjectControllerApi(api_client) workspace_id = "workspaceId_example" # str | object_id = "objectId_example" # str | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) x_gdc_validate_relations = False # bool | (optional) if omitted the server will use the default value of False meta_include = [ @@ -4383,9 +4395,9 @@ with gooddata_api_client.ApiClient() as api_client: type="analyticalDashboard", ), ) # JsonApiAnalyticalDashboardPatchDocument | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", + "include=createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) # example passing only required values which don't have defaults set @@ -4572,7 +4584,10 @@ with gooddata_api_client.ApiClient() as api_client: type="dashboardPlugin", ), ) # JsonApiDashboardPluginPatchDocument | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + include = [ + "include=createdBy,modifiedBy", + ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) # example passing only required values which don't have defaults set try: @@ -4586,7 +4601,7 @@ with gooddata_api_client.ApiClient() as api_client: # and optional values try: # Patch a Plugin - api_response = api_instance.patch_entity_dashboard_plugins(workspace_id, object_id, json_api_dashboard_plugin_patch_document, filter=filter) + api_response = api_instance.patch_entity_dashboard_plugins(workspace_id, object_id, json_api_dashboard_plugin_patch_document, filter=filter, include=include) pprint(api_response) except gooddata_api_client.ApiException as e: print("Exception when calling WorkspaceObjectControllerApi->patch_entity_dashboard_plugins: %s\n" % e) @@ -4601,6 +4616,7 @@ Name | Type | Description | Notes **object_id** | **str**| | **json_api_dashboard_plugin_patch_document** | [**JsonApiDashboardPluginPatchDocument**](JsonApiDashboardPluginPatchDocument.md)| | **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional] + **include** | **[str]**| Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. | [optional] ### Return type @@ -4769,9 +4785,9 @@ with gooddata_api_client.ApiClient() as api_client: type="metric", ), ) # JsonApiMetricPatchDocument | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) # example passing only required values which don't have defaults set @@ -4975,9 +4991,9 @@ with gooddata_api_client.ApiClient() as api_client: type="visualizationObject", ), ) # JsonApiVisualizationObjectPatchDocument | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) # example passing only required values which don't have defaults set @@ -5371,9 +5387,9 @@ with gooddata_api_client.ApiClient() as api_client: type="analyticalDashboard", ), ) # JsonApiAnalyticalDashboardInDocument | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", + "include=createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) # example passing only required values which don't have defaults set @@ -5560,7 +5576,10 @@ with gooddata_api_client.ApiClient() as api_client: type="dashboardPlugin", ), ) # JsonApiDashboardPluginInDocument | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + include = [ + "include=createdBy,modifiedBy", + ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) # example passing only required values which don't have defaults set try: @@ -5574,7 +5593,7 @@ with gooddata_api_client.ApiClient() as api_client: # and optional values try: # Put a Plugin - api_response = api_instance.update_entity_dashboard_plugins(workspace_id, object_id, json_api_dashboard_plugin_in_document, filter=filter) + api_response = api_instance.update_entity_dashboard_plugins(workspace_id, object_id, json_api_dashboard_plugin_in_document, filter=filter, include=include) pprint(api_response) except gooddata_api_client.ApiException as e: print("Exception when calling WorkspaceObjectControllerApi->update_entity_dashboard_plugins: %s\n" % e) @@ -5589,6 +5608,7 @@ Name | Type | Description | Notes **object_id** | **str**| | **json_api_dashboard_plugin_in_document** | [**JsonApiDashboardPluginInDocument**](JsonApiDashboardPluginInDocument.md)| | **filter** | **str**| Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). | [optional] + **include** | **[str]**| Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. | [optional] ### Return type @@ -5757,9 +5777,9 @@ with gooddata_api_client.ApiClient() as api_client: type="metric", ), ) # JsonApiMetricInDocument | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) # example passing only required values which don't have defaults set @@ -5963,9 +5983,9 @@ with gooddata_api_client.ApiClient() as api_client: type="visualizationObject", ), ) # JsonApiVisualizationObjectInDocument | - filter = "filter=title==someString;description==someString" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) + filter = "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321" # str | Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123'). (optional) include = [ - "include=facts,attributes,labels,metrics,datasets", + "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", ] # [str] | Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together. (optional) # example passing only required values which don't have defaults set diff --git a/gooddata-api-client/docs/WorkspacesDeclarativeAPIsApi.md b/gooddata-api-client/docs/WorkspacesDeclarativeAPIsApi.md index 88b56514e..f38a1e5b1 100644 --- a/gooddata-api-client/docs/WorkspacesDeclarativeAPIsApi.md +++ b/gooddata-api-client/docs/WorkspacesDeclarativeAPIsApi.md @@ -38,6 +38,9 @@ with gooddata_api_client.ApiClient() as api_client: # Create an instance of the API class api_instance = workspaces_declarative_apis_api.WorkspacesDeclarativeAPIsApi(api_client) workspace_id = "workspaceId_example" # str | + exclude = [ + "ACTIVITY_INFO", + ] # [str] | (optional) # example passing only required values which don't have defaults set try: @@ -46,6 +49,15 @@ with gooddata_api_client.ApiClient() as api_client: pprint(api_response) except gooddata_api_client.ApiException as e: print("Exception when calling WorkspacesDeclarativeAPIsApi->get_workspace_layout: %s\n" % e) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Get workspace layout + api_response = api_instance.get_workspace_layout(workspace_id, exclude=exclude) + pprint(api_response) + except gooddata_api_client.ApiException as e: + print("Exception when calling WorkspacesDeclarativeAPIsApi->get_workspace_layout: %s\n" % e) ``` @@ -54,6 +66,7 @@ with gooddata_api_client.ApiClient() as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **workspace_id** | **str**| | + **exclude** | **[str]**| | [optional] ### Return type @@ -104,11 +117,15 @@ configuration = gooddata_api_client.Configuration( with gooddata_api_client.ApiClient() as api_client: # Create an instance of the API class api_instance = workspaces_declarative_apis_api.WorkspacesDeclarativeAPIsApi(api_client) + exclude = [ + "ACTIVITY_INFO", + ] # [str] | (optional) - # example, this endpoint has no required or optional parameters + # example passing only required values which don't have defaults set + # and optional values try: # Get all workspaces layout - api_response = api_instance.get_workspaces_layout() + api_response = api_instance.get_workspaces_layout(exclude=exclude) pprint(api_response) except gooddata_api_client.ApiException as e: print("Exception when calling WorkspacesDeclarativeAPIsApi->get_workspaces_layout: %s\n" % e) @@ -116,7 +133,10 @@ with gooddata_api_client.ApiClient() as api_client: ### Parameters -This endpoint does not need any parameter. + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **exclude** | **[str]**| | [optional] ### Return type @@ -187,8 +207,18 @@ with gooddata_api_client.ApiClient() as api_client: analytical_dashboards=[ DeclarativeAnalyticalDashboard( content={}, + created_at="2023-07-20 12:30", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Period to period comparison of revenues in main sectors.", id="revenues-analysis", + modified_at="2023-07-20 12:30", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), permissions=[ DeclarativeAnalyticalDashboardPermission( assignee=AssigneeIdentifier( @@ -205,8 +235,18 @@ with gooddata_api_client.ApiClient() as api_client: dashboard_plugins=[ DeclarativeDashboardPlugin( content={}, + created_at="["2023-07-20 12:30"]", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Three dimensional view of data.", id="dashboard-plugin-1", + modified_at="["2023-07-20 12:30"]", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), tags=["Revenues"], title="3D map renderer", ), @@ -223,8 +263,18 @@ with gooddata_api_client.ApiClient() as api_client: metrics=[ DeclarativeMetric( content={}, + created_at="["2023-07-20 12:30"]", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Sales for all the data available.", id="total-sales", + modified_at="["2023-07-20 12:30"]", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), tags=["Revenues"], title="Total sales", ), @@ -232,8 +282,18 @@ with gooddata_api_client.ApiClient() as api_client: visualization_objects=[ DeclarativeVisualizationObject( content={}, + created_at="["2023-07-20 12:30"]", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Simple number for total goods in current production.", id="visualization-1", + modified_at="["2023-07-20 12:30"]", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), tags=["Revenues"], title="Count of goods", ), @@ -494,8 +554,18 @@ with gooddata_api_client.ApiClient() as api_client: analytical_dashboards=[ DeclarativeAnalyticalDashboard( content={}, + created_at="2023-07-20 12:30", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Period to period comparison of revenues in main sectors.", id="revenues-analysis", + modified_at="2023-07-20 12:30", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), permissions=[ DeclarativeAnalyticalDashboardPermission( assignee=AssigneeIdentifier( @@ -512,8 +582,18 @@ with gooddata_api_client.ApiClient() as api_client: dashboard_plugins=[ DeclarativeDashboardPlugin( content={}, + created_at="["2023-07-20 12:30"]", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Three dimensional view of data.", id="dashboard-plugin-1", + modified_at="["2023-07-20 12:30"]", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), tags=["Revenues"], title="3D map renderer", ), @@ -530,8 +610,18 @@ with gooddata_api_client.ApiClient() as api_client: metrics=[ DeclarativeMetric( content={}, + created_at="["2023-07-20 12:30"]", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Sales for all the data available.", id="total-sales", + modified_at="["2023-07-20 12:30"]", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), tags=["Revenues"], title="Total sales", ), @@ -539,8 +629,18 @@ with gooddata_api_client.ApiClient() as api_client: visualization_objects=[ DeclarativeVisualizationObject( content={}, + created_at="["2023-07-20 12:30"]", + created_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), description="Simple number for total goods in current production.", id="visualization-1", + modified_at="["2023-07-20 12:30"]", + modified_by=DeclarativeUserIdentifier( + id="employee123", + type="user", + ), tags=["Revenues"], title="Count of goods", ), @@ -698,7 +798,7 @@ with gooddata_api_client.ApiClient() as api_client: maql="{label/country} = "USA" AND {label/date.year} = THIS(YEAR)", tags=["Revenues"], title="Country ID setting", - user=UserIdentifier( + user=DeclarativeUserIdentifier( id="employee123", type="user", ), diff --git a/gooddata-api-client/gooddata_api_client/api/analytics_model_api.py b/gooddata-api-client/gooddata_api_client/api/analytics_model_api.py index 710e3a53f..6fac04e08 100644 --- a/gooddata-api-client/gooddata_api_client/api/analytics_model_api.py +++ b/gooddata-api-client/gooddata_api_client/api/analytics_model_api.py @@ -48,6 +48,7 @@ def __init__(self, api_client=None): params_map={ 'all': [ 'workspace_id', + 'exclude', ], 'required': [ 'workspace_id', @@ -55,6 +56,7 @@ def __init__(self, api_client=None): 'nullable': [ ], 'enum': [ + 'exclude', ], 'validation': [ ] @@ -63,18 +65,27 @@ def __init__(self, api_client=None): 'validations': { }, 'allowed_values': { + ('exclude',): { + + "ACTIVITY_INFO": "ACTIVITY_INFO" + }, }, 'openapi_types': { 'workspace_id': (str,), + 'exclude': + ([str],), }, 'attribute_map': { 'workspace_id': 'workspaceId', + 'exclude': 'exclude', }, 'location_map': { 'workspace_id': 'path', + 'exclude': 'query', }, 'collection_format_map': { + 'exclude': 'multi', } }, headers_map={ @@ -158,6 +169,7 @@ def get_analytics_model( workspace_id (str): Keyword Args: + exclude ([str]): [optional] _return_http_data_only (bool): response data without head status code and headers. Default is True. _preload_content (bool): if False, the urllib3.HTTPResponse object diff --git a/gooddata-api-client/gooddata_api_client/api/dashboards_api.py b/gooddata-api-client/gooddata_api_client/api/dashboards_api.py index fc4c0e4c2..460269bf0 100644 --- a/gooddata-api-client/gooddata_api_client/api/dashboards_api.py +++ b/gooddata-api-client/gooddata_api_client/api/dashboards_api.py @@ -79,6 +79,7 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "VISUALIZATIONOBJECTS": "visualizationObjects", "ANALYTICALDASHBOARDS": "analyticalDashboards", "LABELS": "labels", @@ -86,6 +87,8 @@ def __init__(self, api_client=None): "DATASETS": "datasets", "FILTERCONTEXTS": "filterContexts", "DASHBOARDPLUGINS": "dashboardPlugins", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -241,6 +244,7 @@ def __init__(self, api_client=None): }, ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "VISUALIZATIONOBJECTS": "visualizationObjects", "ANALYTICALDASHBOARDS": "analyticalDashboards", "LABELS": "labels", @@ -248,6 +252,8 @@ def __init__(self, api_client=None): "DATASETS": "datasets", "FILTERCONTEXTS": "filterContexts", "DASHBOARDPLUGINS": "dashboardPlugins", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -356,6 +362,7 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "VISUALIZATIONOBJECTS": "visualizationObjects", "ANALYTICALDASHBOARDS": "analyticalDashboards", "LABELS": "labels", @@ -363,6 +370,8 @@ def __init__(self, api_client=None): "DATASETS": "datasets", "FILTERCONTEXTS": "filterContexts", "DASHBOARDPLUGINS": "dashboardPlugins", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -453,6 +462,7 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "VISUALIZATIONOBJECTS": "visualizationObjects", "ANALYTICALDASHBOARDS": "analyticalDashboards", "LABELS": "labels", @@ -460,6 +470,8 @@ def __init__(self, api_client=None): "DATASETS": "datasets", "FILTERCONTEXTS": "filterContexts", "DASHBOARDPLUGINS": "dashboardPlugins", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, }, @@ -538,6 +550,7 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "VISUALIZATIONOBJECTS": "visualizationObjects", "ANALYTICALDASHBOARDS": "analyticalDashboards", "LABELS": "labels", @@ -545,6 +558,8 @@ def __init__(self, api_client=None): "DATASETS": "datasets", "FILTERCONTEXTS": "filterContexts", "DASHBOARDPLUGINS": "dashboardPlugins", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, }, diff --git a/gooddata-api-client/gooddata_api_client/api/entities_api.py b/gooddata-api-client/gooddata_api_client/api/entities_api.py index 80d3337ac..879b276d6 100644 --- a/gooddata-api-client/gooddata_api_client/api/entities_api.py +++ b/gooddata-api-client/gooddata_api_client/api/entities_api.py @@ -103,6 +103,8 @@ from gooddata_api_client.model.json_api_user_group_out_document import JsonApiUserGroupOutDocument from gooddata_api_client.model.json_api_user_group_out_list import JsonApiUserGroupOutList from gooddata_api_client.model.json_api_user_group_patch_document import JsonApiUserGroupPatchDocument +from gooddata_api_client.model.json_api_user_identifier_out_document import JsonApiUserIdentifierOutDocument +from gooddata_api_client.model.json_api_user_identifier_out_list import JsonApiUserIdentifierOutList from gooddata_api_client.model.json_api_user_in_document import JsonApiUserInDocument from gooddata_api_client.model.json_api_user_out_document import JsonApiUserOutDocument from gooddata_api_client.model.json_api_user_out_list import JsonApiUserOutList @@ -184,6 +186,7 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "VISUALIZATIONOBJECTS": "visualizationObjects", "ANALYTICALDASHBOARDS": "analyticalDashboards", "LABELS": "labels", @@ -191,6 +194,8 @@ def __init__(self, api_client=None): "DATASETS": "datasets", "FILTERCONTEXTS": "filterContexts", "DASHBOARDPLUGINS": "dashboardPlugins", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -480,6 +485,7 @@ def __init__(self, api_client=None): 'all': [ 'workspace_id', 'json_api_dashboard_plugin_post_optional_id_document', + 'include', 'meta_include', ], 'required': [ @@ -489,6 +495,7 @@ def __init__(self, api_client=None): 'nullable': [ ], 'enum': [ + 'include', 'meta_include', ], 'validation': [ @@ -502,6 +509,13 @@ def __init__(self, api_client=None): }, }, 'allowed_values': { + ('include',): { + + "USERIDENTIFIERS": "userIdentifiers", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", + "ALL": "ALL" + }, ('meta_include',): { "ORIGIN": "origin", @@ -514,19 +528,24 @@ def __init__(self, api_client=None): (str,), 'json_api_dashboard_plugin_post_optional_id_document': (JsonApiDashboardPluginPostOptionalIdDocument,), + 'include': + ([str],), 'meta_include': ([str],), }, 'attribute_map': { 'workspace_id': 'workspaceId', + 'include': 'include', 'meta_include': 'metaInclude', }, 'location_map': { 'workspace_id': 'path', 'json_api_dashboard_plugin_post_optional_id_document': 'body', + 'include': 'query', 'meta_include': 'query', }, 'collection_format_map': { + 'include': 'csv', 'meta_include': 'csv', } }, @@ -783,11 +802,14 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -1246,11 +1268,14 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -2879,6 +2904,7 @@ def __init__(self, api_client=None): }, ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "VISUALIZATIONOBJECTS": "visualizationObjects", "ANALYTICALDASHBOARDS": "analyticalDashboards", "LABELS": "labels", @@ -2886,6 +2912,8 @@ def __init__(self, api_client=None): "DATASETS": "datasets", "FILTERCONTEXTS": "filterContexts", "DASHBOARDPLUGINS": "dashboardPlugins", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -3386,6 +3414,7 @@ def __init__(self, api_client=None): 'workspace_id', 'origin', 'filter', + 'include', 'page', 'size', 'sort', @@ -3399,6 +3428,7 @@ def __init__(self, api_client=None): ], 'enum': [ 'origin', + 'include', 'meta_include', ], 'validation': [ @@ -3418,6 +3448,13 @@ def __init__(self, api_client=None): "PARENTS": "PARENTS", "NATIVE": "NATIVE" }, + ('include',): { + + "USERIDENTIFIERS": "userIdentifiers", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", + "ALL": "ALL" + }, ('meta_include',): { "ORIGIN": "origin", @@ -3432,6 +3469,8 @@ def __init__(self, api_client=None): (str,), 'filter': (str,), + 'include': + ([str],), 'page': (int,), 'size': @@ -3447,6 +3486,7 @@ def __init__(self, api_client=None): 'workspace_id': 'workspaceId', 'origin': 'origin', 'filter': 'filter', + 'include': 'include', 'page': 'page', 'size': 'size', 'sort': 'sort', @@ -3457,6 +3497,7 @@ def __init__(self, api_client=None): 'workspace_id': 'path', 'origin': 'query', 'filter': 'query', + 'include': 'query', 'page': 'query', 'size': 'query', 'sort': 'query', @@ -3464,6 +3505,7 @@ def __init__(self, api_client=None): 'meta_include': 'query', }, 'collection_format_map': { + 'include': 'csv', 'sort': 'multi', 'meta_include': 'csv', } @@ -4354,11 +4396,14 @@ def __init__(self, api_client=None): }, ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -4750,6 +4795,69 @@ def __init__(self, api_client=None): }, api_client=api_client ) + self.get_all_entities_user_identifiers_endpoint = _Endpoint( + settings={ + 'response_type': (JsonApiUserIdentifierOutList,), + 'auth': [], + 'endpoint_path': '/api/v1/entities/userIdentifiers', + 'operation_id': 'get_all_entities_user_identifiers', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + 'filter', + 'page', + 'size', + 'sort', + ], + 'required': [], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'filter': + (str,), + 'page': + (int,), + 'size': + (int,), + 'sort': + ([str],), + }, + 'attribute_map': { + 'filter': 'filter', + 'page': 'page', + 'size': 'size', + 'sort': 'sort', + }, + 'location_map': { + 'filter': 'query', + 'page': 'query', + 'size': 'query', + 'sort': 'query', + }, + 'collection_format_map': { + 'sort': 'multi', + } + }, + headers_map={ + 'accept': [ + 'application/vnd.gooddata.api+json' + ], + 'content_type': [], + }, + api_client=api_client + ) self.get_all_entities_user_settings_endpoint = _Endpoint( settings={ 'response_type': (JsonApiUserSettingOutList,), @@ -4945,11 +5053,14 @@ def __init__(self, api_client=None): }, ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -5538,6 +5649,7 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "VISUALIZATIONOBJECTS": "visualizationObjects", "ANALYTICALDASHBOARDS": "analyticalDashboards", "LABELS": "labels", @@ -5545,6 +5657,8 @@ def __init__(self, api_client=None): "DATASETS": "datasets", "FILTERCONTEXTS": "filterContexts", "DASHBOARDPLUGINS": "dashboardPlugins", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -6042,6 +6156,7 @@ def __init__(self, api_client=None): 'workspace_id', 'object_id', 'filter', + 'include', 'x_gdc_validate_relations', 'meta_include', ], @@ -6052,6 +6167,7 @@ def __init__(self, api_client=None): 'nullable': [ ], 'enum': [ + 'include', 'meta_include', ], 'validation': [ @@ -6065,6 +6181,13 @@ def __init__(self, api_client=None): }, }, 'allowed_values': { + ('include',): { + + "USERIDENTIFIERS": "userIdentifiers", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", + "ALL": "ALL" + }, ('meta_include',): { "ORIGIN": "origin", @@ -6079,6 +6202,8 @@ def __init__(self, api_client=None): (str,), 'filter': (str,), + 'include': + ([str],), 'x_gdc_validate_relations': (bool,), 'meta_include': @@ -6088,6 +6213,7 @@ def __init__(self, api_client=None): 'workspace_id': 'workspaceId', 'object_id': 'objectId', 'filter': 'filter', + 'include': 'include', 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS', 'meta_include': 'metaInclude', }, @@ -6095,10 +6221,12 @@ def __init__(self, api_client=None): 'workspace_id': 'path', 'object_id': 'path', 'filter': 'query', + 'include': 'query', 'x_gdc_validate_relations': 'header', 'meta_include': 'query', }, 'collection_format_map': { + 'include': 'csv', 'meta_include': 'csv', } }, @@ -6880,11 +7008,14 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -7328,6 +7459,67 @@ def __init__(self, api_client=None): }, api_client=api_client ) + self.get_entity_user_identifiers_endpoint = _Endpoint( + settings={ + 'response_type': (JsonApiUserIdentifierOutDocument,), + 'auth': [], + 'endpoint_path': '/api/v1/entities/userIdentifiers/{id}', + 'operation_id': 'get_entity_user_identifiers', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + 'id', + 'filter', + ], + 'required': [ + 'id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + 'id', + ] + }, + root_map={ + 'validations': { + ('id',): { + + 'regex': { + 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501 + }, + }, + }, + 'allowed_values': { + }, + 'openapi_types': { + 'id': + (str,), + 'filter': + (str,), + }, + 'attribute_map': { + 'id': 'id', + 'filter': 'filter', + }, + 'location_map': { + 'id': 'path', + 'filter': 'query', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/vnd.gooddata.api+json' + ], + 'content_type': [], + }, + api_client=api_client + ) self.get_entity_user_settings_endpoint = _Endpoint( settings={ 'response_type': (JsonApiUserSettingOutDocument,), @@ -7509,11 +7701,14 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -7988,6 +8183,7 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "VISUALIZATIONOBJECTS": "visualizationObjects", "ANALYTICALDASHBOARDS": "analyticalDashboards", "LABELS": "labels", @@ -7995,6 +8191,8 @@ def __init__(self, api_client=None): "DATASETS": "datasets", "FILTERCONTEXTS": "filterContexts", "DASHBOARDPLUGINS": "dashboardPlugins", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, }, @@ -8323,6 +8521,7 @@ def __init__(self, api_client=None): 'object_id', 'json_api_dashboard_plugin_patch_document', 'filter', + 'include', ], 'required': [ 'workspace_id', @@ -8332,6 +8531,7 @@ def __init__(self, api_client=None): 'nullable': [ ], 'enum': [ + 'include', ], 'validation': [ ] @@ -8340,6 +8540,13 @@ def __init__(self, api_client=None): 'validations': { }, 'allowed_values': { + ('include',): { + + "USERIDENTIFIERS": "userIdentifiers", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", + "ALL": "ALL" + }, }, 'openapi_types': { 'workspace_id': @@ -8350,19 +8557,24 @@ def __init__(self, api_client=None): (JsonApiDashboardPluginPatchDocument,), 'filter': (str,), + 'include': + ([str],), }, 'attribute_map': { 'workspace_id': 'workspaceId', 'object_id': 'objectId', 'filter': 'filter', + 'include': 'include', }, 'location_map': { 'workspace_id': 'path', 'object_id': 'path', 'json_api_dashboard_plugin_patch_document': 'body', 'filter': 'query', + 'include': 'query', }, 'collection_format_map': { + 'include': 'csv', } }, headers_map={ @@ -8628,11 +8840,14 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, }, @@ -9178,11 +9393,14 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, }, @@ -9569,6 +9787,7 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "VISUALIZATIONOBJECTS": "visualizationObjects", "ANALYTICALDASHBOARDS": "analyticalDashboards", "LABELS": "labels", @@ -9576,6 +9795,8 @@ def __init__(self, api_client=None): "DATASETS": "datasets", "FILTERCONTEXTS": "filterContexts", "DASHBOARDPLUGINS": "dashboardPlugins", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, }, @@ -9978,6 +10199,7 @@ def __init__(self, api_client=None): 'object_id', 'json_api_dashboard_plugin_in_document', 'filter', + 'include', ], 'required': [ 'workspace_id', @@ -9987,6 +10209,7 @@ def __init__(self, api_client=None): 'nullable': [ ], 'enum': [ + 'include', ], 'validation': [ ] @@ -9995,6 +10218,13 @@ def __init__(self, api_client=None): 'validations': { }, 'allowed_values': { + ('include',): { + + "USERIDENTIFIERS": "userIdentifiers", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", + "ALL": "ALL" + }, }, 'openapi_types': { 'workspace_id': @@ -10005,19 +10235,24 @@ def __init__(self, api_client=None): (JsonApiDashboardPluginInDocument,), 'filter': (str,), + 'include': + ([str],), }, 'attribute_map': { 'workspace_id': 'workspaceId', 'object_id': 'objectId', 'filter': 'filter', + 'include': 'include', }, 'location_map': { 'workspace_id': 'path', 'object_id': 'path', 'json_api_dashboard_plugin_in_document': 'body', 'filter': 'query', + 'include': 'query', }, 'collection_format_map': { + 'include': 'csv', } }, headers_map={ @@ -10283,11 +10518,14 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, }, @@ -10907,11 +11145,14 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, }, @@ -11708,6 +11949,7 @@ def create_entity_dashboard_plugins( json_api_dashboard_plugin_post_optional_id_document (JsonApiDashboardPluginPostOptionalIdDocument): Keyword Args: + include ([str]): Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.. [optional] meta_include ([str]): Include Meta objects.. [optional] _return_http_data_only (bool): response data without head status code and headers. Default is True. @@ -15393,6 +15635,7 @@ def get_all_entities_dashboard_plugins( Keyword Args: origin (str): [optional] if omitted the server will use the default value of "ALL" filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional] + include ([str]): Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.. [optional] page (int): Zero-based page index (0..N). [optional] if omitted the server will use the default value of 0 size (int): The size of the page to be returned. [optional] if omitted the server will use the default value of 20 sort ([str]): Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.. [optional] @@ -16663,6 +16906,88 @@ def get_all_entities_user_groups( kwargs['_request_auths'] = kwargs.get('_request_auths', None) return self.get_all_entities_user_groups_endpoint.call_with_http_info(**kwargs) + def get_all_entities_user_identifiers( + self, + **kwargs + ): + """Get UserIdentifier entities # noqa: E501 + + UserIdentifier - represents entity interacting with platform # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.get_all_entities_user_identifiers(async_req=True) + >>> result = thread.get() + + + Keyword Args: + filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional] + page (int): Zero-based page index (0..N). [optional] if omitted the server will use the default value of 0 + size (int): The size of the page to be returned. [optional] if omitted the server will use the default value of 20 + sort ([str]): Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.. [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + JsonApiUserIdentifierOutList + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + return self.get_all_entities_user_identifiers_endpoint.call_with_http_info(**kwargs) + def get_all_entities_user_settings( self, user_id, @@ -18055,6 +18380,7 @@ def get_entity_dashboard_plugins( Keyword Args: filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional] + include ([str]): Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.. [optional] x_gdc_validate_relations (bool): [optional] if omitted the server will use the default value of False meta_include ([str]): Include Meta objects.. [optional] _return_http_data_only (bool): response data without head status @@ -19424,6 +19750,90 @@ def get_entity_user_groups( id return self.get_entity_user_groups_endpoint.call_with_http_info(**kwargs) + def get_entity_user_identifiers( + self, + id, + **kwargs + ): + """Get UserIdentifier entity # noqa: E501 + + UserIdentifier - represents basic informationZ about entity interacting with platform # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.get_entity_user_identifiers(id, async_req=True) + >>> result = thread.get() + + Args: + id (str): + + Keyword Args: + filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + JsonApiUserIdentifierOutDocument + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['id'] = \ + id + return self.get_entity_user_identifiers_endpoint.call_with_http_info(**kwargs) + def get_entity_user_settings( self, user_id, @@ -20585,6 +20995,7 @@ def patch_entity_dashboard_plugins( Keyword Args: filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional] + include ([str]): Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.. [optional] _return_http_data_only (bool): response data without head status code and headers. Default is True. _preload_content (bool): if False, the urllib3.HTTPResponse object @@ -22560,6 +22971,7 @@ def update_entity_dashboard_plugins( Keyword Args: filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional] + include ([str]): Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.. [optional] _return_http_data_only (bool): response data without head status code and headers. Default is True. _preload_content (bool): if False, the urllib3.HTTPResponse object diff --git a/gooddata-api-client/gooddata_api_client/api/layout_api.py b/gooddata-api-client/gooddata_api_client/api/layout_api.py index 9ee8455f7..1d39795a4 100644 --- a/gooddata-api-client/gooddata_api_client/api/layout_api.py +++ b/gooddata-api-client/gooddata_api_client/api/layout_api.py @@ -62,6 +62,7 @@ def __init__(self, api_client=None): params_map={ 'all': [ 'workspace_id', + 'exclude', ], 'required': [ 'workspace_id', @@ -69,6 +70,7 @@ def __init__(self, api_client=None): 'nullable': [ ], 'enum': [ + 'exclude', ], 'validation': [ ] @@ -77,18 +79,27 @@ def __init__(self, api_client=None): 'validations': { }, 'allowed_values': { + ('exclude',): { + + "ACTIVITY_INFO": "ACTIVITY_INFO" + }, }, 'openapi_types': { 'workspace_id': (str,), + 'exclude': + ([str],), }, 'attribute_map': { 'workspace_id': 'workspaceId', + 'exclude': 'exclude', }, 'location_map': { 'workspace_id': 'path', + 'exclude': 'query', }, 'collection_format_map': { + 'exclude': 'multi', } }, headers_map={ @@ -206,11 +217,13 @@ def __init__(self, api_client=None): }, params_map={ 'all': [ + 'exclude', ], 'required': [], 'nullable': [ ], 'enum': [ + 'exclude', ], 'validation': [ ] @@ -219,14 +232,23 @@ def __init__(self, api_client=None): 'validations': { }, 'allowed_values': { + ('exclude',): { + + "ACTIVITY_INFO": "ACTIVITY_INFO" + }, }, 'openapi_types': { + 'exclude': + ([str],), }, 'attribute_map': { + 'exclude': 'exclude', }, 'location_map': { + 'exclude': 'query', }, 'collection_format_map': { + 'exclude': 'multi', } }, headers_map={ @@ -613,6 +635,7 @@ def __init__(self, api_client=None): params_map={ 'all': [ 'workspace_id', + 'exclude', ], 'required': [ 'workspace_id', @@ -620,6 +643,7 @@ def __init__(self, api_client=None): 'nullable': [ ], 'enum': [ + 'exclude', ], 'validation': [ ] @@ -628,18 +652,27 @@ def __init__(self, api_client=None): 'validations': { }, 'allowed_values': { + ('exclude',): { + + "ACTIVITY_INFO": "ACTIVITY_INFO" + }, }, 'openapi_types': { 'workspace_id': (str,), + 'exclude': + ([str],), }, 'attribute_map': { 'workspace_id': 'workspaceId', + 'exclude': 'exclude', }, 'location_map': { 'workspace_id': 'path', + 'exclude': 'query', }, 'collection_format_map': { + 'exclude': 'multi', } }, headers_map={ @@ -710,11 +743,13 @@ def __init__(self, api_client=None): }, params_map={ 'all': [ + 'exclude', ], 'required': [], 'nullable': [ ], 'enum': [ + 'exclude', ], 'validation': [ ] @@ -723,14 +758,23 @@ def __init__(self, api_client=None): 'validations': { }, 'allowed_values': { + ('exclude',): { + + "ACTIVITY_INFO": "ACTIVITY_INFO" + }, }, 'openapi_types': { + 'exclude': + ([str],), }, 'attribute_map': { + 'exclude': 'exclude', }, 'location_map': { + 'exclude': 'query', }, 'collection_format_map': { + 'exclude': 'multi', } }, headers_map={ @@ -1528,6 +1572,7 @@ def get_analytics_model( workspace_id (str): Keyword Args: + exclude ([str]): [optional] _return_http_data_only (bool): response data without head status code and headers. Default is True. _preload_content (bool): if False, the urllib3.HTTPResponse object @@ -1770,6 +1815,7 @@ def get_organization_layout( Keyword Args: + exclude ([str]): [optional] _return_http_data_only (bool): response data without head status code and headers. Default is True. _preload_content (bool): if False, the urllib3.HTTPResponse object @@ -2495,6 +2541,7 @@ def get_workspace_layout( workspace_id (str): Keyword Args: + exclude ([str]): [optional] _return_http_data_only (bool): response data without head status code and headers. Default is True. _preload_content (bool): if False, the urllib3.HTTPResponse object @@ -2658,6 +2705,7 @@ def get_workspaces_layout( Keyword Args: + exclude ([str]): [optional] _return_http_data_only (bool): response data without head status code and headers. Default is True. _preload_content (bool): if False, the urllib3.HTTPResponse object diff --git a/gooddata-api-client/gooddata_api_client/api/metrics_api.py b/gooddata-api-client/gooddata_api_client/api/metrics_api.py index b892c4097..473538fd8 100644 --- a/gooddata-api-client/gooddata_api_client/api/metrics_api.py +++ b/gooddata-api-client/gooddata_api_client/api/metrics_api.py @@ -79,11 +79,14 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -237,11 +240,14 @@ def __init__(self, api_client=None): }, ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -348,11 +354,14 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -441,11 +450,14 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, }, @@ -524,11 +536,14 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, }, diff --git a/gooddata-api-client/gooddata_api_client/api/organization_declarative_apis_api.py b/gooddata-api-client/gooddata_api_client/api/organization_declarative_apis_api.py index d4c1ef179..8478f9bd3 100644 --- a/gooddata-api-client/gooddata_api_client/api/organization_declarative_apis_api.py +++ b/gooddata-api-client/gooddata_api_client/api/organization_declarative_apis_api.py @@ -47,11 +47,13 @@ def __init__(self, api_client=None): }, params_map={ 'all': [ + 'exclude', ], 'required': [], 'nullable': [ ], 'enum': [ + 'exclude', ], 'validation': [ ] @@ -60,14 +62,23 @@ def __init__(self, api_client=None): 'validations': { }, 'allowed_values': { + ('exclude',): { + + "ACTIVITY_INFO": "ACTIVITY_INFO" + }, }, 'openapi_types': { + 'exclude': + ([str],), }, 'attribute_map': { + 'exclude': 'exclude', }, 'location_map': { + 'exclude': 'query', }, 'collection_format_map': { + 'exclude': 'multi', } }, headers_map={ @@ -142,6 +153,7 @@ def get_organization_layout( Keyword Args: + exclude ([str]): [optional] _return_http_data_only (bool): response data without head status code and headers. Default is True. _preload_content (bool): if False, the urllib3.HTTPResponse object diff --git a/gooddata-api-client/gooddata_api_client/api/organization_model_controller_api.py b/gooddata-api-client/gooddata_api_client/api/organization_model_controller_api.py index c2cc9295e..98f559974 100644 --- a/gooddata-api-client/gooddata_api_client/api/organization_model_controller_api.py +++ b/gooddata-api-client/gooddata_api_client/api/organization_model_controller_api.py @@ -54,6 +54,8 @@ from gooddata_api_client.model.json_api_user_group_out_document import JsonApiUserGroupOutDocument from gooddata_api_client.model.json_api_user_group_out_list import JsonApiUserGroupOutList from gooddata_api_client.model.json_api_user_group_patch_document import JsonApiUserGroupPatchDocument +from gooddata_api_client.model.json_api_user_identifier_out_document import JsonApiUserIdentifierOutDocument +from gooddata_api_client.model.json_api_user_identifier_out_list import JsonApiUserIdentifierOutList from gooddata_api_client.model.json_api_user_in_document import JsonApiUserInDocument from gooddata_api_client.model.json_api_user_out_document import JsonApiUserOutDocument from gooddata_api_client.model.json_api_user_out_list import JsonApiUserOutList @@ -1743,6 +1745,69 @@ def __init__(self, api_client=None): }, api_client=api_client ) + self.get_all_entities_user_identifiers_endpoint = _Endpoint( + settings={ + 'response_type': (JsonApiUserIdentifierOutList,), + 'auth': [], + 'endpoint_path': '/api/v1/entities/userIdentifiers', + 'operation_id': 'get_all_entities_user_identifiers', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + 'filter', + 'page', + 'size', + 'sort', + ], + 'required': [], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'filter': + (str,), + 'page': + (int,), + 'size': + (int,), + 'sort': + ([str],), + }, + 'attribute_map': { + 'filter': 'filter', + 'page': 'page', + 'size': 'size', + 'sort': 'sort', + }, + 'location_map': { + 'filter': 'query', + 'page': 'query', + 'size': 'query', + 'sort': 'query', + }, + 'collection_format_map': { + 'sort': 'multi', + } + }, + headers_map={ + 'accept': [ + 'application/vnd.gooddata.api+json' + ], + 'content_type': [], + }, + api_client=api_client + ) self.get_all_entities_users_endpoint = _Endpoint( settings={ 'response_type': (JsonApiUserOutList,), @@ -2508,6 +2573,67 @@ def __init__(self, api_client=None): }, api_client=api_client ) + self.get_entity_user_identifiers_endpoint = _Endpoint( + settings={ + 'response_type': (JsonApiUserIdentifierOutDocument,), + 'auth': [], + 'endpoint_path': '/api/v1/entities/userIdentifiers/{id}', + 'operation_id': 'get_entity_user_identifiers', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + 'id', + 'filter', + ], + 'required': [ + 'id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + 'id', + ] + }, + root_map={ + 'validations': { + ('id',): { + + 'regex': { + 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501 + }, + }, + }, + 'allowed_values': { + }, + 'openapi_types': { + 'id': + (str,), + 'filter': + (str,), + }, + 'attribute_map': { + 'id': 'id', + 'filter': 'filter', + }, + 'location_map': { + 'id': 'path', + 'filter': 'query', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/vnd.gooddata.api+json' + ], + 'content_type': [], + }, + api_client=api_client + ) self.get_entity_users_endpoint = _Endpoint( settings={ 'response_type': (JsonApiUserOutDocument,), @@ -6213,6 +6339,88 @@ def get_all_entities_user_groups( kwargs['_request_auths'] = kwargs.get('_request_auths', None) return self.get_all_entities_user_groups_endpoint.call_with_http_info(**kwargs) + def get_all_entities_user_identifiers( + self, + **kwargs + ): + """Get UserIdentifier entities # noqa: E501 + + UserIdentifier - represents entity interacting with platform # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.get_all_entities_user_identifiers(async_req=True) + >>> result = thread.get() + + + Keyword Args: + filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional] + page (int): Zero-based page index (0..N). [optional] if omitted the server will use the default value of 0 + size (int): The size of the page to be returned. [optional] if omitted the server will use the default value of 20 + sort ([str]): Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.. [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + JsonApiUserIdentifierOutList + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + return self.get_all_entities_user_identifiers_endpoint.call_with_http_info(**kwargs) + def get_all_entities_users( self, **kwargs @@ -7135,6 +7343,90 @@ def get_entity_user_groups( id return self.get_entity_user_groups_endpoint.call_with_http_info(**kwargs) + def get_entity_user_identifiers( + self, + id, + **kwargs + ): + """Get UserIdentifier entity # noqa: E501 + + UserIdentifier - represents basic informationZ about entity interacting with platform # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.get_entity_user_identifiers(id, async_req=True) + >>> result = thread.get() + + Args: + id (str): + + Keyword Args: + filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + JsonApiUserIdentifierOutDocument + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['id'] = \ + id + return self.get_entity_user_identifiers_endpoint.call_with_http_info(**kwargs) + def get_entity_users( self, id, diff --git a/gooddata-api-client/gooddata_api_client/api/plugins_api.py b/gooddata-api-client/gooddata_api_client/api/plugins_api.py index 1010f35ab..c92394cb8 100644 --- a/gooddata-api-client/gooddata_api_client/api/plugins_api.py +++ b/gooddata-api-client/gooddata_api_client/api/plugins_api.py @@ -53,6 +53,7 @@ def __init__(self, api_client=None): 'all': [ 'workspace_id', 'json_api_dashboard_plugin_post_optional_id_document', + 'include', 'meta_include', ], 'required': [ @@ -62,6 +63,7 @@ def __init__(self, api_client=None): 'nullable': [ ], 'enum': [ + 'include', 'meta_include', ], 'validation': [ @@ -75,6 +77,13 @@ def __init__(self, api_client=None): }, }, 'allowed_values': { + ('include',): { + + "USERIDENTIFIERS": "userIdentifiers", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", + "ALL": "ALL" + }, ('meta_include',): { "ORIGIN": "origin", @@ -87,19 +96,24 @@ def __init__(self, api_client=None): (str,), 'json_api_dashboard_plugin_post_optional_id_document': (JsonApiDashboardPluginPostOptionalIdDocument,), + 'include': + ([str],), 'meta_include': ([str],), }, 'attribute_map': { 'workspace_id': 'workspaceId', + 'include': 'include', 'meta_include': 'metaInclude', }, 'location_map': { 'workspace_id': 'path', 'json_api_dashboard_plugin_post_optional_id_document': 'body', + 'include': 'query', 'meta_include': 'query', }, 'collection_format_map': { + 'include': 'csv', 'meta_include': 'csv', } }, @@ -185,6 +199,7 @@ def __init__(self, api_client=None): 'workspace_id', 'origin', 'filter', + 'include', 'page', 'size', 'sort', @@ -198,6 +213,7 @@ def __init__(self, api_client=None): ], 'enum': [ 'origin', + 'include', 'meta_include', ], 'validation': [ @@ -217,6 +233,13 @@ def __init__(self, api_client=None): "PARENTS": "PARENTS", "NATIVE": "NATIVE" }, + ('include',): { + + "USERIDENTIFIERS": "userIdentifiers", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", + "ALL": "ALL" + }, ('meta_include',): { "ORIGIN": "origin", @@ -231,6 +254,8 @@ def __init__(self, api_client=None): (str,), 'filter': (str,), + 'include': + ([str],), 'page': (int,), 'size': @@ -246,6 +271,7 @@ def __init__(self, api_client=None): 'workspace_id': 'workspaceId', 'origin': 'origin', 'filter': 'filter', + 'include': 'include', 'page': 'page', 'size': 'size', 'sort': 'sort', @@ -256,6 +282,7 @@ def __init__(self, api_client=None): 'workspace_id': 'path', 'origin': 'query', 'filter': 'query', + 'include': 'query', 'page': 'query', 'size': 'query', 'sort': 'query', @@ -263,6 +290,7 @@ def __init__(self, api_client=None): 'meta_include': 'query', }, 'collection_format_map': { + 'include': 'csv', 'sort': 'multi', 'meta_include': 'csv', } @@ -289,6 +317,7 @@ def __init__(self, api_client=None): 'workspace_id', 'object_id', 'filter', + 'include', 'x_gdc_validate_relations', 'meta_include', ], @@ -299,6 +328,7 @@ def __init__(self, api_client=None): 'nullable': [ ], 'enum': [ + 'include', 'meta_include', ], 'validation': [ @@ -312,6 +342,13 @@ def __init__(self, api_client=None): }, }, 'allowed_values': { + ('include',): { + + "USERIDENTIFIERS": "userIdentifiers", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", + "ALL": "ALL" + }, ('meta_include',): { "ORIGIN": "origin", @@ -326,6 +363,8 @@ def __init__(self, api_client=None): (str,), 'filter': (str,), + 'include': + ([str],), 'x_gdc_validate_relations': (bool,), 'meta_include': @@ -335,6 +374,7 @@ def __init__(self, api_client=None): 'workspace_id': 'workspaceId', 'object_id': 'objectId', 'filter': 'filter', + 'include': 'include', 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS', 'meta_include': 'metaInclude', }, @@ -342,10 +382,12 @@ def __init__(self, api_client=None): 'workspace_id': 'path', 'object_id': 'path', 'filter': 'query', + 'include': 'query', 'x_gdc_validate_relations': 'header', 'meta_include': 'query', }, 'collection_format_map': { + 'include': 'csv', 'meta_include': 'csv', } }, @@ -372,6 +414,7 @@ def __init__(self, api_client=None): 'object_id', 'json_api_dashboard_plugin_patch_document', 'filter', + 'include', ], 'required': [ 'workspace_id', @@ -381,6 +424,7 @@ def __init__(self, api_client=None): 'nullable': [ ], 'enum': [ + 'include', ], 'validation': [ ] @@ -389,6 +433,13 @@ def __init__(self, api_client=None): 'validations': { }, 'allowed_values': { + ('include',): { + + "USERIDENTIFIERS": "userIdentifiers", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", + "ALL": "ALL" + }, }, 'openapi_types': { 'workspace_id': @@ -399,19 +450,24 @@ def __init__(self, api_client=None): (JsonApiDashboardPluginPatchDocument,), 'filter': (str,), + 'include': + ([str],), }, 'attribute_map': { 'workspace_id': 'workspaceId', 'object_id': 'objectId', 'filter': 'filter', + 'include': 'include', }, 'location_map': { 'workspace_id': 'path', 'object_id': 'path', 'json_api_dashboard_plugin_patch_document': 'body', 'filter': 'query', + 'include': 'query', }, 'collection_format_map': { + 'include': 'csv', } }, headers_map={ @@ -439,6 +495,7 @@ def __init__(self, api_client=None): 'object_id', 'json_api_dashboard_plugin_in_document', 'filter', + 'include', ], 'required': [ 'workspace_id', @@ -448,6 +505,7 @@ def __init__(self, api_client=None): 'nullable': [ ], 'enum': [ + 'include', ], 'validation': [ ] @@ -456,6 +514,13 @@ def __init__(self, api_client=None): 'validations': { }, 'allowed_values': { + ('include',): { + + "USERIDENTIFIERS": "userIdentifiers", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", + "ALL": "ALL" + }, }, 'openapi_types': { 'workspace_id': @@ -466,19 +531,24 @@ def __init__(self, api_client=None): (JsonApiDashboardPluginInDocument,), 'filter': (str,), + 'include': + ([str],), }, 'attribute_map': { 'workspace_id': 'workspaceId', 'object_id': 'objectId', 'filter': 'filter', + 'include': 'include', }, 'location_map': { 'workspace_id': 'path', 'object_id': 'path', 'json_api_dashboard_plugin_in_document': 'body', 'filter': 'query', + 'include': 'query', }, 'collection_format_map': { + 'include': 'csv', } }, headers_map={ @@ -511,6 +581,7 @@ def create_entity_dashboard_plugins( json_api_dashboard_plugin_post_optional_id_document (JsonApiDashboardPluginPostOptionalIdDocument): Keyword Args: + include ([str]): Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.. [optional] meta_include ([str]): Include Meta objects.. [optional] _return_http_data_only (bool): response data without head status code and headers. Default is True. @@ -685,6 +756,7 @@ def get_all_entities_dashboard_plugins( Keyword Args: origin (str): [optional] if omitted the server will use the default value of "ALL" filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional] + include ([str]): Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.. [optional] page (int): Zero-based page index (0..N). [optional] if omitted the server will use the default value of 0 size (int): The size of the page to be returned. [optional] if omitted the server will use the default value of 20 sort ([str]): Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.. [optional] @@ -775,6 +847,7 @@ def get_entity_dashboard_plugins( Keyword Args: filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional] + include ([str]): Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.. [optional] x_gdc_validate_relations (bool): [optional] if omitted the server will use the default value of False meta_include ([str]): Include Meta objects.. [optional] _return_http_data_only (bool): response data without head status @@ -866,6 +939,7 @@ def patch_entity_dashboard_plugins( Keyword Args: filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional] + include ([str]): Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.. [optional] _return_http_data_only (bool): response data without head status code and headers. Default is True. _preload_content (bool): if False, the urllib3.HTTPResponse object @@ -957,6 +1031,7 @@ def update_entity_dashboard_plugins( Keyword Args: filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional] + include ([str]): Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.. [optional] _return_http_data_only (bool): response data without head status code and headers. Default is True. _preload_content (bool): if False, the urllib3.HTTPResponse object diff --git a/gooddata-api-client/gooddata_api_client/api/visualization_object_api.py b/gooddata-api-client/gooddata_api_client/api/visualization_object_api.py index 06257659e..2570bd82c 100644 --- a/gooddata-api-client/gooddata_api_client/api/visualization_object_api.py +++ b/gooddata-api-client/gooddata_api_client/api/visualization_object_api.py @@ -79,11 +79,14 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -237,11 +240,14 @@ def __init__(self, api_client=None): }, ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -348,11 +354,14 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -441,11 +450,14 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, }, @@ -524,11 +536,14 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, }, diff --git a/gooddata-api-client/gooddata_api_client/api/workspace_object_controller_api.py b/gooddata-api-client/gooddata_api_client/api/workspace_object_controller_api.py index bf83ce5bc..1f91b4263 100644 --- a/gooddata-api-client/gooddata_api_client/api/workspace_object_controller_api.py +++ b/gooddata-api-client/gooddata_api_client/api/workspace_object_controller_api.py @@ -130,6 +130,7 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "VISUALIZATIONOBJECTS": "visualizationObjects", "ANALYTICALDASHBOARDS": "analyticalDashboards", "LABELS": "labels", @@ -137,6 +138,8 @@ def __init__(self, api_client=None): "DATASETS": "datasets", "FILTERCONTEXTS": "filterContexts", "DASHBOARDPLUGINS": "dashboardPlugins", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -270,6 +273,7 @@ def __init__(self, api_client=None): 'all': [ 'workspace_id', 'json_api_dashboard_plugin_post_optional_id_document', + 'include', 'meta_include', ], 'required': [ @@ -279,6 +283,7 @@ def __init__(self, api_client=None): 'nullable': [ ], 'enum': [ + 'include', 'meta_include', ], 'validation': [ @@ -292,6 +297,13 @@ def __init__(self, api_client=None): }, }, 'allowed_values': { + ('include',): { + + "USERIDENTIFIERS": "userIdentifiers", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", + "ALL": "ALL" + }, ('meta_include',): { "ORIGIN": "origin", @@ -304,19 +316,24 @@ def __init__(self, api_client=None): (str,), 'json_api_dashboard_plugin_post_optional_id_document': (JsonApiDashboardPluginPostOptionalIdDocument,), + 'include': + ([str],), 'meta_include': ([str],), }, 'attribute_map': { 'workspace_id': 'workspaceId', + 'include': 'include', 'meta_include': 'metaInclude', }, 'location_map': { 'workspace_id': 'path', 'json_api_dashboard_plugin_post_optional_id_document': 'body', + 'include': 'query', 'meta_include': 'query', }, 'collection_format_map': { + 'include': 'csv', 'meta_include': 'csv', } }, @@ -456,11 +473,14 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -638,11 +658,14 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -1529,6 +1552,7 @@ def __init__(self, api_client=None): }, ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "VISUALIZATIONOBJECTS": "visualizationObjects", "ANALYTICALDASHBOARDS": "analyticalDashboards", "LABELS": "labels", @@ -1536,6 +1560,8 @@ def __init__(self, api_client=None): "DATASETS": "datasets", "FILTERCONTEXTS": "filterContexts", "DASHBOARDPLUGINS": "dashboardPlugins", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -1840,6 +1866,7 @@ def __init__(self, api_client=None): 'workspace_id', 'origin', 'filter', + 'include', 'page', 'size', 'sort', @@ -1853,6 +1880,7 @@ def __init__(self, api_client=None): ], 'enum': [ 'origin', + 'include', 'meta_include', ], 'validation': [ @@ -1872,6 +1900,13 @@ def __init__(self, api_client=None): "PARENTS": "PARENTS", "NATIVE": "NATIVE" }, + ('include',): { + + "USERIDENTIFIERS": "userIdentifiers", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", + "ALL": "ALL" + }, ('meta_include',): { "ORIGIN": "origin", @@ -1886,6 +1921,8 @@ def __init__(self, api_client=None): (str,), 'filter': (str,), + 'include': + ([str],), 'page': (int,), 'size': @@ -1901,6 +1938,7 @@ def __init__(self, api_client=None): 'workspace_id': 'workspaceId', 'origin': 'origin', 'filter': 'filter', + 'include': 'include', 'page': 'page', 'size': 'size', 'sort': 'sort', @@ -1911,6 +1949,7 @@ def __init__(self, api_client=None): 'workspace_id': 'path', 'origin': 'query', 'filter': 'query', + 'include': 'query', 'page': 'query', 'size': 'query', 'sort': 'query', @@ -1918,6 +1957,7 @@ def __init__(self, api_client=None): 'meta_include': 'query', }, 'collection_format_map': { + 'include': 'csv', 'sort': 'multi', 'meta_include': 'csv', } @@ -2452,11 +2492,14 @@ def __init__(self, api_client=None): }, ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -2696,11 +2739,14 @@ def __init__(self, api_client=None): }, ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -3111,6 +3157,7 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "VISUALIZATIONOBJECTS": "visualizationObjects", "ANALYTICALDASHBOARDS": "analyticalDashboards", "LABELS": "labels", @@ -3118,6 +3165,8 @@ def __init__(self, api_client=None): "DATASETS": "datasets", "FILTERCONTEXTS": "filterContexts", "DASHBOARDPLUGINS": "dashboardPlugins", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -3365,6 +3414,7 @@ def __init__(self, api_client=None): 'workspace_id', 'object_id', 'filter', + 'include', 'x_gdc_validate_relations', 'meta_include', ], @@ -3375,6 +3425,7 @@ def __init__(self, api_client=None): 'nullable': [ ], 'enum': [ + 'include', 'meta_include', ], 'validation': [ @@ -3388,6 +3439,13 @@ def __init__(self, api_client=None): }, }, 'allowed_values': { + ('include',): { + + "USERIDENTIFIERS": "userIdentifiers", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", + "ALL": "ALL" + }, ('meta_include',): { "ORIGIN": "origin", @@ -3402,6 +3460,8 @@ def __init__(self, api_client=None): (str,), 'filter': (str,), + 'include': + ([str],), 'x_gdc_validate_relations': (bool,), 'meta_include': @@ -3411,6 +3471,7 @@ def __init__(self, api_client=None): 'workspace_id': 'workspaceId', 'object_id': 'objectId', 'filter': 'filter', + 'include': 'include', 'x_gdc_validate_relations': 'X-GDC-VALIDATE-RELATIONS', 'meta_include': 'metaInclude', }, @@ -3418,10 +3479,12 @@ def __init__(self, api_client=None): 'workspace_id': 'path', 'object_id': 'path', 'filter': 'query', + 'include': 'query', 'x_gdc_validate_relations': 'header', 'meta_include': 'query', }, 'collection_format_map': { + 'include': 'csv', 'meta_include': 'csv', } }, @@ -3858,11 +3921,14 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -4058,11 +4124,14 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, ('meta_include',): { @@ -4389,6 +4458,7 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "VISUALIZATIONOBJECTS": "visualizationObjects", "ANALYTICALDASHBOARDS": "analyticalDashboards", "LABELS": "labels", @@ -4396,6 +4466,8 @@ def __init__(self, api_client=None): "DATASETS": "datasets", "FILTERCONTEXTS": "filterContexts", "DASHBOARDPLUGINS": "dashboardPlugins", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, }, @@ -4520,6 +4592,7 @@ def __init__(self, api_client=None): 'object_id', 'json_api_dashboard_plugin_patch_document', 'filter', + 'include', ], 'required': [ 'workspace_id', @@ -4529,6 +4602,7 @@ def __init__(self, api_client=None): 'nullable': [ ], 'enum': [ + 'include', ], 'validation': [ ] @@ -4537,6 +4611,13 @@ def __init__(self, api_client=None): 'validations': { }, 'allowed_values': { + ('include',): { + + "USERIDENTIFIERS": "userIdentifiers", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", + "ALL": "ALL" + }, }, 'openapi_types': { 'workspace_id': @@ -4547,19 +4628,24 @@ def __init__(self, api_client=None): (JsonApiDashboardPluginPatchDocument,), 'filter': (str,), + 'include': + ([str],), }, 'attribute_map': { 'workspace_id': 'workspaceId', 'object_id': 'objectId', 'filter': 'filter', + 'include': 'include', }, 'location_map': { 'workspace_id': 'path', 'object_id': 'path', 'json_api_dashboard_plugin_patch_document': 'body', 'filter': 'query', + 'include': 'query', }, 'collection_format_map': { + 'include': 'csv', } }, headers_map={ @@ -4689,11 +4775,14 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, }, @@ -4859,11 +4948,14 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, }, @@ -5169,6 +5261,7 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "VISUALIZATIONOBJECTS": "visualizationObjects", "ANALYTICALDASHBOARDS": "analyticalDashboards", "LABELS": "labels", @@ -5176,6 +5269,8 @@ def __init__(self, api_client=None): "DATASETS": "datasets", "FILTERCONTEXTS": "filterContexts", "DASHBOARDPLUGINS": "dashboardPlugins", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, }, @@ -5300,6 +5395,7 @@ def __init__(self, api_client=None): 'object_id', 'json_api_dashboard_plugin_in_document', 'filter', + 'include', ], 'required': [ 'workspace_id', @@ -5309,6 +5405,7 @@ def __init__(self, api_client=None): 'nullable': [ ], 'enum': [ + 'include', ], 'validation': [ ] @@ -5317,6 +5414,13 @@ def __init__(self, api_client=None): 'validations': { }, 'allowed_values': { + ('include',): { + + "USERIDENTIFIERS": "userIdentifiers", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", + "ALL": "ALL" + }, }, 'openapi_types': { 'workspace_id': @@ -5327,19 +5431,24 @@ def __init__(self, api_client=None): (JsonApiDashboardPluginInDocument,), 'filter': (str,), + 'include': + ([str],), }, 'attribute_map': { 'workspace_id': 'workspaceId', 'object_id': 'objectId', 'filter': 'filter', + 'include': 'include', }, 'location_map': { 'workspace_id': 'path', 'object_id': 'path', 'json_api_dashboard_plugin_in_document': 'body', 'filter': 'query', + 'include': 'query', }, 'collection_format_map': { + 'include': 'csv', } }, headers_map={ @@ -5469,11 +5578,14 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, }, @@ -5639,11 +5751,14 @@ def __init__(self, api_client=None): 'allowed_values': { ('include',): { + "USERIDENTIFIERS": "userIdentifiers", "FACTS": "facts", "ATTRIBUTES": "attributes", "LABELS": "labels", "METRICS": "metrics", "DATASETS": "datasets", + "CREATEDBY": "createdBy", + "MODIFIEDBY": "modifiedBy", "ALL": "ALL" }, }, @@ -6108,6 +6223,7 @@ def create_entity_dashboard_plugins( json_api_dashboard_plugin_post_optional_id_document (JsonApiDashboardPluginPostOptionalIdDocument): Keyword Args: + include ([str]): Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.. [optional] meta_include ([str]): Include Meta objects.. [optional] _return_http_data_only (bool): response data without head status code and headers. Default is True. @@ -7947,6 +8063,7 @@ def get_all_entities_dashboard_plugins( Keyword Args: origin (str): [optional] if omitted the server will use the default value of "ALL" filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional] + include ([str]): Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.. [optional] page (int): Zero-based page index (0..N). [optional] if omitted the server will use the default value of 0 size (int): The size of the page to be returned. [optional] if omitted the server will use the default value of 20 sort ([str]): Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.. [optional] @@ -9203,6 +9320,7 @@ def get_entity_dashboard_plugins( Keyword Args: filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional] + include ([str]): Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.. [optional] x_gdc_validate_relations (bool): [optional] if omitted the server will use the default value of False meta_include ([str]): Include Meta objects.. [optional] _return_http_data_only (bool): response data without head status @@ -10374,6 +10492,7 @@ def patch_entity_dashboard_plugins( Keyword Args: filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional] + include ([str]): Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.. [optional] _return_http_data_only (bool): response data without head status code and headers. Default is True. _preload_content (bool): if False, the urllib3.HTTPResponse object @@ -11291,6 +11410,7 @@ def update_entity_dashboard_plugins( Keyword Args: filter (str): Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').. [optional] + include ([str]): Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL). __WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.. [optional] _return_http_data_only (bool): response data without head status code and headers. Default is True. _preload_content (bool): if False, the urllib3.HTTPResponse object diff --git a/gooddata-api-client/gooddata_api_client/api/workspaces_declarative_apis_api.py b/gooddata-api-client/gooddata_api_client/api/workspaces_declarative_apis_api.py index 7d10e5b97..6d3140872 100644 --- a/gooddata-api-client/gooddata_api_client/api/workspaces_declarative_apis_api.py +++ b/gooddata-api-client/gooddata_api_client/api/workspaces_declarative_apis_api.py @@ -49,6 +49,7 @@ def __init__(self, api_client=None): params_map={ 'all': [ 'workspace_id', + 'exclude', ], 'required': [ 'workspace_id', @@ -56,6 +57,7 @@ def __init__(self, api_client=None): 'nullable': [ ], 'enum': [ + 'exclude', ], 'validation': [ ] @@ -64,18 +66,27 @@ def __init__(self, api_client=None): 'validations': { }, 'allowed_values': { + ('exclude',): { + + "ACTIVITY_INFO": "ACTIVITY_INFO" + }, }, 'openapi_types': { 'workspace_id': (str,), + 'exclude': + ([str],), }, 'attribute_map': { 'workspace_id': 'workspaceId', + 'exclude': 'exclude', }, 'location_map': { 'workspace_id': 'path', + 'exclude': 'query', }, 'collection_format_map': { + 'exclude': 'multi', } }, headers_map={ @@ -97,11 +108,13 @@ def __init__(self, api_client=None): }, params_map={ 'all': [ + 'exclude', ], 'required': [], 'nullable': [ ], 'enum': [ + 'exclude', ], 'validation': [ ] @@ -110,14 +123,23 @@ def __init__(self, api_client=None): 'validations': { }, 'allowed_values': { + ('exclude',): { + + "ACTIVITY_INFO": "ACTIVITY_INFO" + }, }, 'openapi_types': { + 'exclude': + ([str],), }, 'attribute_map': { + 'exclude': 'exclude', }, 'location_map': { + 'exclude': 'query', }, 'collection_format_map': { + 'exclude': 'multi', } }, headers_map={ @@ -249,6 +271,7 @@ def get_workspace_layout( workspace_id (str): Keyword Args: + exclude ([str]): [optional] _return_http_data_only (bool): response data without head status code and headers. Default is True. _preload_content (bool): if False, the urllib3.HTTPResponse object @@ -329,6 +352,7 @@ def get_workspaces_layout( Keyword Args: + exclude ([str]): [optional] _return_http_data_only (bool): response data without head status code and headers. Default is True. _preload_content (bool): if False, the urllib3.HTTPResponse object diff --git a/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard.py b/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard.py index d300f79e7..e3a3f535c 100644 --- a/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard.py +++ b/gooddata-api-client/gooddata_api_client/model/declarative_analytical_dashboard.py @@ -32,7 +32,9 @@ def lazy_import(): from gooddata_api_client.model.declarative_analytical_dashboard_permission import DeclarativeAnalyticalDashboardPermission + from gooddata_api_client.model.declarative_user_identifier import DeclarativeUserIdentifier globals()['DeclarativeAnalyticalDashboardPermission'] = DeclarativeAnalyticalDashboardPermission + globals()['DeclarativeUserIdentifier'] = DeclarativeUserIdentifier class DeclarativeAnalyticalDashboard(ModelNormal): @@ -71,9 +73,19 @@ class DeclarativeAnalyticalDashboard(ModelNormal): ('title',): { 'max_length': 255, }, + ('created_at',): { + 'regex': { + 'pattern': r'[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}', # noqa: E501 + }, + }, ('description',): { 'max_length': 10000, }, + ('modified_at',): { + 'regex': { + 'pattern': r'[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}', # noqa: E501 + }, + }, ('tags',): { }, } @@ -104,7 +116,11 @@ def openapi_types(): 'content': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},), # noqa: E501 'id': (str,), # noqa: E501 'title': (str,), # noqa: E501 + 'created_at': (str, none_type,), # noqa: E501 + 'created_by': (DeclarativeUserIdentifier,), # noqa: E501 'description': (str,), # noqa: E501 + 'modified_at': (str, none_type,), # noqa: E501 + 'modified_by': (DeclarativeUserIdentifier,), # noqa: E501 'permissions': ([DeclarativeAnalyticalDashboardPermission],), # noqa: E501 'tags': ([str],), # noqa: E501 } @@ -118,7 +134,11 @@ def discriminator(): 'content': 'content', # noqa: E501 'id': 'id', # noqa: E501 'title': 'title', # noqa: E501 + 'created_at': 'createdAt', # noqa: E501 + 'created_by': 'createdBy', # noqa: E501 'description': 'description', # noqa: E501 + 'modified_at': 'modifiedAt', # noqa: E501 + 'modified_by': 'modifiedBy', # noqa: E501 'permissions': 'permissions', # noqa: E501 'tags': 'tags', # noqa: E501 } @@ -169,7 +189,11 @@ def _from_openapi_data(cls, content, id, title, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + created_at (str, none_type): Time of the entity creation.. [optional] # noqa: E501 + created_by (DeclarativeUserIdentifier): [optional] # noqa: E501 description (str): Analytical dashboard description.. [optional] # noqa: E501 + modified_at (str, none_type): Time of the last entity modification.. [optional] # noqa: E501 + modified_by (DeclarativeUserIdentifier): [optional] # noqa: E501 permissions ([DeclarativeAnalyticalDashboardPermission]): A list of permissions.. [optional] # noqa: E501 tags ([str]): A list of tags.. [optional] # noqa: E501 """ @@ -265,7 +289,11 @@ def __init__(self, content, id, title, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + created_at (str, none_type): Time of the entity creation.. [optional] # noqa: E501 + created_by (DeclarativeUserIdentifier): [optional] # noqa: E501 description (str): Analytical dashboard description.. [optional] # noqa: E501 + modified_at (str, none_type): Time of the last entity modification.. [optional] # noqa: E501 + modified_by (DeclarativeUserIdentifier): [optional] # noqa: E501 permissions ([DeclarativeAnalyticalDashboardPermission]): A list of permissions.. [optional] # noqa: E501 tags ([str]): A list of tags.. [optional] # noqa: E501 """ diff --git a/gooddata-api-client/gooddata_api_client/model/declarative_dashboard_plugin.py b/gooddata-api-client/gooddata_api_client/model/declarative_dashboard_plugin.py index 8c0a15ea4..40ca4d42c 100644 --- a/gooddata-api-client/gooddata_api_client/model/declarative_dashboard_plugin.py +++ b/gooddata-api-client/gooddata_api_client/model/declarative_dashboard_plugin.py @@ -30,6 +30,10 @@ from gooddata_api_client.exceptions import ApiAttributeError +def lazy_import(): + from gooddata_api_client.model.declarative_user_identifier import DeclarativeUserIdentifier + globals()['DeclarativeUserIdentifier'] = DeclarativeUserIdentifier + class DeclarativeDashboardPlugin(ModelNormal): """NOTE: This class is auto generated by OpenAPI Generator. @@ -67,9 +71,19 @@ class DeclarativeDashboardPlugin(ModelNormal): ('title',): { 'max_length': 255, }, + ('created_at',): { + 'regex': { + 'pattern': r'[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}', # noqa: E501 + }, + }, ('description',): { 'max_length': 10000, }, + ('modified_at',): { + 'regex': { + 'pattern': r'[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}', # noqa: E501 + }, + }, ('tags',): { }, } @@ -80,6 +94,7 @@ def additional_properties_type(): This must be a method because a model may have properties that are of type self, this must run after the class is loaded """ + lazy_import() return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 _nullable = False @@ -94,11 +109,16 @@ def openapi_types(): openapi_types (dict): The key is attribute name and the value is attribute type. """ + lazy_import() return { 'content': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},), # noqa: E501 'id': (str,), # noqa: E501 'title': (str,), # noqa: E501 + 'created_at': (str, none_type,), # noqa: E501 + 'created_by': (DeclarativeUserIdentifier,), # noqa: E501 'description': (str,), # noqa: E501 + 'modified_at': (str, none_type,), # noqa: E501 + 'modified_by': (DeclarativeUserIdentifier,), # noqa: E501 'tags': ([str],), # noqa: E501 } @@ -111,7 +131,11 @@ def discriminator(): 'content': 'content', # noqa: E501 'id': 'id', # noqa: E501 'title': 'title', # noqa: E501 + 'created_at': 'createdAt', # noqa: E501 + 'created_by': 'createdBy', # noqa: E501 'description': 'description', # noqa: E501 + 'modified_at': 'modifiedAt', # noqa: E501 + 'modified_by': 'modifiedBy', # noqa: E501 'tags': 'tags', # noqa: E501 } @@ -161,7 +185,11 @@ def _from_openapi_data(cls, content, id, title, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + created_at (str, none_type): Time of the entity creation.. [optional] # noqa: E501 + created_by (DeclarativeUserIdentifier): [optional] # noqa: E501 description (str): Dashboard plugin description.. [optional] # noqa: E501 + modified_at (str, none_type): Time of the last entity modification.. [optional] # noqa: E501 + modified_by (DeclarativeUserIdentifier): [optional] # noqa: E501 tags ([str]): A list of tags.. [optional] # noqa: E501 """ @@ -256,7 +284,11 @@ def __init__(self, content, id, title, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + created_at (str, none_type): Time of the entity creation.. [optional] # noqa: E501 + created_by (DeclarativeUserIdentifier): [optional] # noqa: E501 description (str): Dashboard plugin description.. [optional] # noqa: E501 + modified_at (str, none_type): Time of the last entity modification.. [optional] # noqa: E501 + modified_by (DeclarativeUserIdentifier): [optional] # noqa: E501 tags ([str]): A list of tags.. [optional] # noqa: E501 """ diff --git a/gooddata-api-client/gooddata_api_client/model/declarative_metric.py b/gooddata-api-client/gooddata_api_client/model/declarative_metric.py index 1c4f0d8c7..208dbc361 100644 --- a/gooddata-api-client/gooddata_api_client/model/declarative_metric.py +++ b/gooddata-api-client/gooddata_api_client/model/declarative_metric.py @@ -30,6 +30,10 @@ from gooddata_api_client.exceptions import ApiAttributeError +def lazy_import(): + from gooddata_api_client.model.declarative_user_identifier import DeclarativeUserIdentifier + globals()['DeclarativeUserIdentifier'] = DeclarativeUserIdentifier + class DeclarativeMetric(ModelNormal): """NOTE: This class is auto generated by OpenAPI Generator. @@ -67,9 +71,19 @@ class DeclarativeMetric(ModelNormal): ('title',): { 'max_length': 255, }, + ('created_at',): { + 'regex': { + 'pattern': r'[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}', # noqa: E501 + }, + }, ('description',): { 'max_length': 10000, }, + ('modified_at',): { + 'regex': { + 'pattern': r'[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}', # noqa: E501 + }, + }, ('tags',): { }, } @@ -80,6 +94,7 @@ def additional_properties_type(): This must be a method because a model may have properties that are of type self, this must run after the class is loaded """ + lazy_import() return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 _nullable = False @@ -94,11 +109,16 @@ def openapi_types(): openapi_types (dict): The key is attribute name and the value is attribute type. """ + lazy_import() return { 'content': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},), # noqa: E501 'id': (str,), # noqa: E501 'title': (str,), # noqa: E501 + 'created_at': (str, none_type,), # noqa: E501 + 'created_by': (DeclarativeUserIdentifier,), # noqa: E501 'description': (str,), # noqa: E501 + 'modified_at': (str, none_type,), # noqa: E501 + 'modified_by': (DeclarativeUserIdentifier,), # noqa: E501 'tags': ([str],), # noqa: E501 } @@ -111,7 +131,11 @@ def discriminator(): 'content': 'content', # noqa: E501 'id': 'id', # noqa: E501 'title': 'title', # noqa: E501 + 'created_at': 'createdAt', # noqa: E501 + 'created_by': 'createdBy', # noqa: E501 'description': 'description', # noqa: E501 + 'modified_at': 'modifiedAt', # noqa: E501 + 'modified_by': 'modifiedBy', # noqa: E501 'tags': 'tags', # noqa: E501 } @@ -161,7 +185,11 @@ def _from_openapi_data(cls, content, id, title, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + created_at (str, none_type): Time of the entity creation.. [optional] # noqa: E501 + created_by (DeclarativeUserIdentifier): [optional] # noqa: E501 description (str): Metric description.. [optional] # noqa: E501 + modified_at (str, none_type): Time of the last entity modification.. [optional] # noqa: E501 + modified_by (DeclarativeUserIdentifier): [optional] # noqa: E501 tags ([str]): A list of tags.. [optional] # noqa: E501 """ @@ -256,7 +284,11 @@ def __init__(self, content, id, title, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + created_at (str, none_type): Time of the entity creation.. [optional] # noqa: E501 + created_by (DeclarativeUserIdentifier): [optional] # noqa: E501 description (str): Metric description.. [optional] # noqa: E501 + modified_at (str, none_type): Time of the last entity modification.. [optional] # noqa: E501 + modified_by (DeclarativeUserIdentifier): [optional] # noqa: E501 tags ([str]): A list of tags.. [optional] # noqa: E501 """ diff --git a/gooddata-api-client/gooddata_api_client/model/declarative_user_data_filter.py b/gooddata-api-client/gooddata_api_client/model/declarative_user_data_filter.py index a56889ff2..70ad66cc1 100644 --- a/gooddata-api-client/gooddata_api_client/model/declarative_user_data_filter.py +++ b/gooddata-api-client/gooddata_api_client/model/declarative_user_data_filter.py @@ -31,10 +31,10 @@ def lazy_import(): + from gooddata_api_client.model.declarative_user_identifier import DeclarativeUserIdentifier from gooddata_api_client.model.user_group_identifier import UserGroupIdentifier - from gooddata_api_client.model.user_identifier import UserIdentifier + globals()['DeclarativeUserIdentifier'] = DeclarativeUserIdentifier globals()['UserGroupIdentifier'] = UserGroupIdentifier - globals()['UserIdentifier'] = UserIdentifier class DeclarativeUserDataFilter(ModelNormal): @@ -111,7 +111,7 @@ def openapi_types(): 'title': (str,), # noqa: E501 'description': (str,), # noqa: E501 'tags': ([str],), # noqa: E501 - 'user': (UserIdentifier,), # noqa: E501 + 'user': (DeclarativeUserIdentifier,), # noqa: E501 'user_group': (UserGroupIdentifier,), # noqa: E501 } @@ -178,7 +178,7 @@ def _from_openapi_data(cls, id, maql, title, *args, **kwargs): # noqa: E501 _visited_composed_classes = (Animal,) description (str): User Data Filters setting description.. [optional] # noqa: E501 tags ([str]): A list of tags.. [optional] # noqa: E501 - user (UserIdentifier): [optional] # noqa: E501 + user (DeclarativeUserIdentifier): [optional] # noqa: E501 user_group (UserGroupIdentifier): [optional] # noqa: E501 """ @@ -275,7 +275,7 @@ def __init__(self, id, maql, title, *args, **kwargs): # noqa: E501 _visited_composed_classes = (Animal,) description (str): User Data Filters setting description.. [optional] # noqa: E501 tags ([str]): A list of tags.. [optional] # noqa: E501 - user (UserIdentifier): [optional] # noqa: E501 + user (DeclarativeUserIdentifier): [optional] # noqa: E501 user_group (UserGroupIdentifier): [optional] # noqa: E501 """ diff --git a/gooddata-api-client/gooddata_api_client/model/user_identifier.py b/gooddata-api-client/gooddata_api_client/model/declarative_user_identifier.py similarity index 98% rename from gooddata-api-client/gooddata_api_client/model/user_identifier.py rename to gooddata-api-client/gooddata_api_client/model/declarative_user_identifier.py index 9ca74ffe7..1c685d25a 100644 --- a/gooddata-api-client/gooddata_api_client/model/user_identifier.py +++ b/gooddata-api-client/gooddata_api_client/model/declarative_user_identifier.py @@ -31,7 +31,7 @@ -class UserIdentifier(ModelNormal): +class DeclarativeUserIdentifier(ModelNormal): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -112,7 +112,7 @@ def discriminator(): @classmethod @convert_js_args_to_python_args def _from_openapi_data(cls, id, *args, **kwargs): # noqa: E501 - """UserIdentifier - a model defined in OpenAPI + """DeclarativeUserIdentifier - a model defined in OpenAPI Args: id (str): User identifier. @@ -204,7 +204,7 @@ def _from_openapi_data(cls, id, *args, **kwargs): # noqa: E501 @convert_js_args_to_python_args def __init__(self, id, *args, **kwargs): # noqa: E501 - """UserIdentifier - a model defined in OpenAPI + """DeclarativeUserIdentifier - a model defined in OpenAPI Args: id (str): User identifier. diff --git a/gooddata-api-client/gooddata_api_client/model/declarative_visualization_object.py b/gooddata-api-client/gooddata_api_client/model/declarative_visualization_object.py index 7265f25f3..c8172a1e0 100644 --- a/gooddata-api-client/gooddata_api_client/model/declarative_visualization_object.py +++ b/gooddata-api-client/gooddata_api_client/model/declarative_visualization_object.py @@ -30,6 +30,10 @@ from gooddata_api_client.exceptions import ApiAttributeError +def lazy_import(): + from gooddata_api_client.model.declarative_user_identifier import DeclarativeUserIdentifier + globals()['DeclarativeUserIdentifier'] = DeclarativeUserIdentifier + class DeclarativeVisualizationObject(ModelNormal): """NOTE: This class is auto generated by OpenAPI Generator. @@ -67,9 +71,19 @@ class DeclarativeVisualizationObject(ModelNormal): ('title',): { 'max_length': 255, }, + ('created_at',): { + 'regex': { + 'pattern': r'[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}', # noqa: E501 + }, + }, ('description',): { 'max_length': 10000, }, + ('modified_at',): { + 'regex': { + 'pattern': r'[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}', # noqa: E501 + }, + }, ('tags',): { }, } @@ -80,6 +94,7 @@ def additional_properties_type(): This must be a method because a model may have properties that are of type self, this must run after the class is loaded """ + lazy_import() return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 _nullable = False @@ -94,11 +109,16 @@ def openapi_types(): openapi_types (dict): The key is attribute name and the value is attribute type. """ + lazy_import() return { 'content': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},), # noqa: E501 'id': (str,), # noqa: E501 'title': (str,), # noqa: E501 + 'created_at': (str, none_type,), # noqa: E501 + 'created_by': (DeclarativeUserIdentifier,), # noqa: E501 'description': (str,), # noqa: E501 + 'modified_at': (str, none_type,), # noqa: E501 + 'modified_by': (DeclarativeUserIdentifier,), # noqa: E501 'tags': ([str],), # noqa: E501 } @@ -111,7 +131,11 @@ def discriminator(): 'content': 'content', # noqa: E501 'id': 'id', # noqa: E501 'title': 'title', # noqa: E501 + 'created_at': 'createdAt', # noqa: E501 + 'created_by': 'createdBy', # noqa: E501 'description': 'description', # noqa: E501 + 'modified_at': 'modifiedAt', # noqa: E501 + 'modified_by': 'modifiedBy', # noqa: E501 'tags': 'tags', # noqa: E501 } @@ -161,7 +185,11 @@ def _from_openapi_data(cls, content, id, title, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + created_at (str, none_type): Time of the entity creation.. [optional] # noqa: E501 + created_by (DeclarativeUserIdentifier): [optional] # noqa: E501 description (str): Visualization object description.. [optional] # noqa: E501 + modified_at (str, none_type): Time of the last entity modification.. [optional] # noqa: E501 + modified_by (DeclarativeUserIdentifier): [optional] # noqa: E501 tags ([str]): A list of tags.. [optional] # noqa: E501 """ @@ -256,7 +284,11 @@ def __init__(self, content, id, title, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + created_at (str, none_type): Time of the entity creation.. [optional] # noqa: E501 + created_by (DeclarativeUserIdentifier): [optional] # noqa: E501 description (str): Visualization object description.. [optional] # noqa: E501 + modified_at (str, none_type): Time of the last entity modification.. [optional] # noqa: E501 + modified_by (DeclarativeUserIdentifier): [optional] # noqa: E501 tags ([str]): A list of tags.. [optional] # noqa: E501 """ diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out.py b/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out.py index 03461b178..7a99da278 100644 --- a/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out.py +++ b/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out.py @@ -31,10 +31,10 @@ def lazy_import(): - from gooddata_api_client.model.json_api_analytical_dashboard_in_attributes import JsonApiAnalyticalDashboardInAttributes + from gooddata_api_client.model.json_api_analytical_dashboard_out_attributes import JsonApiAnalyticalDashboardOutAttributes from gooddata_api_client.model.json_api_analytical_dashboard_out_meta import JsonApiAnalyticalDashboardOutMeta from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships import JsonApiAnalyticalDashboardOutRelationships - globals()['JsonApiAnalyticalDashboardInAttributes'] = JsonApiAnalyticalDashboardInAttributes + globals()['JsonApiAnalyticalDashboardOutAttributes'] = JsonApiAnalyticalDashboardOutAttributes globals()['JsonApiAnalyticalDashboardOutMeta'] = JsonApiAnalyticalDashboardOutMeta globals()['JsonApiAnalyticalDashboardOutRelationships'] = JsonApiAnalyticalDashboardOutRelationships @@ -102,7 +102,7 @@ def openapi_types(): return { 'id': (str,), # noqa: E501 'type': (str,), # noqa: E501 - 'attributes': (JsonApiAnalyticalDashboardInAttributes,), # noqa: E501 + 'attributes': (JsonApiAnalyticalDashboardOutAttributes,), # noqa: E501 'meta': (JsonApiAnalyticalDashboardOutMeta,), # noqa: E501 'relationships': (JsonApiAnalyticalDashboardOutRelationships,), # noqa: E501 } @@ -165,7 +165,7 @@ def _from_openapi_data(cls, id, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - attributes (JsonApiAnalyticalDashboardInAttributes): [optional] # noqa: E501 + attributes (JsonApiAnalyticalDashboardOutAttributes): [optional] # noqa: E501 meta (JsonApiAnalyticalDashboardOutMeta): [optional] # noqa: E501 relationships (JsonApiAnalyticalDashboardOutRelationships): [optional] # noqa: E501 """ @@ -260,7 +260,7 @@ def __init__(self, id, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - attributes (JsonApiAnalyticalDashboardInAttributes): [optional] # noqa: E501 + attributes (JsonApiAnalyticalDashboardOutAttributes): [optional] # noqa: E501 meta (JsonApiAnalyticalDashboardOutMeta): [optional] # noqa: E501 relationships (JsonApiAnalyticalDashboardOutRelationships): [optional] # noqa: E501 """ diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_attributes.py b/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_attributes.py new file mode 100644 index 000000000..02c038fb2 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_attributes.py @@ -0,0 +1,294 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + + +class JsonApiAnalyticalDashboardOutAttributes(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + ('description',): { + 'max_length': 10000, + }, + ('title',): { + 'max_length': 255, + }, + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'are_relations_valid': (bool,), # noqa: E501 + 'content': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},), # noqa: E501 + 'created_at': (datetime,), # noqa: E501 + 'description': (str,), # noqa: E501 + 'modified_at': (datetime,), # noqa: E501 + 'tags': ([str],), # noqa: E501 + 'title': (str,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'are_relations_valid': 'areRelationsValid', # noqa: E501 + 'content': 'content', # noqa: E501 + 'created_at': 'createdAt', # noqa: E501 + 'description': 'description', # noqa: E501 + 'modified_at': 'modifiedAt', # noqa: E501 + 'tags': 'tags', # noqa: E501 + 'title': 'title', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """JsonApiAnalyticalDashboardOutAttributes - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + are_relations_valid (bool): [optional] # noqa: E501 + content ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): Free-form JSON content. Maximum supported length is 250000 characters.. [optional] # noqa: E501 + created_at (datetime): [optional] # noqa: E501 + description (str): [optional] # noqa: E501 + modified_at (datetime): [optional] # noqa: E501 + tags ([str]): [optional] # noqa: E501 + title (str): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """JsonApiAnalyticalDashboardOutAttributes - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + are_relations_valid (bool): [optional] # noqa: E501 + content ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): Free-form JSON content. Maximum supported length is 250000 characters.. [optional] # noqa: E501 + created_at (datetime): [optional] # noqa: E501 + description (str): [optional] # noqa: E501 + modified_at (datetime): [optional] # noqa: E501 + tags ([str]): [optional] # noqa: E501 + title (str): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_includes.py b/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_includes.py index 43f7bd027..06ccb3608 100644 --- a/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_includes.py +++ b/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_includes.py @@ -33,24 +33,26 @@ def lazy_import(): from gooddata_api_client.model.json_api_analytical_dashboard_out_with_links import JsonApiAnalyticalDashboardOutWithLinks from gooddata_api_client.model.json_api_attribute_out_meta import JsonApiAttributeOutMeta - from gooddata_api_client.model.json_api_dashboard_plugin_in_attributes import JsonApiDashboardPluginInAttributes + from gooddata_api_client.model.json_api_dashboard_plugin_out_attributes import JsonApiDashboardPluginOutAttributes + from gooddata_api_client.model.json_api_dashboard_plugin_out_relationships import JsonApiDashboardPluginOutRelationships from gooddata_api_client.model.json_api_dashboard_plugin_out_with_links import JsonApiDashboardPluginOutWithLinks from gooddata_api_client.model.json_api_dataset_out_with_links import JsonApiDatasetOutWithLinks - from gooddata_api_client.model.json_api_filter_context_out_relationships import JsonApiFilterContextOutRelationships from gooddata_api_client.model.json_api_filter_context_out_with_links import JsonApiFilterContextOutWithLinks from gooddata_api_client.model.json_api_label_out_with_links import JsonApiLabelOutWithLinks from gooddata_api_client.model.json_api_metric_out_with_links import JsonApiMetricOutWithLinks + from gooddata_api_client.model.json_api_user_identifier_out_with_links import JsonApiUserIdentifierOutWithLinks from gooddata_api_client.model.json_api_visualization_object_out_with_links import JsonApiVisualizationObjectOutWithLinks from gooddata_api_client.model.object_links import ObjectLinks globals()['JsonApiAnalyticalDashboardOutWithLinks'] = JsonApiAnalyticalDashboardOutWithLinks globals()['JsonApiAttributeOutMeta'] = JsonApiAttributeOutMeta - globals()['JsonApiDashboardPluginInAttributes'] = JsonApiDashboardPluginInAttributes + globals()['JsonApiDashboardPluginOutAttributes'] = JsonApiDashboardPluginOutAttributes + globals()['JsonApiDashboardPluginOutRelationships'] = JsonApiDashboardPluginOutRelationships globals()['JsonApiDashboardPluginOutWithLinks'] = JsonApiDashboardPluginOutWithLinks globals()['JsonApiDatasetOutWithLinks'] = JsonApiDatasetOutWithLinks - globals()['JsonApiFilterContextOutRelationships'] = JsonApiFilterContextOutRelationships globals()['JsonApiFilterContextOutWithLinks'] = JsonApiFilterContextOutWithLinks globals()['JsonApiLabelOutWithLinks'] = JsonApiLabelOutWithLinks globals()['JsonApiMetricOutWithLinks'] = JsonApiMetricOutWithLinks + globals()['JsonApiUserIdentifierOutWithLinks'] = JsonApiUserIdentifierOutWithLinks globals()['JsonApiVisualizationObjectOutWithLinks'] = JsonApiVisualizationObjectOutWithLinks globals()['ObjectLinks'] = ObjectLinks @@ -116,10 +118,10 @@ def openapi_types(): """ lazy_import() return { - 'meta': (JsonApiAttributeOutMeta,), # noqa: E501 - 'relationships': (JsonApiFilterContextOutRelationships,), # noqa: E501 'links': (ObjectLinks,), # noqa: E501 - 'attributes': (JsonApiDashboardPluginInAttributes,), # noqa: E501 + 'meta': (JsonApiAttributeOutMeta,), # noqa: E501 + 'relationships': (JsonApiDashboardPluginOutRelationships,), # noqa: E501 + 'attributes': (JsonApiDashboardPluginOutAttributes,), # noqa: E501 'id': (str,), # noqa: E501 'type': (str,), # noqa: E501 } @@ -130,9 +132,9 @@ def discriminator(): attribute_map = { + 'links': 'links', # noqa: E501 'meta': 'meta', # noqa: E501 'relationships': 'relationships', # noqa: E501 - 'links': 'links', # noqa: E501 'attributes': 'attributes', # noqa: E501 'id': 'id', # noqa: E501 'type': 'type', # noqa: E501 @@ -177,10 +179,10 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - meta (JsonApiAttributeOutMeta): [optional] # noqa: E501 - relationships (JsonApiFilterContextOutRelationships): [optional] # noqa: E501 links (ObjectLinks): [optional] # noqa: E501 - attributes (JsonApiDashboardPluginInAttributes): [optional] # noqa: E501 + meta (JsonApiAttributeOutMeta): [optional] # noqa: E501 + relationships (JsonApiDashboardPluginOutRelationships): [optional] # noqa: E501 + attributes (JsonApiDashboardPluginOutAttributes): [optional] # noqa: E501 id (str): API identifier of an object. [optional] # noqa: E501 type (str): Object type. [optional] if omitted the server will use the default value of "dashboardPlugin" # noqa: E501 """ @@ -286,10 +288,10 @@ def __init__(self, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - meta (JsonApiAttributeOutMeta): [optional] # noqa: E501 - relationships (JsonApiFilterContextOutRelationships): [optional] # noqa: E501 links (ObjectLinks): [optional] # noqa: E501 - attributes (JsonApiDashboardPluginInAttributes): [optional] # noqa: E501 + meta (JsonApiAttributeOutMeta): [optional] # noqa: E501 + relationships (JsonApiDashboardPluginOutRelationships): [optional] # noqa: E501 + attributes (JsonApiDashboardPluginOutAttributes): [optional] # noqa: E501 id (str): API identifier of an object. [optional] # noqa: E501 type (str): Object type. [optional] if omitted the server will use the default value of "dashboardPlugin" # noqa: E501 """ @@ -369,6 +371,7 @@ def _composed_schemas(): JsonApiFilterContextOutWithLinks, JsonApiLabelOutWithLinks, JsonApiMetricOutWithLinks, + JsonApiUserIdentifierOutWithLinks, JsonApiVisualizationObjectOutWithLinks, ], } diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_relationships.py b/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_relationships.py index abc1950b8..46dd683d0 100644 --- a/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_relationships.py +++ b/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_relationships.py @@ -32,6 +32,7 @@ def lazy_import(): from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_analytical_dashboards import JsonApiAnalyticalDashboardOutRelationshipsAnalyticalDashboards + from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_created_by import JsonApiAnalyticalDashboardOutRelationshipsCreatedBy from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_dashboard_plugins import JsonApiAnalyticalDashboardOutRelationshipsDashboardPlugins from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_datasets import JsonApiAnalyticalDashboardOutRelationshipsDatasets from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_filter_contexts import JsonApiAnalyticalDashboardOutRelationshipsFilterContexts @@ -39,6 +40,7 @@ def lazy_import(): from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_metrics import JsonApiAnalyticalDashboardOutRelationshipsMetrics from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_visualization_objects import JsonApiAnalyticalDashboardOutRelationshipsVisualizationObjects globals()['JsonApiAnalyticalDashboardOutRelationshipsAnalyticalDashboards'] = JsonApiAnalyticalDashboardOutRelationshipsAnalyticalDashboards + globals()['JsonApiAnalyticalDashboardOutRelationshipsCreatedBy'] = JsonApiAnalyticalDashboardOutRelationshipsCreatedBy globals()['JsonApiAnalyticalDashboardOutRelationshipsDashboardPlugins'] = JsonApiAnalyticalDashboardOutRelationshipsDashboardPlugins globals()['JsonApiAnalyticalDashboardOutRelationshipsDatasets'] = JsonApiAnalyticalDashboardOutRelationshipsDatasets globals()['JsonApiAnalyticalDashboardOutRelationshipsFilterContexts'] = JsonApiAnalyticalDashboardOutRelationshipsFilterContexts @@ -101,11 +103,13 @@ def openapi_types(): lazy_import() return { 'analytical_dashboards': (JsonApiAnalyticalDashboardOutRelationshipsAnalyticalDashboards,), # noqa: E501 + 'created_by': (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy,), # noqa: E501 'dashboard_plugins': (JsonApiAnalyticalDashboardOutRelationshipsDashboardPlugins,), # noqa: E501 'datasets': (JsonApiAnalyticalDashboardOutRelationshipsDatasets,), # noqa: E501 'filter_contexts': (JsonApiAnalyticalDashboardOutRelationshipsFilterContexts,), # noqa: E501 'labels': (JsonApiAnalyticalDashboardOutRelationshipsLabels,), # noqa: E501 'metrics': (JsonApiAnalyticalDashboardOutRelationshipsMetrics,), # noqa: E501 + 'modified_by': (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy,), # noqa: E501 'visualization_objects': (JsonApiAnalyticalDashboardOutRelationshipsVisualizationObjects,), # noqa: E501 } @@ -116,11 +120,13 @@ def discriminator(): attribute_map = { 'analytical_dashboards': 'analyticalDashboards', # noqa: E501 + 'created_by': 'createdBy', # noqa: E501 'dashboard_plugins': 'dashboardPlugins', # noqa: E501 'datasets': 'datasets', # noqa: E501 'filter_contexts': 'filterContexts', # noqa: E501 'labels': 'labels', # noqa: E501 'metrics': 'metrics', # noqa: E501 + 'modified_by': 'modifiedBy', # noqa: E501 'visualization_objects': 'visualizationObjects', # noqa: E501 } @@ -166,11 +172,13 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 through its discriminator because we passed in _visited_composed_classes = (Animal,) analytical_dashboards (JsonApiAnalyticalDashboardOutRelationshipsAnalyticalDashboards): [optional] # noqa: E501 + created_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501 dashboard_plugins (JsonApiAnalyticalDashboardOutRelationshipsDashboardPlugins): [optional] # noqa: E501 datasets (JsonApiAnalyticalDashboardOutRelationshipsDatasets): [optional] # noqa: E501 filter_contexts (JsonApiAnalyticalDashboardOutRelationshipsFilterContexts): [optional] # noqa: E501 labels (JsonApiAnalyticalDashboardOutRelationshipsLabels): [optional] # noqa: E501 metrics (JsonApiAnalyticalDashboardOutRelationshipsMetrics): [optional] # noqa: E501 + modified_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501 visualization_objects (JsonApiAnalyticalDashboardOutRelationshipsVisualizationObjects): [optional] # noqa: E501 """ @@ -258,11 +266,13 @@ def __init__(self, *args, **kwargs): # noqa: E501 through its discriminator because we passed in _visited_composed_classes = (Animal,) analytical_dashboards (JsonApiAnalyticalDashboardOutRelationshipsAnalyticalDashboards): [optional] # noqa: E501 + created_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501 dashboard_plugins (JsonApiAnalyticalDashboardOutRelationshipsDashboardPlugins): [optional] # noqa: E501 datasets (JsonApiAnalyticalDashboardOutRelationshipsDatasets): [optional] # noqa: E501 filter_contexts (JsonApiAnalyticalDashboardOutRelationshipsFilterContexts): [optional] # noqa: E501 labels (JsonApiAnalyticalDashboardOutRelationshipsLabels): [optional] # noqa: E501 metrics (JsonApiAnalyticalDashboardOutRelationshipsMetrics): [optional] # noqa: E501 + modified_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501 visualization_objects (JsonApiAnalyticalDashboardOutRelationshipsVisualizationObjects): [optional] # noqa: E501 """ diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_relationships_created_by.py b/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_relationships_created_by.py new file mode 100644 index 000000000..3eb449668 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_relationships_created_by.py @@ -0,0 +1,276 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from gooddata_api_client.model.json_api_user_identifier_to_one_linkage import JsonApiUserIdentifierToOneLinkage + globals()['JsonApiUserIdentifierToOneLinkage'] = JsonApiUserIdentifierToOneLinkage + + +class JsonApiAnalyticalDashboardOutRelationshipsCreatedBy(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'data': (JsonApiUserIdentifierToOneLinkage,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'data': 'data', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, data, *args, **kwargs): # noqa: E501 + """JsonApiAnalyticalDashboardOutRelationshipsCreatedBy - a model defined in OpenAPI + + Args: + data (JsonApiUserIdentifierToOneLinkage): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.data = data + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, data, *args, **kwargs): # noqa: E501 + """JsonApiAnalyticalDashboardOutRelationshipsCreatedBy - a model defined in OpenAPI + + Args: + data (JsonApiUserIdentifierToOneLinkage): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.data = data + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_with_links.py b/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_with_links.py index 294671bb1..01e540b10 100644 --- a/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_with_links.py +++ b/gooddata-api-client/gooddata_api_client/model/json_api_analytical_dashboard_out_with_links.py @@ -31,14 +31,14 @@ def lazy_import(): - from gooddata_api_client.model.json_api_analytical_dashboard_in_attributes import JsonApiAnalyticalDashboardInAttributes from gooddata_api_client.model.json_api_analytical_dashboard_out import JsonApiAnalyticalDashboardOut + from gooddata_api_client.model.json_api_analytical_dashboard_out_attributes import JsonApiAnalyticalDashboardOutAttributes from gooddata_api_client.model.json_api_analytical_dashboard_out_meta import JsonApiAnalyticalDashboardOutMeta from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships import JsonApiAnalyticalDashboardOutRelationships from gooddata_api_client.model.object_links import ObjectLinks from gooddata_api_client.model.object_links_container import ObjectLinksContainer - globals()['JsonApiAnalyticalDashboardInAttributes'] = JsonApiAnalyticalDashboardInAttributes globals()['JsonApiAnalyticalDashboardOut'] = JsonApiAnalyticalDashboardOut + globals()['JsonApiAnalyticalDashboardOutAttributes'] = JsonApiAnalyticalDashboardOutAttributes globals()['JsonApiAnalyticalDashboardOutMeta'] = JsonApiAnalyticalDashboardOutMeta globals()['JsonApiAnalyticalDashboardOutRelationships'] = JsonApiAnalyticalDashboardOutRelationships globals()['ObjectLinks'] = ObjectLinks @@ -108,7 +108,7 @@ def openapi_types(): return { 'id': (str,), # noqa: E501 'type': (str,), # noqa: E501 - 'attributes': (JsonApiAnalyticalDashboardInAttributes,), # noqa: E501 + 'attributes': (JsonApiAnalyticalDashboardOutAttributes,), # noqa: E501 'meta': (JsonApiAnalyticalDashboardOutMeta,), # noqa: E501 'relationships': (JsonApiAnalyticalDashboardOutRelationships,), # noqa: E501 'links': (ObjectLinks,), # noqa: E501 @@ -169,7 +169,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - attributes (JsonApiAnalyticalDashboardInAttributes): [optional] # noqa: E501 + attributes (JsonApiAnalyticalDashboardOutAttributes): [optional] # noqa: E501 meta (JsonApiAnalyticalDashboardOutMeta): [optional] # noqa: E501 relationships (JsonApiAnalyticalDashboardOutRelationships): [optional] # noqa: E501 links (ObjectLinks): [optional] # noqa: E501 @@ -279,7 +279,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - attributes (JsonApiAnalyticalDashboardInAttributes): [optional] # noqa: E501 + attributes (JsonApiAnalyticalDashboardOutAttributes): [optional] # noqa: E501 meta (JsonApiAnalyticalDashboardOutMeta): [optional] # noqa: E501 relationships (JsonApiAnalyticalDashboardOutRelationships): [optional] # noqa: E501 links (ObjectLinks): [optional] # noqa: E501 diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out.py b/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out.py index 7326b8c21..3db484ca0 100644 --- a/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out.py +++ b/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out.py @@ -32,9 +32,11 @@ def lazy_import(): from gooddata_api_client.model.json_api_attribute_out_meta import JsonApiAttributeOutMeta - from gooddata_api_client.model.json_api_dashboard_plugin_in_attributes import JsonApiDashboardPluginInAttributes + from gooddata_api_client.model.json_api_dashboard_plugin_out_attributes import JsonApiDashboardPluginOutAttributes + from gooddata_api_client.model.json_api_dashboard_plugin_out_relationships import JsonApiDashboardPluginOutRelationships globals()['JsonApiAttributeOutMeta'] = JsonApiAttributeOutMeta - globals()['JsonApiDashboardPluginInAttributes'] = JsonApiDashboardPluginInAttributes + globals()['JsonApiDashboardPluginOutAttributes'] = JsonApiDashboardPluginOutAttributes + globals()['JsonApiDashboardPluginOutRelationships'] = JsonApiDashboardPluginOutRelationships class JsonApiDashboardPluginOut(ModelNormal): @@ -100,8 +102,9 @@ def openapi_types(): return { 'id': (str,), # noqa: E501 'type': (str,), # noqa: E501 - 'attributes': (JsonApiDashboardPluginInAttributes,), # noqa: E501 + 'attributes': (JsonApiDashboardPluginOutAttributes,), # noqa: E501 'meta': (JsonApiAttributeOutMeta,), # noqa: E501 + 'relationships': (JsonApiDashboardPluginOutRelationships,), # noqa: E501 } @cached_property @@ -114,6 +117,7 @@ def discriminator(): 'type': 'type', # noqa: E501 'attributes': 'attributes', # noqa: E501 'meta': 'meta', # noqa: E501 + 'relationships': 'relationships', # noqa: E501 } read_only_vars = { @@ -161,8 +165,9 @@ def _from_openapi_data(cls, id, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - attributes (JsonApiDashboardPluginInAttributes): [optional] # noqa: E501 + attributes (JsonApiDashboardPluginOutAttributes): [optional] # noqa: E501 meta (JsonApiAttributeOutMeta): [optional] # noqa: E501 + relationships (JsonApiDashboardPluginOutRelationships): [optional] # noqa: E501 """ type = kwargs.get('type', "dashboardPlugin") @@ -255,8 +260,9 @@ def __init__(self, id, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - attributes (JsonApiDashboardPluginInAttributes): [optional] # noqa: E501 + attributes (JsonApiDashboardPluginOutAttributes): [optional] # noqa: E501 meta (JsonApiAttributeOutMeta): [optional] # noqa: E501 + relationships (JsonApiDashboardPluginOutRelationships): [optional] # noqa: E501 """ type = kwargs.get('type', "dashboardPlugin") diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out_attributes.py b/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out_attributes.py new file mode 100644 index 000000000..f59569ad6 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out_attributes.py @@ -0,0 +1,294 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + + +class JsonApiDashboardPluginOutAttributes(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + ('description',): { + 'max_length': 10000, + }, + ('title',): { + 'max_length': 255, + }, + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'are_relations_valid': (bool,), # noqa: E501 + 'content': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},), # noqa: E501 + 'created_at': (datetime,), # noqa: E501 + 'description': (str,), # noqa: E501 + 'modified_at': (datetime,), # noqa: E501 + 'tags': ([str],), # noqa: E501 + 'title': (str,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'are_relations_valid': 'areRelationsValid', # noqa: E501 + 'content': 'content', # noqa: E501 + 'created_at': 'createdAt', # noqa: E501 + 'description': 'description', # noqa: E501 + 'modified_at': 'modifiedAt', # noqa: E501 + 'tags': 'tags', # noqa: E501 + 'title': 'title', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """JsonApiDashboardPluginOutAttributes - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + are_relations_valid (bool): [optional] # noqa: E501 + content ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): Free-form JSON content. Maximum supported length is 250000 characters.. [optional] # noqa: E501 + created_at (datetime): [optional] # noqa: E501 + description (str): [optional] # noqa: E501 + modified_at (datetime): [optional] # noqa: E501 + tags ([str]): [optional] # noqa: E501 + title (str): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """JsonApiDashboardPluginOutAttributes - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + are_relations_valid (bool): [optional] # noqa: E501 + content ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): Free-form JSON content. Maximum supported length is 250000 characters.. [optional] # noqa: E501 + created_at (datetime): [optional] # noqa: E501 + description (str): [optional] # noqa: E501 + modified_at (datetime): [optional] # noqa: E501 + tags ([str]): [optional] # noqa: E501 + title (str): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out_document.py b/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out_document.py index dcbde130e..e94476ad0 100644 --- a/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out_document.py +++ b/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out_document.py @@ -32,8 +32,10 @@ def lazy_import(): from gooddata_api_client.model.json_api_dashboard_plugin_out import JsonApiDashboardPluginOut + from gooddata_api_client.model.json_api_user_identifier_out_with_links import JsonApiUserIdentifierOutWithLinks from gooddata_api_client.model.object_links import ObjectLinks globals()['JsonApiDashboardPluginOut'] = JsonApiDashboardPluginOut + globals()['JsonApiUserIdentifierOutWithLinks'] = JsonApiUserIdentifierOutWithLinks globals()['ObjectLinks'] = ObjectLinks @@ -65,6 +67,8 @@ class JsonApiDashboardPluginOutDocument(ModelNormal): } validations = { + ('included',): { + }, } @cached_property @@ -91,6 +95,7 @@ def openapi_types(): lazy_import() return { 'data': (JsonApiDashboardPluginOut,), # noqa: E501 + 'included': ([JsonApiUserIdentifierOutWithLinks],), # noqa: E501 'links': (ObjectLinks,), # noqa: E501 } @@ -101,6 +106,7 @@ def discriminator(): attribute_map = { 'data': 'data', # noqa: E501 + 'included': 'included', # noqa: E501 'links': 'links', # noqa: E501 } @@ -148,6 +154,7 @@ def _from_openapi_data(cls, data, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + included ([JsonApiUserIdentifierOutWithLinks]): Included resources. [optional] # noqa: E501 links (ObjectLinks): [optional] # noqa: E501 """ @@ -238,6 +245,7 @@ def __init__(self, data, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + included ([JsonApiUserIdentifierOutWithLinks]): Included resources. [optional] # noqa: E501 links (ObjectLinks): [optional] # noqa: E501 """ diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out_list.py b/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out_list.py index 5d2cd1b69..03da8de5b 100644 --- a/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out_list.py +++ b/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out_list.py @@ -32,8 +32,10 @@ def lazy_import(): from gooddata_api_client.model.json_api_dashboard_plugin_out_with_links import JsonApiDashboardPluginOutWithLinks + from gooddata_api_client.model.json_api_user_identifier_out_with_links import JsonApiUserIdentifierOutWithLinks from gooddata_api_client.model.list_links import ListLinks globals()['JsonApiDashboardPluginOutWithLinks'] = JsonApiDashboardPluginOutWithLinks + globals()['JsonApiUserIdentifierOutWithLinks'] = JsonApiUserIdentifierOutWithLinks globals()['ListLinks'] = ListLinks @@ -67,6 +69,8 @@ class JsonApiDashboardPluginOutList(ModelNormal): validations = { ('data',): { }, + ('included',): { + }, } @cached_property @@ -93,6 +97,7 @@ def openapi_types(): lazy_import() return { 'data': ([JsonApiDashboardPluginOutWithLinks],), # noqa: E501 + 'included': ([JsonApiUserIdentifierOutWithLinks],), # noqa: E501 'links': (ListLinks,), # noqa: E501 } @@ -103,6 +108,7 @@ def discriminator(): attribute_map = { 'data': 'data', # noqa: E501 + 'included': 'included', # noqa: E501 'links': 'links', # noqa: E501 } @@ -150,6 +156,7 @@ def _from_openapi_data(cls, data, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + included ([JsonApiUserIdentifierOutWithLinks]): Included resources. [optional] # noqa: E501 links (ListLinks): [optional] # noqa: E501 """ @@ -240,6 +247,7 @@ def __init__(self, data, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + included ([JsonApiUserIdentifierOutWithLinks]): Included resources. [optional] # noqa: E501 links (ListLinks): [optional] # noqa: E501 """ diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out_relationships.py b/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out_relationships.py new file mode 100644 index 000000000..7552a6b35 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out_relationships.py @@ -0,0 +1,274 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_created_by import JsonApiAnalyticalDashboardOutRelationshipsCreatedBy + globals()['JsonApiAnalyticalDashboardOutRelationshipsCreatedBy'] = JsonApiAnalyticalDashboardOutRelationshipsCreatedBy + + +class JsonApiDashboardPluginOutRelationships(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'created_by': (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy,), # noqa: E501 + 'modified_by': (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'created_by': 'createdBy', # noqa: E501 + 'modified_by': 'modifiedBy', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """JsonApiDashboardPluginOutRelationships - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + created_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501 + modified_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """JsonApiDashboardPluginOutRelationships - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + created_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501 + modified_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out_with_links.py b/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out_with_links.py index 4b057a8e8..957574658 100644 --- a/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out_with_links.py +++ b/gooddata-api-client/gooddata_api_client/model/json_api_dashboard_plugin_out_with_links.py @@ -32,13 +32,15 @@ def lazy_import(): from gooddata_api_client.model.json_api_attribute_out_meta import JsonApiAttributeOutMeta - from gooddata_api_client.model.json_api_dashboard_plugin_in_attributes import JsonApiDashboardPluginInAttributes from gooddata_api_client.model.json_api_dashboard_plugin_out import JsonApiDashboardPluginOut + from gooddata_api_client.model.json_api_dashboard_plugin_out_attributes import JsonApiDashboardPluginOutAttributes + from gooddata_api_client.model.json_api_dashboard_plugin_out_relationships import JsonApiDashboardPluginOutRelationships from gooddata_api_client.model.object_links import ObjectLinks from gooddata_api_client.model.object_links_container import ObjectLinksContainer globals()['JsonApiAttributeOutMeta'] = JsonApiAttributeOutMeta - globals()['JsonApiDashboardPluginInAttributes'] = JsonApiDashboardPluginInAttributes globals()['JsonApiDashboardPluginOut'] = JsonApiDashboardPluginOut + globals()['JsonApiDashboardPluginOutAttributes'] = JsonApiDashboardPluginOutAttributes + globals()['JsonApiDashboardPluginOutRelationships'] = JsonApiDashboardPluginOutRelationships globals()['ObjectLinks'] = ObjectLinks globals()['ObjectLinksContainer'] = ObjectLinksContainer @@ -106,8 +108,9 @@ def openapi_types(): return { 'id': (str,), # noqa: E501 'type': (str,), # noqa: E501 - 'attributes': (JsonApiDashboardPluginInAttributes,), # noqa: E501 + 'attributes': (JsonApiDashboardPluginOutAttributes,), # noqa: E501 'meta': (JsonApiAttributeOutMeta,), # noqa: E501 + 'relationships': (JsonApiDashboardPluginOutRelationships,), # noqa: E501 'links': (ObjectLinks,), # noqa: E501 } @@ -121,6 +124,7 @@ def discriminator(): 'type': 'type', # noqa: E501 'attributes': 'attributes', # noqa: E501 'meta': 'meta', # noqa: E501 + 'relationships': 'relationships', # noqa: E501 'links': 'links', # noqa: E501 } @@ -165,8 +169,9 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - attributes (JsonApiDashboardPluginInAttributes): [optional] # noqa: E501 + attributes (JsonApiDashboardPluginOutAttributes): [optional] # noqa: E501 meta (JsonApiAttributeOutMeta): [optional] # noqa: E501 + relationships (JsonApiDashboardPluginOutRelationships): [optional] # noqa: E501 links (ObjectLinks): [optional] # noqa: E501 """ @@ -274,8 +279,9 @@ def __init__(self, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - attributes (JsonApiDashboardPluginInAttributes): [optional] # noqa: E501 + attributes (JsonApiDashboardPluginOutAttributes): [optional] # noqa: E501 meta (JsonApiAttributeOutMeta): [optional] # noqa: E501 + relationships (JsonApiDashboardPluginOutRelationships): [optional] # noqa: E501 links (ObjectLinks): [optional] # noqa: E501 """ diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_metric_out.py b/gooddata-api-client/gooddata_api_client/model/json_api_metric_out.py index 5a7cb96c9..e0c2351c3 100644 --- a/gooddata-api-client/gooddata_api_client/model/json_api_metric_out.py +++ b/gooddata-api-client/gooddata_api_client/model/json_api_metric_out.py @@ -32,10 +32,10 @@ def lazy_import(): from gooddata_api_client.model.json_api_attribute_out_meta import JsonApiAttributeOutMeta - from gooddata_api_client.model.json_api_metric_in_attributes import JsonApiMetricInAttributes + from gooddata_api_client.model.json_api_metric_out_attributes import JsonApiMetricOutAttributes from gooddata_api_client.model.json_api_metric_out_relationships import JsonApiMetricOutRelationships globals()['JsonApiAttributeOutMeta'] = JsonApiAttributeOutMeta - globals()['JsonApiMetricInAttributes'] = JsonApiMetricInAttributes + globals()['JsonApiMetricOutAttributes'] = JsonApiMetricOutAttributes globals()['JsonApiMetricOutRelationships'] = JsonApiMetricOutRelationships @@ -100,7 +100,7 @@ def openapi_types(): """ lazy_import() return { - 'attributes': (JsonApiMetricInAttributes,), # noqa: E501 + 'attributes': (JsonApiMetricOutAttributes,), # noqa: E501 'id': (str,), # noqa: E501 'type': (str,), # noqa: E501 'meta': (JsonApiAttributeOutMeta,), # noqa: E501 @@ -131,7 +131,7 @@ def _from_openapi_data(cls, attributes, id, *args, **kwargs): # noqa: E501 """JsonApiMetricOut - a model defined in OpenAPI Args: - attributes (JsonApiMetricInAttributes): + attributes (JsonApiMetricOutAttributes): id (str): API identifier of an object Keyword Args: @@ -227,7 +227,7 @@ def __init__(self, attributes, id, *args, **kwargs): # noqa: E501 """JsonApiMetricOut - a model defined in OpenAPI Args: - attributes (JsonApiMetricInAttributes): + attributes (JsonApiMetricOutAttributes): id (str): API identifier of an object Keyword Args: diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_metric_out_attributes.py b/gooddata-api-client/gooddata_api_client/model/json_api_metric_out_attributes.py new file mode 100644 index 000000000..8bb7ed78d --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/json_api_metric_out_attributes.py @@ -0,0 +1,306 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from gooddata_api_client.model.json_api_metric_in_attributes_content import JsonApiMetricInAttributesContent + globals()['JsonApiMetricInAttributesContent'] = JsonApiMetricInAttributesContent + + +class JsonApiMetricOutAttributes(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + ('description',): { + 'max_length': 10000, + }, + ('title',): { + 'max_length': 255, + }, + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'content': (JsonApiMetricInAttributesContent,), # noqa: E501 + 'are_relations_valid': (bool,), # noqa: E501 + 'created_at': (datetime,), # noqa: E501 + 'description': (str,), # noqa: E501 + 'modified_at': (datetime,), # noqa: E501 + 'tags': ([str],), # noqa: E501 + 'title': (str,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'content': 'content', # noqa: E501 + 'are_relations_valid': 'areRelationsValid', # noqa: E501 + 'created_at': 'createdAt', # noqa: E501 + 'description': 'description', # noqa: E501 + 'modified_at': 'modifiedAt', # noqa: E501 + 'tags': 'tags', # noqa: E501 + 'title': 'title', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, content, *args, **kwargs): # noqa: E501 + """JsonApiMetricOutAttributes - a model defined in OpenAPI + + Args: + content (JsonApiMetricInAttributesContent): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + are_relations_valid (bool): [optional] # noqa: E501 + created_at (datetime): [optional] # noqa: E501 + description (str): [optional] # noqa: E501 + modified_at (datetime): [optional] # noqa: E501 + tags ([str]): [optional] # noqa: E501 + title (str): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.content = content + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, content, *args, **kwargs): # noqa: E501 + """JsonApiMetricOutAttributes - a model defined in OpenAPI + + Args: + content (JsonApiMetricInAttributesContent): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + are_relations_valid (bool): [optional] # noqa: E501 + created_at (datetime): [optional] # noqa: E501 + description (str): [optional] # noqa: E501 + modified_at (datetime): [optional] # noqa: E501 + tags ([str]): [optional] # noqa: E501 + title (str): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.content = content + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_metric_out_includes.py b/gooddata-api-client/gooddata_api_client/model/json_api_metric_out_includes.py index 425e62da3..5daf1cba1 100644 --- a/gooddata-api-client/gooddata_api_client/model/json_api_metric_out_includes.py +++ b/gooddata-api-client/gooddata_api_client/model/json_api_metric_out_includes.py @@ -39,6 +39,7 @@ def lazy_import(): from gooddata_api_client.model.json_api_fact_out_with_links import JsonApiFactOutWithLinks from gooddata_api_client.model.json_api_label_out_with_links import JsonApiLabelOutWithLinks from gooddata_api_client.model.json_api_metric_out_with_links import JsonApiMetricOutWithLinks + from gooddata_api_client.model.json_api_user_identifier_out_with_links import JsonApiUserIdentifierOutWithLinks from gooddata_api_client.model.object_links import ObjectLinks globals()['JsonApiAttributeOutMeta'] = JsonApiAttributeOutMeta globals()['JsonApiAttributeOutWithLinks'] = JsonApiAttributeOutWithLinks @@ -48,6 +49,7 @@ def lazy_import(): globals()['JsonApiFactOutWithLinks'] = JsonApiFactOutWithLinks globals()['JsonApiLabelOutWithLinks'] = JsonApiLabelOutWithLinks globals()['JsonApiMetricOutWithLinks'] = JsonApiMetricOutWithLinks + globals()['JsonApiUserIdentifierOutWithLinks'] = JsonApiUserIdentifierOutWithLinks globals()['ObjectLinks'] = ObjectLinks @@ -112,9 +114,9 @@ def openapi_types(): """ lazy_import() return { + 'links': (ObjectLinks,), # noqa: E501 'meta': (JsonApiAttributeOutMeta,), # noqa: E501 'relationships': (JsonApiDatasetOutRelationships,), # noqa: E501 - 'links': (ObjectLinks,), # noqa: E501 'attributes': (JsonApiDatasetOutAttributes,), # noqa: E501 'id': (str,), # noqa: E501 'type': (str,), # noqa: E501 @@ -126,9 +128,9 @@ def discriminator(): attribute_map = { + 'links': 'links', # noqa: E501 'meta': 'meta', # noqa: E501 'relationships': 'relationships', # noqa: E501 - 'links': 'links', # noqa: E501 'attributes': 'attributes', # noqa: E501 'id': 'id', # noqa: E501 'type': 'type', # noqa: E501 @@ -173,9 +175,9 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + links (ObjectLinks): [optional] # noqa: E501 meta (JsonApiAttributeOutMeta): [optional] # noqa: E501 relationships (JsonApiDatasetOutRelationships): [optional] # noqa: E501 - links (ObjectLinks): [optional] # noqa: E501 attributes (JsonApiDatasetOutAttributes): [optional] # noqa: E501 id (str): API identifier of an object. [optional] # noqa: E501 type (str): Object type. [optional] if omitted the server will use the default value of "dataset" # noqa: E501 @@ -282,9 +284,9 @@ def __init__(self, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + links (ObjectLinks): [optional] # noqa: E501 meta (JsonApiAttributeOutMeta): [optional] # noqa: E501 relationships (JsonApiDatasetOutRelationships): [optional] # noqa: E501 - links (ObjectLinks): [optional] # noqa: E501 attributes (JsonApiDatasetOutAttributes): [optional] # noqa: E501 id (str): API identifier of an object. [optional] # noqa: E501 type (str): Object type. [optional] if omitted the server will use the default value of "dataset" # noqa: E501 @@ -364,5 +366,6 @@ def _composed_schemas(): JsonApiFactOutWithLinks, JsonApiLabelOutWithLinks, JsonApiMetricOutWithLinks, + JsonApiUserIdentifierOutWithLinks, ], } diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_metric_out_relationships.py b/gooddata-api-client/gooddata_api_client/model/json_api_metric_out_relationships.py index 303a1fa05..593e69c49 100644 --- a/gooddata-api-client/gooddata_api_client/model/json_api_metric_out_relationships.py +++ b/gooddata-api-client/gooddata_api_client/model/json_api_metric_out_relationships.py @@ -31,11 +31,13 @@ def lazy_import(): + from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_created_by import JsonApiAnalyticalDashboardOutRelationshipsCreatedBy from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_datasets import JsonApiAnalyticalDashboardOutRelationshipsDatasets from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_labels import JsonApiAnalyticalDashboardOutRelationshipsLabels from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_metrics import JsonApiAnalyticalDashboardOutRelationshipsMetrics from gooddata_api_client.model.json_api_dataset_out_relationships_attributes import JsonApiDatasetOutRelationshipsAttributes from gooddata_api_client.model.json_api_dataset_out_relationships_facts import JsonApiDatasetOutRelationshipsFacts + globals()['JsonApiAnalyticalDashboardOutRelationshipsCreatedBy'] = JsonApiAnalyticalDashboardOutRelationshipsCreatedBy globals()['JsonApiAnalyticalDashboardOutRelationshipsDatasets'] = JsonApiAnalyticalDashboardOutRelationshipsDatasets globals()['JsonApiAnalyticalDashboardOutRelationshipsLabels'] = JsonApiAnalyticalDashboardOutRelationshipsLabels globals()['JsonApiAnalyticalDashboardOutRelationshipsMetrics'] = JsonApiAnalyticalDashboardOutRelationshipsMetrics @@ -97,10 +99,12 @@ def openapi_types(): lazy_import() return { 'attributes': (JsonApiDatasetOutRelationshipsAttributes,), # noqa: E501 + 'created_by': (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy,), # noqa: E501 'datasets': (JsonApiAnalyticalDashboardOutRelationshipsDatasets,), # noqa: E501 'facts': (JsonApiDatasetOutRelationshipsFacts,), # noqa: E501 'labels': (JsonApiAnalyticalDashboardOutRelationshipsLabels,), # noqa: E501 'metrics': (JsonApiAnalyticalDashboardOutRelationshipsMetrics,), # noqa: E501 + 'modified_by': (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy,), # noqa: E501 } @cached_property @@ -110,10 +114,12 @@ def discriminator(): attribute_map = { 'attributes': 'attributes', # noqa: E501 + 'created_by': 'createdBy', # noqa: E501 'datasets': 'datasets', # noqa: E501 'facts': 'facts', # noqa: E501 'labels': 'labels', # noqa: E501 'metrics': 'metrics', # noqa: E501 + 'modified_by': 'modifiedBy', # noqa: E501 } read_only_vars = { @@ -158,10 +164,12 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 through its discriminator because we passed in _visited_composed_classes = (Animal,) attributes (JsonApiDatasetOutRelationshipsAttributes): [optional] # noqa: E501 + created_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501 datasets (JsonApiAnalyticalDashboardOutRelationshipsDatasets): [optional] # noqa: E501 facts (JsonApiDatasetOutRelationshipsFacts): [optional] # noqa: E501 labels (JsonApiAnalyticalDashboardOutRelationshipsLabels): [optional] # noqa: E501 metrics (JsonApiAnalyticalDashboardOutRelationshipsMetrics): [optional] # noqa: E501 + modified_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -248,10 +256,12 @@ def __init__(self, *args, **kwargs): # noqa: E501 through its discriminator because we passed in _visited_composed_classes = (Animal,) attributes (JsonApiDatasetOutRelationshipsAttributes): [optional] # noqa: E501 + created_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501 datasets (JsonApiAnalyticalDashboardOutRelationshipsDatasets): [optional] # noqa: E501 facts (JsonApiDatasetOutRelationshipsFacts): [optional] # noqa: E501 labels (JsonApiAnalyticalDashboardOutRelationshipsLabels): [optional] # noqa: E501 metrics (JsonApiAnalyticalDashboardOutRelationshipsMetrics): [optional] # noqa: E501 + modified_by (JsonApiAnalyticalDashboardOutRelationshipsCreatedBy): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_metric_out_with_links.py b/gooddata-api-client/gooddata_api_client/model/json_api_metric_out_with_links.py index 09e760e68..6ac39235c 100644 --- a/gooddata-api-client/gooddata_api_client/model/json_api_metric_out_with_links.py +++ b/gooddata-api-client/gooddata_api_client/model/json_api_metric_out_with_links.py @@ -32,14 +32,14 @@ def lazy_import(): from gooddata_api_client.model.json_api_attribute_out_meta import JsonApiAttributeOutMeta - from gooddata_api_client.model.json_api_metric_in_attributes import JsonApiMetricInAttributes from gooddata_api_client.model.json_api_metric_out import JsonApiMetricOut + from gooddata_api_client.model.json_api_metric_out_attributes import JsonApiMetricOutAttributes from gooddata_api_client.model.json_api_metric_out_relationships import JsonApiMetricOutRelationships from gooddata_api_client.model.object_links import ObjectLinks from gooddata_api_client.model.object_links_container import ObjectLinksContainer globals()['JsonApiAttributeOutMeta'] = JsonApiAttributeOutMeta - globals()['JsonApiMetricInAttributes'] = JsonApiMetricInAttributes globals()['JsonApiMetricOut'] = JsonApiMetricOut + globals()['JsonApiMetricOutAttributes'] = JsonApiMetricOutAttributes globals()['JsonApiMetricOutRelationships'] = JsonApiMetricOutRelationships globals()['ObjectLinks'] = ObjectLinks globals()['ObjectLinksContainer'] = ObjectLinksContainer @@ -106,7 +106,7 @@ def openapi_types(): """ lazy_import() return { - 'attributes': (JsonApiMetricInAttributes,), # noqa: E501 + 'attributes': (JsonApiMetricOutAttributes,), # noqa: E501 'id': (str,), # noqa: E501 'type': (str,), # noqa: E501 'meta': (JsonApiAttributeOutMeta,), # noqa: E501 @@ -137,7 +137,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 """JsonApiMetricOutWithLinks - a model defined in OpenAPI Keyword Args: - attributes (JsonApiMetricInAttributes): + attributes (JsonApiMetricOutAttributes): id (str): API identifier of an object type (str): Object type. defaults to "metric", must be one of ["metric", ] # noqa: E501 _check_type (bool): if True, values for parameters in openapi_types @@ -247,7 +247,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 """JsonApiMetricOutWithLinks - a model defined in OpenAPI Keyword Args: - attributes (JsonApiMetricInAttributes): + attributes (JsonApiMetricOutAttributes): id (str): API identifier of an object type (str): Object type. defaults to "metric", must be one of ["metric", ] # noqa: E501 _check_type (bool): if True, values for parameters in openapi_types diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_linkage.py b/gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_linkage.py new file mode 100644 index 000000000..a222046c1 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_linkage.py @@ -0,0 +1,281 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + + +class JsonApiUserIdentifierLinkage(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('type',): { + 'USERIDENTIFIER': "userIdentifier", + }, + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'id': (str,), # noqa: E501 + 'type': (str,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'id': 'id', # noqa: E501 + 'type': 'type', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, id, *args, **kwargs): # noqa: E501 + """JsonApiUserIdentifierLinkage - a model defined in OpenAPI + + Args: + id (str): + + Keyword Args: + type (str): defaults to "userIdentifier", must be one of ["userIdentifier", ] # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + type = kwargs.get('type', "userIdentifier") + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.id = id + self.type = type + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, id, *args, **kwargs): # noqa: E501 + """JsonApiUserIdentifierLinkage - a model defined in OpenAPI + + Args: + id (str): + + Keyword Args: + type (str): defaults to "userIdentifier", must be one of ["userIdentifier", ] # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + type = kwargs.get('type', "userIdentifier") + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.id = id + self.type = type + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_out.py b/gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_out.py new file mode 100644 index 000000000..38fcb0ce0 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_out.py @@ -0,0 +1,296 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from gooddata_api_client.model.json_api_user_identifier_out_attributes import JsonApiUserIdentifierOutAttributes + globals()['JsonApiUserIdentifierOutAttributes'] = JsonApiUserIdentifierOutAttributes + + +class JsonApiUserIdentifierOut(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('type',): { + 'USERIDENTIFIER': "userIdentifier", + }, + } + + validations = { + ('id',): { + 'regex': { + 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501 + }, + }, + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'id': (str,), # noqa: E501 + 'type': (str,), # noqa: E501 + 'attributes': (JsonApiUserIdentifierOutAttributes,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'id': 'id', # noqa: E501 + 'type': 'type', # noqa: E501 + 'attributes': 'attributes', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, id, *args, **kwargs): # noqa: E501 + """JsonApiUserIdentifierOut - a model defined in OpenAPI + + Args: + id (str): API identifier of an object + + Keyword Args: + type (str): Object type. defaults to "userIdentifier", must be one of ["userIdentifier", ] # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + attributes (JsonApiUserIdentifierOutAttributes): [optional] # noqa: E501 + """ + + type = kwargs.get('type', "userIdentifier") + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.id = id + self.type = type + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, id, *args, **kwargs): # noqa: E501 + """JsonApiUserIdentifierOut - a model defined in OpenAPI + + Args: + id (str): API identifier of an object + + Keyword Args: + type (str): Object type. defaults to "userIdentifier", must be one of ["userIdentifier", ] # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + attributes (JsonApiUserIdentifierOutAttributes): [optional] # noqa: E501 + """ + + type = kwargs.get('type', "userIdentifier") + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.id = id + self.type = type + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_out_attributes.py b/gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_out_attributes.py new file mode 100644 index 000000000..37236fe2e --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_out_attributes.py @@ -0,0 +1,281 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + + +class JsonApiUserIdentifierOutAttributes(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + ('email',): { + 'max_length': 255, + }, + ('firstname',): { + 'max_length': 255, + }, + ('lastname',): { + 'max_length': 255, + }, + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'email': (str,), # noqa: E501 + 'firstname': (str,), # noqa: E501 + 'lastname': (str,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'email': 'email', # noqa: E501 + 'firstname': 'firstname', # noqa: E501 + 'lastname': 'lastname', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """JsonApiUserIdentifierOutAttributes - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + email (str): [optional] # noqa: E501 + firstname (str): [optional] # noqa: E501 + lastname (str): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """JsonApiUserIdentifierOutAttributes - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + email (str): [optional] # noqa: E501 + firstname (str): [optional] # noqa: E501 + lastname (str): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_out_document.py b/gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_out_document.py new file mode 100644 index 000000000..a5b58f5c6 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_out_document.py @@ -0,0 +1,282 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from gooddata_api_client.model.json_api_user_identifier_out import JsonApiUserIdentifierOut + from gooddata_api_client.model.object_links import ObjectLinks + globals()['JsonApiUserIdentifierOut'] = JsonApiUserIdentifierOut + globals()['ObjectLinks'] = ObjectLinks + + +class JsonApiUserIdentifierOutDocument(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'data': (JsonApiUserIdentifierOut,), # noqa: E501 + 'links': (ObjectLinks,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'data': 'data', # noqa: E501 + 'links': 'links', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, data, *args, **kwargs): # noqa: E501 + """JsonApiUserIdentifierOutDocument - a model defined in OpenAPI + + Args: + data (JsonApiUserIdentifierOut): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + links (ObjectLinks): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.data = data + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, data, *args, **kwargs): # noqa: E501 + """JsonApiUserIdentifierOutDocument - a model defined in OpenAPI + + Args: + data (JsonApiUserIdentifierOut): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + links (ObjectLinks): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.data = data + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_out_list.py b/gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_out_list.py new file mode 100644 index 000000000..29bbb4142 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_out_list.py @@ -0,0 +1,284 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from gooddata_api_client.model.json_api_user_identifier_out_with_links import JsonApiUserIdentifierOutWithLinks + from gooddata_api_client.model.list_links import ListLinks + globals()['JsonApiUserIdentifierOutWithLinks'] = JsonApiUserIdentifierOutWithLinks + globals()['ListLinks'] = ListLinks + + +class JsonApiUserIdentifierOutList(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + ('data',): { + }, + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'data': ([JsonApiUserIdentifierOutWithLinks],), # noqa: E501 + 'links': (ListLinks,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'data': 'data', # noqa: E501 + 'links': 'links', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, data, *args, **kwargs): # noqa: E501 + """JsonApiUserIdentifierOutList - a model defined in OpenAPI + + Args: + data ([JsonApiUserIdentifierOutWithLinks]): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + links (ListLinks): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.data = data + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, data, *args, **kwargs): # noqa: E501 + """JsonApiUserIdentifierOutList - a model defined in OpenAPI + + Args: + data ([JsonApiUserIdentifierOutWithLinks]): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + links (ListLinks): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.data = data + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_out_with_links.py b/gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_out_with_links.py new file mode 100644 index 000000000..4489f8fdd --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_out_with_links.py @@ -0,0 +1,349 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from gooddata_api_client.model.json_api_user_identifier_out import JsonApiUserIdentifierOut + from gooddata_api_client.model.json_api_user_identifier_out_attributes import JsonApiUserIdentifierOutAttributes + from gooddata_api_client.model.object_links import ObjectLinks + from gooddata_api_client.model.object_links_container import ObjectLinksContainer + globals()['JsonApiUserIdentifierOut'] = JsonApiUserIdentifierOut + globals()['JsonApiUserIdentifierOutAttributes'] = JsonApiUserIdentifierOutAttributes + globals()['ObjectLinks'] = ObjectLinks + globals()['ObjectLinksContainer'] = ObjectLinksContainer + + +class JsonApiUserIdentifierOutWithLinks(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('type',): { + 'USERIDENTIFIER': "userIdentifier", + }, + } + + validations = { + ('id',): { + 'regex': { + 'pattern': r'^(?!\.)[.A-Za-z0-9_-]{1,255}$', # noqa: E501 + }, + }, + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'id': (str,), # noqa: E501 + 'type': (str,), # noqa: E501 + 'attributes': (JsonApiUserIdentifierOutAttributes,), # noqa: E501 + 'links': (ObjectLinks,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'id': 'id', # noqa: E501 + 'type': 'type', # noqa: E501 + 'attributes': 'attributes', # noqa: E501 + 'links': 'links', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """JsonApiUserIdentifierOutWithLinks - a model defined in OpenAPI + + Keyword Args: + id (str): API identifier of an object + type (str): Object type. defaults to "userIdentifier", must be one of ["userIdentifier", ] # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + attributes (JsonApiUserIdentifierOutAttributes): [optional] # noqa: E501 + links (ObjectLinks): [optional] # noqa: E501 + """ + + type = kwargs.get('type', "userIdentifier") + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """JsonApiUserIdentifierOutWithLinks - a model defined in OpenAPI + + Keyword Args: + id (str): API identifier of an object + type (str): Object type. defaults to "userIdentifier", must be one of ["userIdentifier", ] # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + attributes (JsonApiUserIdentifierOutAttributes): [optional] # noqa: E501 + links (ObjectLinks): [optional] # noqa: E501 + """ + + type = kwargs.get('type', "userIdentifier") + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + JsonApiUserIdentifierOut, + ObjectLinksContainer, + ], + 'oneOf': [ + ], + } diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_to_one_linkage.py b/gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_to_one_linkage.py new file mode 100644 index 000000000..e328613a2 --- /dev/null +++ b/gooddata-api-client/gooddata_api_client/model/json_api_user_identifier_to_one_linkage.py @@ -0,0 +1,327 @@ +""" + OpenAPI definition + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v0 + Contact: support@gooddata.com + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from gooddata_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from gooddata_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from gooddata_api_client.model.json_api_user_identifier_linkage import JsonApiUserIdentifierLinkage + globals()['JsonApiUserIdentifierLinkage'] = JsonApiUserIdentifierLinkage + + +class JsonApiUserIdentifierToOneLinkage(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('type',): { + 'USERIDENTIFIER': "userIdentifier", + }, + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = True + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'id': (str,), # noqa: E501 + 'type': (str,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'id': 'id', # noqa: E501 + 'type': 'type', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """JsonApiUserIdentifierToOneLinkage - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + id (str): [optional] # noqa: E501 + type (str): [optional] if omitted the server will use the default value of "userIdentifier" # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """JsonApiUserIdentifierToOneLinkage - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + id (str): [optional] # noqa: E501 + type (str): [optional] if omitted the server will use the default value of "userIdentifier" # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + ], + 'oneOf': [ + JsonApiUserIdentifierLinkage, + ], + } diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_visualization_object_out.py b/gooddata-api-client/gooddata_api_client/model/json_api_visualization_object_out.py index 8f47d7185..49c6d2947 100644 --- a/gooddata-api-client/gooddata_api_client/model/json_api_visualization_object_out.py +++ b/gooddata-api-client/gooddata_api_client/model/json_api_visualization_object_out.py @@ -31,10 +31,10 @@ def lazy_import(): - from gooddata_api_client.model.json_api_analytical_dashboard_in_attributes import JsonApiAnalyticalDashboardInAttributes + from gooddata_api_client.model.json_api_analytical_dashboard_out_attributes import JsonApiAnalyticalDashboardOutAttributes from gooddata_api_client.model.json_api_attribute_out_meta import JsonApiAttributeOutMeta from gooddata_api_client.model.json_api_metric_out_relationships import JsonApiMetricOutRelationships - globals()['JsonApiAnalyticalDashboardInAttributes'] = JsonApiAnalyticalDashboardInAttributes + globals()['JsonApiAnalyticalDashboardOutAttributes'] = JsonApiAnalyticalDashboardOutAttributes globals()['JsonApiAttributeOutMeta'] = JsonApiAttributeOutMeta globals()['JsonApiMetricOutRelationships'] = JsonApiMetricOutRelationships @@ -102,7 +102,7 @@ def openapi_types(): return { 'id': (str,), # noqa: E501 'type': (str,), # noqa: E501 - 'attributes': (JsonApiAnalyticalDashboardInAttributes,), # noqa: E501 + 'attributes': (JsonApiAnalyticalDashboardOutAttributes,), # noqa: E501 'meta': (JsonApiAttributeOutMeta,), # noqa: E501 'relationships': (JsonApiMetricOutRelationships,), # noqa: E501 } @@ -165,7 +165,7 @@ def _from_openapi_data(cls, id, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - attributes (JsonApiAnalyticalDashboardInAttributes): [optional] # noqa: E501 + attributes (JsonApiAnalyticalDashboardOutAttributes): [optional] # noqa: E501 meta (JsonApiAttributeOutMeta): [optional] # noqa: E501 relationships (JsonApiMetricOutRelationships): [optional] # noqa: E501 """ @@ -260,7 +260,7 @@ def __init__(self, id, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - attributes (JsonApiAnalyticalDashboardInAttributes): [optional] # noqa: E501 + attributes (JsonApiAnalyticalDashboardOutAttributes): [optional] # noqa: E501 meta (JsonApiAttributeOutMeta): [optional] # noqa: E501 relationships (JsonApiMetricOutRelationships): [optional] # noqa: E501 """ diff --git a/gooddata-api-client/gooddata_api_client/model/json_api_visualization_object_out_with_links.py b/gooddata-api-client/gooddata_api_client/model/json_api_visualization_object_out_with_links.py index 8138960a6..a60e73eb7 100644 --- a/gooddata-api-client/gooddata_api_client/model/json_api_visualization_object_out_with_links.py +++ b/gooddata-api-client/gooddata_api_client/model/json_api_visualization_object_out_with_links.py @@ -31,13 +31,13 @@ def lazy_import(): - from gooddata_api_client.model.json_api_analytical_dashboard_in_attributes import JsonApiAnalyticalDashboardInAttributes + from gooddata_api_client.model.json_api_analytical_dashboard_out_attributes import JsonApiAnalyticalDashboardOutAttributes from gooddata_api_client.model.json_api_attribute_out_meta import JsonApiAttributeOutMeta from gooddata_api_client.model.json_api_metric_out_relationships import JsonApiMetricOutRelationships from gooddata_api_client.model.json_api_visualization_object_out import JsonApiVisualizationObjectOut from gooddata_api_client.model.object_links import ObjectLinks from gooddata_api_client.model.object_links_container import ObjectLinksContainer - globals()['JsonApiAnalyticalDashboardInAttributes'] = JsonApiAnalyticalDashboardInAttributes + globals()['JsonApiAnalyticalDashboardOutAttributes'] = JsonApiAnalyticalDashboardOutAttributes globals()['JsonApiAttributeOutMeta'] = JsonApiAttributeOutMeta globals()['JsonApiMetricOutRelationships'] = JsonApiMetricOutRelationships globals()['JsonApiVisualizationObjectOut'] = JsonApiVisualizationObjectOut @@ -108,7 +108,7 @@ def openapi_types(): return { 'id': (str,), # noqa: E501 'type': (str,), # noqa: E501 - 'attributes': (JsonApiAnalyticalDashboardInAttributes,), # noqa: E501 + 'attributes': (JsonApiAnalyticalDashboardOutAttributes,), # noqa: E501 'meta': (JsonApiAttributeOutMeta,), # noqa: E501 'relationships': (JsonApiMetricOutRelationships,), # noqa: E501 'links': (ObjectLinks,), # noqa: E501 @@ -169,7 +169,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - attributes (JsonApiAnalyticalDashboardInAttributes): [optional] # noqa: E501 + attributes (JsonApiAnalyticalDashboardOutAttributes): [optional] # noqa: E501 meta (JsonApiAttributeOutMeta): [optional] # noqa: E501 relationships (JsonApiMetricOutRelationships): [optional] # noqa: E501 links (ObjectLinks): [optional] # noqa: E501 @@ -279,7 +279,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - attributes (JsonApiAnalyticalDashboardInAttributes): [optional] # noqa: E501 + attributes (JsonApiAnalyticalDashboardOutAttributes): [optional] # noqa: E501 meta (JsonApiAttributeOutMeta): [optional] # noqa: E501 relationships (JsonApiMetricOutRelationships): [optional] # noqa: E501 links (ObjectLinks): [optional] # noqa: E501 diff --git a/gooddata-api-client/gooddata_api_client/models/__init__.py b/gooddata-api-client/gooddata_api_client/models/__init__.py index 16d26df84..70dc9feff 100644 --- a/gooddata-api-client/gooddata_api_client/models/__init__.py +++ b/gooddata-api-client/gooddata_api_client/models/__init__.py @@ -101,6 +101,7 @@ from gooddata_api_client.model.declarative_user_group_permission import DeclarativeUserGroupPermission from gooddata_api_client.model.declarative_user_group_permissions import DeclarativeUserGroupPermissions from gooddata_api_client.model.declarative_user_groups import DeclarativeUserGroups +from gooddata_api_client.model.declarative_user_identifier import DeclarativeUserIdentifier from gooddata_api_client.model.declarative_user_permission import DeclarativeUserPermission from gooddata_api_client.model.declarative_user_permissions import DeclarativeUserPermissions from gooddata_api_client.model.declarative_users import DeclarativeUsers @@ -154,6 +155,7 @@ from gooddata_api_client.model.json_api_analytical_dashboard_in_document import JsonApiAnalyticalDashboardInDocument from gooddata_api_client.model.json_api_analytical_dashboard_linkage import JsonApiAnalyticalDashboardLinkage from gooddata_api_client.model.json_api_analytical_dashboard_out import JsonApiAnalyticalDashboardOut +from gooddata_api_client.model.json_api_analytical_dashboard_out_attributes import JsonApiAnalyticalDashboardOutAttributes from gooddata_api_client.model.json_api_analytical_dashboard_out_document import JsonApiAnalyticalDashboardOutDocument from gooddata_api_client.model.json_api_analytical_dashboard_out_includes import JsonApiAnalyticalDashboardOutIncludes from gooddata_api_client.model.json_api_analytical_dashboard_out_list import JsonApiAnalyticalDashboardOutList @@ -162,6 +164,7 @@ from gooddata_api_client.model.json_api_analytical_dashboard_out_meta_origin import JsonApiAnalyticalDashboardOutMetaOrigin from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships import JsonApiAnalyticalDashboardOutRelationships from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_analytical_dashboards import JsonApiAnalyticalDashboardOutRelationshipsAnalyticalDashboards +from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_created_by import JsonApiAnalyticalDashboardOutRelationshipsCreatedBy from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_dashboard_plugins import JsonApiAnalyticalDashboardOutRelationshipsDashboardPlugins from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_datasets import JsonApiAnalyticalDashboardOutRelationshipsDatasets from gooddata_api_client.model.json_api_analytical_dashboard_out_relationships_filter_contexts import JsonApiAnalyticalDashboardOutRelationshipsFilterContexts @@ -238,8 +241,10 @@ from gooddata_api_client.model.json_api_dashboard_plugin_in_document import JsonApiDashboardPluginInDocument from gooddata_api_client.model.json_api_dashboard_plugin_linkage import JsonApiDashboardPluginLinkage from gooddata_api_client.model.json_api_dashboard_plugin_out import JsonApiDashboardPluginOut +from gooddata_api_client.model.json_api_dashboard_plugin_out_attributes import JsonApiDashboardPluginOutAttributes from gooddata_api_client.model.json_api_dashboard_plugin_out_document import JsonApiDashboardPluginOutDocument from gooddata_api_client.model.json_api_dashboard_plugin_out_list import JsonApiDashboardPluginOutList +from gooddata_api_client.model.json_api_dashboard_plugin_out_relationships import JsonApiDashboardPluginOutRelationships from gooddata_api_client.model.json_api_dashboard_plugin_out_with_links import JsonApiDashboardPluginOutWithLinks from gooddata_api_client.model.json_api_dashboard_plugin_patch import JsonApiDashboardPluginPatch from gooddata_api_client.model.json_api_dashboard_plugin_patch_document import JsonApiDashboardPluginPatchDocument @@ -341,6 +346,7 @@ from gooddata_api_client.model.json_api_metric_in_document import JsonApiMetricInDocument from gooddata_api_client.model.json_api_metric_linkage import JsonApiMetricLinkage from gooddata_api_client.model.json_api_metric_out import JsonApiMetricOut +from gooddata_api_client.model.json_api_metric_out_attributes import JsonApiMetricOutAttributes from gooddata_api_client.model.json_api_metric_out_document import JsonApiMetricOutDocument from gooddata_api_client.model.json_api_metric_out_includes import JsonApiMetricOutIncludes from gooddata_api_client.model.json_api_metric_out_list import JsonApiMetricOutList @@ -412,6 +418,13 @@ from gooddata_api_client.model.json_api_user_group_patch_document import JsonApiUserGroupPatchDocument from gooddata_api_client.model.json_api_user_group_to_many_linkage import JsonApiUserGroupToManyLinkage from gooddata_api_client.model.json_api_user_group_to_one_linkage import JsonApiUserGroupToOneLinkage +from gooddata_api_client.model.json_api_user_identifier_linkage import JsonApiUserIdentifierLinkage +from gooddata_api_client.model.json_api_user_identifier_out import JsonApiUserIdentifierOut +from gooddata_api_client.model.json_api_user_identifier_out_attributes import JsonApiUserIdentifierOutAttributes +from gooddata_api_client.model.json_api_user_identifier_out_document import JsonApiUserIdentifierOutDocument +from gooddata_api_client.model.json_api_user_identifier_out_list import JsonApiUserIdentifierOutList +from gooddata_api_client.model.json_api_user_identifier_out_with_links import JsonApiUserIdentifierOutWithLinks +from gooddata_api_client.model.json_api_user_identifier_to_one_linkage import JsonApiUserIdentifierToOneLinkage from gooddata_api_client.model.json_api_user_in import JsonApiUserIn from gooddata_api_client.model.json_api_user_in_attributes import JsonApiUserInAttributes from gooddata_api_client.model.json_api_user_in_document import JsonApiUserInDocument @@ -569,6 +582,5 @@ from gooddata_api_client.model.user_group_assignee import UserGroupAssignee from gooddata_api_client.model.user_group_identifier import UserGroupIdentifier from gooddata_api_client.model.user_group_permission import UserGroupPermission -from gooddata_api_client.model.user_identifier import UserIdentifier from gooddata_api_client.model.user_permission import UserPermission from gooddata_api_client.model.workspace_identifier import WorkspaceIdentifier diff --git a/schemas/gooddata-api-client.json b/schemas/gooddata-api-client.json index e77a9a827..234a18bb7 100644 --- a/schemas/gooddata-api-client.json +++ b/schemas/gooddata-api-client.json @@ -994,6 +994,16 @@ "content": { "$ref": "#/components/schemas/JsonNode" }, + "createdAt": { + "description": "Time of the entity creation.", + "example": "2023-07-20 12:30", + "nullable": true, + "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", + "type": "string" + }, + "createdBy": { + "$ref": "#/components/schemas/DeclarativeUserIdentifier" + }, "description": { "description": "Analytical dashboard description.", "example": "Period to period comparison of revenues in main sectors.", @@ -1006,6 +1016,16 @@ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$", "type": "string" }, + "modifiedAt": { + "description": "Time of the last entity modification.", + "example": "2023-07-20 12:30", + "nullable": true, + "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", + "type": "string" + }, + "modifiedBy": { + "$ref": "#/components/schemas/DeclarativeUserIdentifier" + }, "permissions": { "description": "A list of permissions.", "items": { @@ -1346,6 +1366,16 @@ "content": { "$ref": "#/components/schemas/JsonNode" }, + "createdAt": { + "description": "Time of the entity creation.", + "example": "[\"2023-07-20 12:30\"]", + "nullable": true, + "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", + "type": "string" + }, + "createdBy": { + "$ref": "#/components/schemas/DeclarativeUserIdentifier" + }, "description": { "description": "Dashboard plugin description.", "example": "Three dimensional view of data.", @@ -1358,6 +1388,16 @@ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$", "type": "string" }, + "modifiedAt": { + "description": "Time of the last entity modification.", + "example": "[\"2023-07-20 12:30\"]", + "nullable": true, + "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", + "type": "string" + }, + "modifiedBy": { + "$ref": "#/components/schemas/DeclarativeUserIdentifier" + }, "tags": { "description": "A list of tags.", "example": [ @@ -1978,6 +2018,16 @@ "content": { "$ref": "#/components/schemas/JsonNode" }, + "createdAt": { + "description": "Time of the entity creation.", + "example": "[\"2023-07-20 12:30\"]", + "nullable": true, + "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", + "type": "string" + }, + "createdBy": { + "$ref": "#/components/schemas/DeclarativeUserIdentifier" + }, "description": { "description": "Metric description.", "example": "Sales for all the data available.", @@ -1990,6 +2040,16 @@ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$", "type": "string" }, + "modifiedAt": { + "description": "Time of the last entity modification.", + "example": "[\"2023-07-20 12:30\"]", + "nullable": true, + "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", + "type": "string" + }, + "modifiedBy": { + "$ref": "#/components/schemas/DeclarativeUserIdentifier" + }, "tags": { "description": "A list of tags.", "example": [ @@ -2550,7 +2610,7 @@ "type": "string" }, "user": { - "$ref": "#/components/schemas/UserIdentifier" + "$ref": "#/components/schemas/DeclarativeUserIdentifier" }, "userGroup": { "$ref": "#/components/schemas/UserGroupIdentifier" @@ -2658,6 +2718,34 @@ ], "type": "object" }, + "DeclarativeUserIdentifier": { + "description": "A user identifier.", + "example": { + "id": "example123", + "type": "user" + }, + "properties": { + "id": { + "description": "User identifier.", + "example": "employee123", + "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$", + "type": "string" + }, + "type": { + "description": "A type.", + "enum": [ + "user" + ], + "example": "user", + "type": "string" + } + }, + "required": [ + "id", + "type" + ], + "type": "object" + }, "DeclarativeUserPermission": { "description": "Definition of a user permission assigned to a user/user-group.", "properties": { @@ -2732,6 +2820,16 @@ "content": { "$ref": "#/components/schemas/JsonNode" }, + "createdAt": { + "description": "Time of the entity creation.", + "example": "[\"2023-07-20 12:30\"]", + "nullable": true, + "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", + "type": "string" + }, + "createdBy": { + "$ref": "#/components/schemas/DeclarativeUserIdentifier" + }, "description": { "description": "Visualization object description.", "example": "Simple number for total goods in current production.", @@ -2744,6 +2842,16 @@ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$", "type": "string" }, + "modifiedAt": { + "description": "Time of the last entity modification.", + "example": "[\"2023-07-20 12:30\"]", + "nullable": true, + "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", + "type": "string" + }, + "modifiedBy": { + "$ref": "#/components/schemas/DeclarativeUserIdentifier" + }, "tags": { "description": "A list of tags.", "example": [ @@ -4049,10 +4157,18 @@ }, "type": "object" }, + "createdAt": { + "format": "date-time", + "type": "string" + }, "description": { "maxLength": 10000, "type": "string" }, + "modifiedAt": { + "format": "date-time", + "type": "string" + }, "tags": { "items": { "type": "string" @@ -4135,6 +4251,17 @@ ], "type": "object" }, + "createdBy": { + "properties": { + "data": { + "$ref": "#/components/schemas/JsonApiUserIdentifierToOneLinkage" + } + }, + "required": [ + "data" + ], + "type": "object" + }, "dashboardPlugins": { "properties": { "data": { @@ -4190,6 +4317,17 @@ ], "type": "object" }, + "modifiedBy": { + "properties": { + "data": { + "$ref": "#/components/schemas/JsonApiUserIdentifierToOneLinkage" + } + }, + "required": [ + "data" + ], + "type": "object" + }, "visualizationObjects": { "properties": { "data": { @@ -4243,6 +4381,9 @@ }, "JsonApiAnalyticalDashboardOutIncludes": { "oneOf": [ + { + "$ref": "#/components/schemas/JsonApiUserIdentifierOutWithLinks" + }, { "$ref": "#/components/schemas/JsonApiVisualizationObjectOutWithLinks" }, @@ -5702,10 +5843,18 @@ }, "type": "object" }, + "createdAt": { + "format": "date-time", + "type": "string" + }, "description": { "maxLength": 10000, "type": "string" }, + "modifiedAt": { + "format": "date-time", + "type": "string" + }, "tags": { "items": { "type": "string" @@ -5751,6 +5900,33 @@ }, "type": "object" }, + "relationships": { + "properties": { + "createdBy": { + "properties": { + "data": { + "$ref": "#/components/schemas/JsonApiUserIdentifierToOneLinkage" + } + }, + "required": [ + "data" + ], + "type": "object" + }, + "modifiedBy": { + "properties": { + "data": { + "$ref": "#/components/schemas/JsonApiUserIdentifierToOneLinkage" + } + }, + "required": [ + "data" + ], + "type": "object" + } + }, + "type": "object" + }, "type": { "description": "Object type", "enum": [ @@ -5771,6 +5947,14 @@ "data": { "$ref": "#/components/schemas/JsonApiDashboardPluginOut" }, + "included": { + "description": "Included resources", + "items": { + "$ref": "#/components/schemas/JsonApiUserIdentifierOutWithLinks" + }, + "type": "array", + "uniqueItems": true + }, "links": { "$ref": "#/components/schemas/ObjectLinks" } @@ -5790,6 +5974,14 @@ "type": "array", "uniqueItems": true }, + "included": { + "description": "Included resources", + "items": { + "$ref": "#/components/schemas/JsonApiUserIdentifierOutWithLinks" + }, + "type": "array", + "uniqueItems": true + }, "links": { "$ref": "#/components/schemas/ListLinks" } @@ -8225,10 +8417,18 @@ ], "type": "object" }, + "createdAt": { + "format": "date-time", + "type": "string" + }, "description": { "maxLength": 10000, "type": "string" }, + "modifiedAt": { + "format": "date-time", + "type": "string" + }, "tags": { "items": { "type": "string" @@ -8290,6 +8490,17 @@ ], "type": "object" }, + "createdBy": { + "properties": { + "data": { + "$ref": "#/components/schemas/JsonApiUserIdentifierToOneLinkage" + } + }, + "required": [ + "data" + ], + "type": "object" + }, "datasets": { "properties": { "data": { @@ -8333,6 +8544,17 @@ "data" ], "type": "object" + }, + "modifiedBy": { + "properties": { + "data": { + "$ref": "#/components/schemas/JsonApiUserIdentifierToOneLinkage" + } + }, + "required": [ + "data" + ], + "type": "object" } }, "type": "object" @@ -8377,6 +8599,9 @@ }, "JsonApiMetricOutIncludes": { "oneOf": [ + { + "$ref": "#/components/schemas/JsonApiUserIdentifierOutWithLinks" + }, { "$ref": "#/components/schemas/JsonApiFactOutWithLinks" }, @@ -10069,6 +10294,118 @@ } ] }, + "JsonApiUserIdentifierLinkage": { + "description": "The \\\"type\\\" and \\\"id\\\" to non-empty members.", + "properties": { + "id": { + "type": "string" + }, + "type": { + "enum": [ + "userIdentifier" + ], + "type": "string" + } + }, + "required": [ + "id", + "type" + ], + "type": "object" + }, + "JsonApiUserIdentifierOut": { + "description": "JSON:API representation of userIdentifier entity.", + "properties": { + "attributes": { + "properties": { + "email": { + "maxLength": 255, + "type": "string" + }, + "firstname": { + "maxLength": 255, + "type": "string" + }, + "lastname": { + "maxLength": 255, + "type": "string" + } + }, + "type": "object" + }, + "id": { + "description": "API identifier of an object", + "example": "id1", + "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$", + "type": "string" + }, + "type": { + "description": "Object type", + "enum": [ + "userIdentifier" + ], + "example": "userIdentifier", + "type": "string" + } + }, + "required": [ + "id", + "type" + ], + "type": "object" + }, + "JsonApiUserIdentifierOutDocument": { + "properties": { + "data": { + "$ref": "#/components/schemas/JsonApiUserIdentifierOut" + }, + "links": { + "$ref": "#/components/schemas/ObjectLinks" + } + }, + "required": [ + "data" + ], + "type": "object" + }, + "JsonApiUserIdentifierOutList": { + "description": "A JSON:API document with a list of resources", + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/JsonApiUserIdentifierOutWithLinks" + }, + "type": "array", + "uniqueItems": true + }, + "links": { + "$ref": "#/components/schemas/ListLinks" + } + }, + "required": [ + "data" + ], + "type": "object" + }, + "JsonApiUserIdentifierOutWithLinks": { + "allOf": [ + { + "$ref": "#/components/schemas/JsonApiUserIdentifierOut" + }, + { + "$ref": "#/components/schemas/ObjectLinksContainer" + } + ] + }, + "JsonApiUserIdentifierToOneLinkage": { + "description": "References to other resource objects in a to-one (\\\"relationship\\\"). Relationships can be specified by including a member in a resource's links object.", + "nullable": true, + "oneOf": [ + { + "$ref": "#/components/schemas/JsonApiUserIdentifierLinkage" + } + ] + }, "JsonApiUserIn": { "description": "JSON:API representation of user entity.", "properties": { @@ -10615,10 +10952,18 @@ }, "type": "object" }, + "createdAt": { + "format": "date-time", + "type": "string" + }, "description": { "maxLength": 10000, "type": "string" }, + "modifiedAt": { + "format": "date-time", + "type": "string" + }, "tags": { "items": { "type": "string" @@ -10677,6 +11022,17 @@ ], "type": "object" }, + "createdBy": { + "properties": { + "data": { + "$ref": "#/components/schemas/JsonApiUserIdentifierToOneLinkage" + } + }, + "required": [ + "data" + ], + "type": "object" + }, "datasets": { "properties": { "data": { @@ -10702,7 +11058,18 @@ "labels": { "properties": { "data": { - "$ref": "#/components/schemas/JsonApiLabelToManyLinkage" + "$ref": "#/components/schemas/JsonApiLabelToManyLinkage" + } + }, + "required": [ + "data" + ], + "type": "object" + }, + "metrics": { + "properties": { + "data": { + "$ref": "#/components/schemas/JsonApiMetricToManyLinkage" } }, "required": [ @@ -10710,10 +11077,10 @@ ], "type": "object" }, - "metrics": { + "modifiedBy": { "properties": { "data": { - "$ref": "#/components/schemas/JsonApiMetricToManyLinkage" + "$ref": "#/components/schemas/JsonApiUserIdentifierToOneLinkage" } }, "required": [ @@ -13734,34 +14101,6 @@ ], "type": "object" }, - "UserIdentifier": { - "description": "A user identifier.", - "example": { - "id": "example123", - "type": "user" - }, - "properties": { - "id": { - "description": "User identifier.", - "example": "employee123", - "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$", - "type": "string" - }, - "type": { - "description": "A type.", - "enum": [ - "user" - ], - "example": "user", - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, "UserPermission": { "description": "List of users", "properties": { @@ -18265,6 +18604,86 @@ } } }, + "/api/v1/entities/userIdentifiers": { + "get": { + "description": "UserIdentifier - represents entity interacting with platform", + "operationId": "getAllEntities@UserIdentifiers", + "parameters": [ + { + "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", + "example": "filter=firstname==someString;lastname==someString", + "in": "query", + "name": "filter", + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/page" + }, + { + "$ref": "#/components/parameters/size" + }, + { + "$ref": "#/components/parameters/sort" + } + ], + "responses": { + "200": { + "content": { + "application/vnd.gooddata.api+json": { + "schema": { + "$ref": "#/components/schemas/JsonApiUserIdentifierOutList" + } + } + }, + "description": "Request successfully processed" + } + }, + "summary": "Get UserIdentifier entities", + "tags": [ + "entities", + "organization-model-controller" + ] + } + }, + "/api/v1/entities/userIdentifiers/{id}": { + "get": { + "description": "UserIdentifier - represents basic informationZ about entity interacting with platform", + "operationId": "getEntity@UserIdentifiers", + "parameters": [ + { + "$ref": "#/components/parameters/idPathParameter" + }, + { + "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", + "example": "filter=firstname==someString;lastname==someString", + "in": "query", + "name": "filter", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/vnd.gooddata.api+json": { + "schema": { + "$ref": "#/components/schemas/JsonApiUserIdentifierOutDocument" + } + } + }, + "description": "Request successfully processed" + } + }, + "summary": "Get UserIdentifier entity", + "tags": [ + "entities", + "organization-model-controller" + ] + } + }, "/api/v1/entities/users": { "get": { "description": "User - represents entity interacting with platform", @@ -19556,7 +19975,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -19565,7 +19984,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", + "example": "include=createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", "explode": false, "in": "query", "name": "include", @@ -19573,6 +19992,7 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "visualizationObjects", "analyticalDashboards", "labels", @@ -19580,6 +20000,8 @@ "datasets", "filterContexts", "dashboardPlugins", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -19669,7 +20091,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", + "example": "include=createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", "explode": false, "in": "query", "name": "include", @@ -19677,6 +20099,7 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "visualizationObjects", "analyticalDashboards", "labels", @@ -19684,6 +20107,8 @@ "datasets", "filterContexts", "dashboardPlugins", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -19775,7 +20200,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -19822,7 +20247,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -19831,7 +20256,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", + "example": "include=createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", "explode": false, "in": "query", "name": "include", @@ -19839,6 +20264,7 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "visualizationObjects", "analyticalDashboards", "labels", @@ -19846,6 +20272,8 @@ "datasets", "filterContexts", "dashboardPlugins", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -19934,7 +20362,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -19943,7 +20371,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", + "example": "include=createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", "explode": false, "in": "query", "name": "include", @@ -19951,6 +20379,7 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "visualizationObjects", "analyticalDashboards", "labels", @@ -19958,6 +20387,8 @@ "datasets", "filterContexts", "dashboardPlugins", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -20023,7 +20454,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -20032,7 +20463,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", + "example": "include=createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", "explode": false, "in": "query", "name": "include", @@ -20040,6 +20471,7 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "visualizationObjects", "analyticalDashboards", "labels", @@ -20047,6 +20479,8 @@ "datasets", "filterContexts", "dashboardPlugins", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -20753,13 +21187,34 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { "type": "string" } }, + { + "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", + "example": "include=createdBy,modifiedBy", + "explode": false, + "in": "query", + "name": "include", + "required": false, + "schema": { + "items": { + "enum": [ + "userIdentifiers", + "createdBy", + "modifiedBy", + "ALL" + ], + "type": "string" + }, + "type": "array" + }, + "style": "form" + }, { "$ref": "#/components/parameters/page" }, @@ -20837,6 +21292,27 @@ "type": "string" } }, + { + "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", + "example": "include=createdBy,modifiedBy", + "explode": false, + "in": "query", + "name": "include", + "required": false, + "schema": { + "items": { + "enum": [ + "userIdentifiers", + "createdBy", + "modifiedBy", + "ALL" + ], + "type": "string" + }, + "type": "array" + }, + "style": "form" + }, { "description": "Include Meta objects.", "example": "metaInclude=origin,all", @@ -20918,7 +21394,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -20965,13 +21441,34 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { "type": "string" } }, + { + "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", + "example": "include=createdBy,modifiedBy", + "explode": false, + "in": "query", + "name": "include", + "required": false, + "schema": { + "items": { + "enum": [ + "userIdentifiers", + "createdBy", + "modifiedBy", + "ALL" + ], + "type": "string" + }, + "type": "array" + }, + "style": "form" + }, { "in": "header", "name": "X-GDC-VALIDATE-RELATIONS", @@ -21050,12 +21547,33 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { "type": "string" } + }, + { + "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", + "example": "include=createdBy,modifiedBy", + "explode": false, + "in": "query", + "name": "include", + "required": false, + "schema": { + "items": { + "enum": [ + "userIdentifiers", + "createdBy", + "modifiedBy", + "ALL" + ], + "type": "string" + }, + "type": "array" + }, + "style": "form" } ], "requestBody": { @@ -21114,12 +21632,33 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { "type": "string" } + }, + { + "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", + "example": "include=createdBy,modifiedBy", + "explode": false, + "in": "query", + "name": "include", + "required": false, + "schema": { + "items": { + "enum": [ + "userIdentifiers", + "createdBy", + "modifiedBy", + "ALL" + ], + "type": "string" + }, + "type": "array" + }, + "style": "form" } ], "requestBody": { @@ -22410,7 +22949,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -22419,7 +22958,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=facts,attributes,labels,metrics,datasets", + "example": "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", "explode": false, "in": "query", "name": "include", @@ -22427,11 +22966,14 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "facts", "attributes", "labels", "metrics", "datasets", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -22519,7 +23061,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=facts,attributes,labels,metrics,datasets", + "example": "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", "explode": false, "in": "query", "name": "include", @@ -22527,11 +23069,14 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "facts", "attributes", "labels", "metrics", "datasets", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -22621,7 +23166,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -22668,7 +23213,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -22677,7 +23222,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=facts,attributes,labels,metrics,datasets", + "example": "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", "explode": false, "in": "query", "name": "include", @@ -22685,11 +23230,14 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "facts", "attributes", "labels", "metrics", "datasets", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -22776,7 +23324,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -22785,7 +23333,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=facts,attributes,labels,metrics,datasets", + "example": "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", "explode": false, "in": "query", "name": "include", @@ -22793,11 +23341,14 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "facts", "attributes", "labels", "metrics", "datasets", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -22863,7 +23414,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -22872,7 +23423,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=facts,attributes,labels,metrics,datasets", + "example": "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", "explode": false, "in": "query", "name": "include", @@ -22880,11 +23431,14 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "facts", "attributes", "labels", "metrics", "datasets", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -23492,7 +24046,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -23501,7 +24055,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=facts,attributes,labels,metrics,datasets", + "example": "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", "explode": false, "in": "query", "name": "include", @@ -23509,11 +24063,14 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "facts", "attributes", "labels", "metrics", "datasets", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -23601,7 +24158,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=facts,attributes,labels,metrics,datasets", + "example": "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", "explode": false, "in": "query", "name": "include", @@ -23609,11 +24166,14 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "facts", "attributes", "labels", "metrics", "datasets", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -23703,7 +24263,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -23750,7 +24310,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -23759,7 +24319,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=facts,attributes,labels,metrics,datasets", + "example": "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", "explode": false, "in": "query", "name": "include", @@ -23767,11 +24327,14 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "facts", "attributes", "labels", "metrics", "datasets", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -23858,7 +24421,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -23867,7 +24430,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=facts,attributes,labels,metrics,datasets", + "example": "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", "explode": false, "in": "query", "name": "include", @@ -23875,11 +24438,14 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "facts", "attributes", "labels", "metrics", "datasets", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -23945,7 +24511,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -23954,7 +24520,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=facts,attributes,labels,metrics,datasets", + "example": "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", "explode": false, "in": "query", "name": "include", @@ -23962,11 +24528,14 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "facts", "attributes", "labels", "metrics", "datasets", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -25502,6 +26071,23 @@ "get": { "description": "Retrieve complete layout of organization, workspaces, user-groups, etc.", "operationId": "getOrganizationLayout", + "parameters": [ + { + "in": "query", + "name": "exclude", + "required": false, + "schema": { + "items": { + "description": "Defines properties which should not be included in the payload.", + "enum": [ + "ACTIVITY_INFO" + ], + "type": "string" + }, + "type": "array" + } + } + ], "responses": { "200": { "content": { @@ -25951,6 +26537,23 @@ "get": { "description": "Gets complete layout of workspaces, their hierarchy, models.", "operationId": "getWorkspacesLayout", + "parameters": [ + { + "in": "query", + "name": "exclude", + "required": false, + "schema": { + "items": { + "description": "Defines properties which should not be included in the payload.", + "enum": [ + "ACTIVITY_INFO" + ], + "type": "string" + }, + "type": "array" + } + } + ], "responses": { "200": { "content": { @@ -26018,6 +26621,21 @@ "schema": { "type": "string" } + }, + { + "in": "query", + "name": "exclude", + "required": false, + "schema": { + "items": { + "description": "Defines properties which should not be included in the payload.", + "enum": [ + "ACTIVITY_INFO" + ], + "type": "string" + }, + "type": "array" + } } ], "responses": { @@ -26097,6 +26715,21 @@ "schema": { "type": "string" } + }, + { + "in": "query", + "name": "exclude", + "required": false, + "schema": { + "items": { + "description": "Defines properties which should not be included in the payload.", + "enum": [ + "ACTIVITY_INFO" + ], + "type": "string" + }, + "type": "array" + } } ], "responses": { diff --git a/schemas/gooddata-metadata-client.json b/schemas/gooddata-metadata-client.json index 5cd52b623..298c7335a 100644 --- a/schemas/gooddata-metadata-client.json +++ b/schemas/gooddata-metadata-client.json @@ -241,6 +241,16 @@ "content": { "$ref": "#/components/schemas/JsonNode" }, + "createdAt": { + "description": "Time of the entity creation.", + "example": "2023-07-20 12:30", + "nullable": true, + "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", + "type": "string" + }, + "createdBy": { + "$ref": "#/components/schemas/DeclarativeUserIdentifier" + }, "description": { "description": "Analytical dashboard description.", "example": "Period to period comparison of revenues in main sectors.", @@ -253,6 +263,16 @@ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$", "type": "string" }, + "modifiedAt": { + "description": "Time of the last entity modification.", + "example": "2023-07-20 12:30", + "nullable": true, + "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", + "type": "string" + }, + "modifiedBy": { + "$ref": "#/components/schemas/DeclarativeUserIdentifier" + }, "permissions": { "description": "A list of permissions.", "items": { @@ -594,6 +614,16 @@ "content": { "$ref": "#/components/schemas/JsonNode" }, + "createdAt": { + "description": "Time of the entity creation.", + "example": "[\"2023-07-20 12:30\"]", + "nullable": true, + "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", + "type": "string" + }, + "createdBy": { + "$ref": "#/components/schemas/DeclarativeUserIdentifier" + }, "description": { "description": "Dashboard plugin description.", "example": "Three dimensional view of data.", @@ -606,6 +636,16 @@ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$", "type": "string" }, + "modifiedAt": { + "description": "Time of the last entity modification.", + "example": "[\"2023-07-20 12:30\"]", + "nullable": true, + "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", + "type": "string" + }, + "modifiedBy": { + "$ref": "#/components/schemas/DeclarativeUserIdentifier" + }, "tags": { "description": "A list of tags.", "example": [ @@ -1226,6 +1266,16 @@ "content": { "$ref": "#/components/schemas/JsonNode" }, + "createdAt": { + "description": "Time of the entity creation.", + "example": "[\"2023-07-20 12:30\"]", + "nullable": true, + "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", + "type": "string" + }, + "createdBy": { + "$ref": "#/components/schemas/DeclarativeUserIdentifier" + }, "description": { "description": "Metric description.", "example": "Sales for all the data available.", @@ -1238,6 +1288,16 @@ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$", "type": "string" }, + "modifiedAt": { + "description": "Time of the last entity modification.", + "example": "[\"2023-07-20 12:30\"]", + "nullable": true, + "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", + "type": "string" + }, + "modifiedBy": { + "$ref": "#/components/schemas/DeclarativeUserIdentifier" + }, "tags": { "description": "A list of tags.", "example": [ @@ -1798,7 +1858,7 @@ "type": "string" }, "user": { - "$ref": "#/components/schemas/UserIdentifier" + "$ref": "#/components/schemas/DeclarativeUserIdentifier" }, "userGroup": { "$ref": "#/components/schemas/UserGroupIdentifier" @@ -1906,6 +1966,34 @@ ], "type": "object" }, + "DeclarativeUserIdentifier": { + "description": "A user identifier.", + "example": { + "id": "example123", + "type": "user" + }, + "properties": { + "id": { + "description": "User identifier.", + "example": "employee123", + "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$", + "type": "string" + }, + "type": { + "description": "A type.", + "enum": [ + "user" + ], + "example": "user", + "type": "string" + } + }, + "required": [ + "id", + "type" + ], + "type": "object" + }, "DeclarativeUserPermission": { "description": "Definition of a user permission assigned to a user/user-group.", "properties": { @@ -1980,6 +2068,16 @@ "content": { "$ref": "#/components/schemas/JsonNode" }, + "createdAt": { + "description": "Time of the entity creation.", + "example": "[\"2023-07-20 12:30\"]", + "nullable": true, + "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", + "type": "string" + }, + "createdBy": { + "$ref": "#/components/schemas/DeclarativeUserIdentifier" + }, "description": { "description": "Visualization object description.", "example": "Simple number for total goods in current production.", @@ -1992,6 +2090,16 @@ "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$", "type": "string" }, + "modifiedAt": { + "description": "Time of the last entity modification.", + "example": "[\"2023-07-20 12:30\"]", + "nullable": true, + "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}", + "type": "string" + }, + "modifiedBy": { + "$ref": "#/components/schemas/DeclarativeUserIdentifier" + }, "tags": { "description": "A list of tags.", "example": [ @@ -2808,10 +2916,18 @@ }, "type": "object" }, + "createdAt": { + "format": "date-time", + "type": "string" + }, "description": { "maxLength": 10000, "type": "string" }, + "modifiedAt": { + "format": "date-time", + "type": "string" + }, "tags": { "items": { "type": "string" @@ -2894,6 +3010,17 @@ ], "type": "object" }, + "createdBy": { + "properties": { + "data": { + "$ref": "#/components/schemas/JsonApiUserIdentifierToOneLinkage" + } + }, + "required": [ + "data" + ], + "type": "object" + }, "dashboardPlugins": { "properties": { "data": { @@ -2949,6 +3076,17 @@ ], "type": "object" }, + "modifiedBy": { + "properties": { + "data": { + "$ref": "#/components/schemas/JsonApiUserIdentifierToOneLinkage" + } + }, + "required": [ + "data" + ], + "type": "object" + }, "visualizationObjects": { "properties": { "data": { @@ -3002,6 +3140,9 @@ }, "JsonApiAnalyticalDashboardOutIncludes": { "oneOf": [ + { + "$ref": "#/components/schemas/JsonApiUserIdentifierOutWithLinks" + }, { "$ref": "#/components/schemas/JsonApiVisualizationObjectOutWithLinks" }, @@ -4461,10 +4602,18 @@ }, "type": "object" }, + "createdAt": { + "format": "date-time", + "type": "string" + }, "description": { "maxLength": 10000, "type": "string" }, + "modifiedAt": { + "format": "date-time", + "type": "string" + }, "tags": { "items": { "type": "string" @@ -4510,6 +4659,33 @@ }, "type": "object" }, + "relationships": { + "properties": { + "createdBy": { + "properties": { + "data": { + "$ref": "#/components/schemas/JsonApiUserIdentifierToOneLinkage" + } + }, + "required": [ + "data" + ], + "type": "object" + }, + "modifiedBy": { + "properties": { + "data": { + "$ref": "#/components/schemas/JsonApiUserIdentifierToOneLinkage" + } + }, + "required": [ + "data" + ], + "type": "object" + } + }, + "type": "object" + }, "type": { "description": "Object type", "enum": [ @@ -4530,6 +4706,14 @@ "data": { "$ref": "#/components/schemas/JsonApiDashboardPluginOut" }, + "included": { + "description": "Included resources", + "items": { + "$ref": "#/components/schemas/JsonApiUserIdentifierOutWithLinks" + }, + "type": "array", + "uniqueItems": true + }, "links": { "$ref": "#/components/schemas/ObjectLinks" } @@ -4549,6 +4733,14 @@ "type": "array", "uniqueItems": true }, + "included": { + "description": "Included resources", + "items": { + "$ref": "#/components/schemas/JsonApiUserIdentifierOutWithLinks" + }, + "type": "array", + "uniqueItems": true + }, "links": { "$ref": "#/components/schemas/ListLinks" } @@ -6984,10 +7176,18 @@ ], "type": "object" }, + "createdAt": { + "format": "date-time", + "type": "string" + }, "description": { "maxLength": 10000, "type": "string" }, + "modifiedAt": { + "format": "date-time", + "type": "string" + }, "tags": { "items": { "type": "string" @@ -7049,6 +7249,17 @@ ], "type": "object" }, + "createdBy": { + "properties": { + "data": { + "$ref": "#/components/schemas/JsonApiUserIdentifierToOneLinkage" + } + }, + "required": [ + "data" + ], + "type": "object" + }, "datasets": { "properties": { "data": { @@ -7092,6 +7303,17 @@ "data" ], "type": "object" + }, + "modifiedBy": { + "properties": { + "data": { + "$ref": "#/components/schemas/JsonApiUserIdentifierToOneLinkage" + } + }, + "required": [ + "data" + ], + "type": "object" } }, "type": "object" @@ -7136,6 +7358,9 @@ }, "JsonApiMetricOutIncludes": { "oneOf": [ + { + "$ref": "#/components/schemas/JsonApiUserIdentifierOutWithLinks" + }, { "$ref": "#/components/schemas/JsonApiFactOutWithLinks" }, @@ -8828,6 +9053,118 @@ } ] }, + "JsonApiUserIdentifierLinkage": { + "description": "The \\\"type\\\" and \\\"id\\\" to non-empty members.", + "properties": { + "id": { + "type": "string" + }, + "type": { + "enum": [ + "userIdentifier" + ], + "type": "string" + } + }, + "required": [ + "id", + "type" + ], + "type": "object" + }, + "JsonApiUserIdentifierOut": { + "description": "JSON:API representation of userIdentifier entity.", + "properties": { + "attributes": { + "properties": { + "email": { + "maxLength": 255, + "type": "string" + }, + "firstname": { + "maxLength": 255, + "type": "string" + }, + "lastname": { + "maxLength": 255, + "type": "string" + } + }, + "type": "object" + }, + "id": { + "description": "API identifier of an object", + "example": "id1", + "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$", + "type": "string" + }, + "type": { + "description": "Object type", + "enum": [ + "userIdentifier" + ], + "example": "userIdentifier", + "type": "string" + } + }, + "required": [ + "id", + "type" + ], + "type": "object" + }, + "JsonApiUserIdentifierOutDocument": { + "properties": { + "data": { + "$ref": "#/components/schemas/JsonApiUserIdentifierOut" + }, + "links": { + "$ref": "#/components/schemas/ObjectLinks" + } + }, + "required": [ + "data" + ], + "type": "object" + }, + "JsonApiUserIdentifierOutList": { + "description": "A JSON:API document with a list of resources", + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/JsonApiUserIdentifierOutWithLinks" + }, + "type": "array", + "uniqueItems": true + }, + "links": { + "$ref": "#/components/schemas/ListLinks" + } + }, + "required": [ + "data" + ], + "type": "object" + }, + "JsonApiUserIdentifierOutWithLinks": { + "allOf": [ + { + "$ref": "#/components/schemas/JsonApiUserIdentifierOut" + }, + { + "$ref": "#/components/schemas/ObjectLinksContainer" + } + ] + }, + "JsonApiUserIdentifierToOneLinkage": { + "description": "References to other resource objects in a to-one (\\\"relationship\\\"). Relationships can be specified by including a member in a resource's links object.", + "nullable": true, + "oneOf": [ + { + "$ref": "#/components/schemas/JsonApiUserIdentifierLinkage" + } + ] + }, "JsonApiUserIn": { "description": "JSON:API representation of user entity.", "properties": { @@ -9374,10 +9711,18 @@ }, "type": "object" }, + "createdAt": { + "format": "date-time", + "type": "string" + }, "description": { "maxLength": 10000, "type": "string" }, + "modifiedAt": { + "format": "date-time", + "type": "string" + }, "tags": { "items": { "type": "string" @@ -9436,6 +9781,17 @@ ], "type": "object" }, + "createdBy": { + "properties": { + "data": { + "$ref": "#/components/schemas/JsonApiUserIdentifierToOneLinkage" + } + }, + "required": [ + "data" + ], + "type": "object" + }, "datasets": { "properties": { "data": { @@ -9461,7 +9817,18 @@ "labels": { "properties": { "data": { - "$ref": "#/components/schemas/JsonApiLabelToManyLinkage" + "$ref": "#/components/schemas/JsonApiLabelToManyLinkage" + } + }, + "required": [ + "data" + ], + "type": "object" + }, + "metrics": { + "properties": { + "data": { + "$ref": "#/components/schemas/JsonApiMetricToManyLinkage" } }, "required": [ @@ -9469,10 +9836,10 @@ ], "type": "object" }, - "metrics": { + "modifiedBy": { "properties": { "data": { - "$ref": "#/components/schemas/JsonApiMetricToManyLinkage" + "$ref": "#/components/schemas/JsonApiUserIdentifierToOneLinkage" } }, "required": [ @@ -11351,34 +11718,6 @@ ], "type": "object" }, - "UserIdentifier": { - "description": "A user identifier.", - "example": { - "id": "example123", - "type": "user" - }, - "properties": { - "id": { - "description": "User identifier.", - "example": "employee123", - "pattern": "^(?!\\.)[.A-Za-z0-9_-]{1,255}$", - "type": "string" - }, - "type": { - "description": "A type.", - "enum": [ - "user" - ], - "example": "user", - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, "UserPermission": { "description": "List of users", "properties": { @@ -14812,6 +15151,86 @@ } } }, + "/api/v1/entities/userIdentifiers": { + "get": { + "description": "UserIdentifier - represents entity interacting with platform", + "operationId": "getAllEntities@UserIdentifiers", + "parameters": [ + { + "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", + "example": "filter=firstname==someString;lastname==someString", + "in": "query", + "name": "filter", + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/page" + }, + { + "$ref": "#/components/parameters/size" + }, + { + "$ref": "#/components/parameters/sort" + } + ], + "responses": { + "200": { + "content": { + "application/vnd.gooddata.api+json": { + "schema": { + "$ref": "#/components/schemas/JsonApiUserIdentifierOutList" + } + } + }, + "description": "Request successfully processed" + } + }, + "summary": "Get UserIdentifier entities", + "tags": [ + "entities", + "organization-model-controller" + ] + } + }, + "/api/v1/entities/userIdentifiers/{id}": { + "get": { + "description": "UserIdentifier - represents basic informationZ about entity interacting with platform", + "operationId": "getEntity@UserIdentifiers", + "parameters": [ + { + "$ref": "#/components/parameters/idPathParameter" + }, + { + "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", + "example": "filter=firstname==someString;lastname==someString", + "in": "query", + "name": "filter", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/vnd.gooddata.api+json": { + "schema": { + "$ref": "#/components/schemas/JsonApiUserIdentifierOutDocument" + } + } + }, + "description": "Request successfully processed" + } + }, + "summary": "Get UserIdentifier entity", + "tags": [ + "entities", + "organization-model-controller" + ] + } + }, "/api/v1/entities/users": { "get": { "description": "User - represents entity interacting with platform", @@ -16103,7 +16522,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -16112,7 +16531,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", + "example": "include=createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", "explode": false, "in": "query", "name": "include", @@ -16120,6 +16539,7 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "visualizationObjects", "analyticalDashboards", "labels", @@ -16127,6 +16547,8 @@ "datasets", "filterContexts", "dashboardPlugins", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -16216,7 +16638,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", + "example": "include=createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", "explode": false, "in": "query", "name": "include", @@ -16224,6 +16646,7 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "visualizationObjects", "analyticalDashboards", "labels", @@ -16231,6 +16654,8 @@ "datasets", "filterContexts", "dashboardPlugins", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -16322,7 +16747,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -16369,7 +16794,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -16378,7 +16803,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", + "example": "include=createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", "explode": false, "in": "query", "name": "include", @@ -16386,6 +16811,7 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "visualizationObjects", "analyticalDashboards", "labels", @@ -16393,6 +16819,8 @@ "datasets", "filterContexts", "dashboardPlugins", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -16481,7 +16909,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -16490,7 +16918,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", + "example": "include=createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", "explode": false, "in": "query", "name": "include", @@ -16498,6 +16926,7 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "visualizationObjects", "analyticalDashboards", "labels", @@ -16505,6 +16934,8 @@ "datasets", "filterContexts", "dashboardPlugins", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -16570,7 +17001,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -16579,7 +17010,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", + "example": "include=createdBy,modifiedBy,visualizationObjects,analyticalDashboards,labels,metrics,datasets,filterContexts,dashboardPlugins", "explode": false, "in": "query", "name": "include", @@ -16587,6 +17018,7 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "visualizationObjects", "analyticalDashboards", "labels", @@ -16594,6 +17026,8 @@ "datasets", "filterContexts", "dashboardPlugins", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -17300,13 +17734,34 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { "type": "string" } }, + { + "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", + "example": "include=createdBy,modifiedBy", + "explode": false, + "in": "query", + "name": "include", + "required": false, + "schema": { + "items": { + "enum": [ + "userIdentifiers", + "createdBy", + "modifiedBy", + "ALL" + ], + "type": "string" + }, + "type": "array" + }, + "style": "form" + }, { "$ref": "#/components/parameters/page" }, @@ -17384,6 +17839,27 @@ "type": "string" } }, + { + "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", + "example": "include=createdBy,modifiedBy", + "explode": false, + "in": "query", + "name": "include", + "required": false, + "schema": { + "items": { + "enum": [ + "userIdentifiers", + "createdBy", + "modifiedBy", + "ALL" + ], + "type": "string" + }, + "type": "array" + }, + "style": "form" + }, { "description": "Include Meta objects.", "example": "metaInclude=origin,all", @@ -17465,7 +17941,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -17512,13 +17988,34 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { "type": "string" } }, + { + "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", + "example": "include=createdBy,modifiedBy", + "explode": false, + "in": "query", + "name": "include", + "required": false, + "schema": { + "items": { + "enum": [ + "userIdentifiers", + "createdBy", + "modifiedBy", + "ALL" + ], + "type": "string" + }, + "type": "array" + }, + "style": "form" + }, { "in": "header", "name": "X-GDC-VALIDATE-RELATIONS", @@ -17597,12 +18094,33 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { "type": "string" } + }, + { + "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", + "example": "include=createdBy,modifiedBy", + "explode": false, + "in": "query", + "name": "include", + "required": false, + "schema": { + "items": { + "enum": [ + "userIdentifiers", + "createdBy", + "modifiedBy", + "ALL" + ], + "type": "string" + }, + "type": "array" + }, + "style": "form" } ], "requestBody": { @@ -17661,12 +18179,33 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { "type": "string" } + }, + { + "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", + "example": "include=createdBy,modifiedBy", + "explode": false, + "in": "query", + "name": "include", + "required": false, + "schema": { + "items": { + "enum": [ + "userIdentifiers", + "createdBy", + "modifiedBy", + "ALL" + ], + "type": "string" + }, + "type": "array" + }, + "style": "form" } ], "requestBody": { @@ -18957,7 +19496,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -18966,7 +19505,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=facts,attributes,labels,metrics,datasets", + "example": "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", "explode": false, "in": "query", "name": "include", @@ -18974,11 +19513,14 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "facts", "attributes", "labels", "metrics", "datasets", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -19066,7 +19608,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=facts,attributes,labels,metrics,datasets", + "example": "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", "explode": false, "in": "query", "name": "include", @@ -19074,11 +19616,14 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "facts", "attributes", "labels", "metrics", "datasets", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -19168,7 +19713,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -19215,7 +19760,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -19224,7 +19769,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=facts,attributes,labels,metrics,datasets", + "example": "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", "explode": false, "in": "query", "name": "include", @@ -19232,11 +19777,14 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "facts", "attributes", "labels", "metrics", "datasets", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -19323,7 +19871,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -19332,7 +19880,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=facts,attributes,labels,metrics,datasets", + "example": "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", "explode": false, "in": "query", "name": "include", @@ -19340,11 +19888,14 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "facts", "attributes", "labels", "metrics", "datasets", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -19410,7 +19961,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -19419,7 +19970,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=facts,attributes,labels,metrics,datasets", + "example": "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", "explode": false, "in": "query", "name": "include", @@ -19427,11 +19978,14 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "facts", "attributes", "labels", "metrics", "datasets", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -20039,7 +20593,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -20048,7 +20602,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=facts,attributes,labels,metrics,datasets", + "example": "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", "explode": false, "in": "query", "name": "include", @@ -20056,11 +20610,14 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "facts", "attributes", "labels", "metrics", "datasets", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -20148,7 +20705,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=facts,attributes,labels,metrics,datasets", + "example": "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", "explode": false, "in": "query", "name": "include", @@ -20156,11 +20713,14 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "facts", "attributes", "labels", "metrics", "datasets", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -20250,7 +20810,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -20297,7 +20857,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -20306,7 +20866,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=facts,attributes,labels,metrics,datasets", + "example": "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", "explode": false, "in": "query", "name": "include", @@ -20314,11 +20874,14 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "facts", "attributes", "labels", "metrics", "datasets", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -20405,7 +20968,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -20414,7 +20977,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=facts,attributes,labels,metrics,datasets", + "example": "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", "explode": false, "in": "query", "name": "include", @@ -20422,11 +20985,14 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "facts", "attributes", "labels", "metrics", "datasets", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -20492,7 +21058,7 @@ }, { "description": "Filtering parameter in RSQL. See https://github.com/jirutka/rsql-parser. You can specify any object parameter and parameter of related entity (for example title=='Some Title';description=='desc'). Additionally, if the entity relationship represents a polymorphic entity type, it can be casted to its subtypes (for example relatedEntity::subtype.subtypeProperty=='Value 123').", - "example": "filter=title==someString;description==someString", + "example": "filter=title==someString;description==someString;createdBy.id==321;modifiedBy.id==321", "in": "query", "name": "filter", "schema": { @@ -20501,7 +21067,7 @@ }, { "description": "Array of included collections or individual relationships. Includes are separated by commas (e.g. include=entity1s,entity2s). Collection include represents the inclusion of every relationship between this entity and the given collection. Relationship include represents the inclusion of the particular relationships only. If single parameter \"ALL\" is present, all possible includes are used (include=ALL).\n\n__WARNING:__ Individual include types (collection, relationship or ALL) cannot be combined together.", - "example": "include=facts,attributes,labels,metrics,datasets", + "example": "include=createdBy,modifiedBy,facts,attributes,labels,metrics,datasets", "explode": false, "in": "query", "name": "include", @@ -20509,11 +21075,14 @@ "schema": { "items": { "enum": [ + "userIdentifiers", "facts", "attributes", "labels", "metrics", "datasets", + "createdBy", + "modifiedBy", "ALL" ], "type": "string" @@ -22049,6 +22618,23 @@ "get": { "description": "Retrieve complete layout of organization, workspaces, user-groups, etc.", "operationId": "getOrganizationLayout", + "parameters": [ + { + "in": "query", + "name": "exclude", + "required": false, + "schema": { + "items": { + "description": "Defines properties which should not be included in the payload.", + "enum": [ + "ACTIVITY_INFO" + ], + "type": "string" + }, + "type": "array" + } + } + ], "responses": { "200": { "content": { @@ -22498,6 +23084,23 @@ "get": { "description": "Gets complete layout of workspaces, their hierarchy, models.", "operationId": "getWorkspacesLayout", + "parameters": [ + { + "in": "query", + "name": "exclude", + "required": false, + "schema": { + "items": { + "description": "Defines properties which should not be included in the payload.", + "enum": [ + "ACTIVITY_INFO" + ], + "type": "string" + }, + "type": "array" + } + } + ], "responses": { "200": { "content": { @@ -22565,6 +23168,21 @@ "schema": { "type": "string" } + }, + { + "in": "query", + "name": "exclude", + "required": false, + "schema": { + "items": { + "description": "Defines properties which should not be included in the payload.", + "enum": [ + "ACTIVITY_INFO" + ], + "type": "string" + }, + "type": "array" + } } ], "responses": { @@ -22644,6 +23262,21 @@ "schema": { "type": "string" } + }, + { + "in": "query", + "name": "exclude", + "required": false, + "schema": { + "items": { + "description": "Defines properties which should not be included in the payload.", + "enum": [ + "ACTIVITY_INFO" + ], + "type": "string" + }, + "type": "array" + } } ], "responses": { From b53da0eebba5abbcd050817acd86b7b9368ab286 Mon Sep 17 00:00:00 2001 From: hkad98 Date: Mon, 14 Aug 2023 09:47:04 +0200 Subject: [PATCH 2/2] Add support for metadata objects created and modified --- .../gooddata_sdk/catalog/identifier.py | 6 +- .../catalog/workspace/content_service.py | 12 +- .../analytics_model/analytics_model.py | 52 +- .../gooddata_sdk/catalog/workspace/service.py | 21 +- .../analytics_store_load.yaml | 356 ++++- .../workspace_content/demo_catalog.yaml | 486 ++++--- .../demo_catalog_availability.yaml | 486 ++++--- .../demo_catalog_list_attributes.yaml | 422 +++--- .../demo_catalog_list_labels.yaml | 392 ++--- .../demo_catalog_list_metrics.yaml | 26 +- .../demo_get_declarative_analytics_model.yaml | 2 +- .../demo_get_dependent_entities_graph.yaml | 262 ++-- ...and_modify_ds_and_put_declarative_ldm.yaml | 30 +- ...d_and_put_declarative_analytics_model.yaml | 36 +- .../demo_load_and_put_declarative_ldm.yaml | 32 +- .../demo_put_declarative_analytics_model.yaml | 30 +- .../demo_put_declarative_ldm.yaml | 14 +- ...emo_store_declarative_analytics_model.yaml | 360 ++++- .../demo_store_declarative_ldm.yaml | 4 +- .../workspaces/demo_clone_workspace.yaml | 1278 ++++++++++++++++- .../workspaces/demo_create_workspace.yaml | 70 +- .../demo_declarative_workspaces.yaml | 18 +- .../demo_delete_non_existing_workspace.yaml | 36 +- .../demo_delete_parent_workspace.yaml | 36 +- .../workspaces/demo_delete_workspace.yaml | 70 +- .../demo_get_declarative_workspace.yaml | 322 +++-- .../demo_get_declarative_workspaces.yaml | 2 +- ...get_declarative_workspaces_snake_case.yaml | 2 +- ...and_put_declarative_user_data_filters.yaml | 2 +- ...mo_load_and_put_declarative_workspace.yaml | 358 ++++- ...ut_declarative_workspace_data_filters.yaml | 2 +- ...o_load_and_put_declarative_workspaces.yaml | 4 +- .../demo_put_declarative_workspace.yaml | 558 ++++++- .../demo_put_declarative_workspaces.yaml | 4 +- ...o_store_declarative_user_data_filters.yaml | 4 +- .../demo_store_declarative_workspace.yaml | 360 ++++- ...re_declarative_workspace_data_filters.yaml | 4 +- .../demo_store_declarative_workspaces.yaml | 360 ++++- .../workspaces/demo_translate_workspace.yaml | 732 +++++++++- .../demo_update_workspace_invalid.yaml | 24 +- .../demo_update_workspace_valid.yaml | 56 +- .../workspaces/demo_workspace_list.yaml | 12 +- .../user_data_filters_life_cycle.yaml | 6 +- .../tests/catalog/test_catalog_workspace.py | 22 +- .../catalog/test_catalog_workspace_content.py | 12 +- 45 files changed, 5857 insertions(+), 1526 deletions(-) diff --git a/gooddata-sdk/gooddata_sdk/catalog/identifier.py b/gooddata-sdk/gooddata_sdk/catalog/identifier.py index d35c14d9e..bdeacea62 100644 --- a/gooddata-sdk/gooddata_sdk/catalog/identifier.py +++ b/gooddata-sdk/gooddata_sdk/catalog/identifier.py @@ -6,11 +6,11 @@ import attr from gooddata_api_client.model.assignee_identifier import AssigneeIdentifier +from gooddata_api_client.model.declarative_user_identifier import DeclarativeUserIdentifier from gooddata_api_client.model.grain_identifier import GrainIdentifier from gooddata_api_client.model.label_identifier import LabelIdentifier from gooddata_api_client.model.reference_identifier import ReferenceIdentifier from gooddata_api_client.model.user_group_identifier import UserGroupIdentifier -from gooddata_api_client.model.user_identifier import UserIdentifier from gooddata_api_client.model.workspace_identifier import WorkspaceIdentifier from gooddata_sdk.catalog.base import Base, value_in_allowed @@ -69,8 +69,8 @@ class CatalogUserIdentifier(Base): type: str = attr.field(validator=value_in_allowed) @staticmethod - def client_class() -> Type[UserIdentifier]: - return UserIdentifier + def client_class() -> Type[DeclarativeUserIdentifier]: + return DeclarativeUserIdentifier @attr.s(auto_attribs=True, kw_only=True) diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/content_service.py b/gooddata-sdk/gooddata_sdk/catalog/workspace/content_service.py index 7fa2bb458..66e7a64fd 100644 --- a/gooddata-sdk/gooddata_sdk/catalog/workspace/content_service.py +++ b/gooddata-sdk/gooddata_sdk/catalog/workspace/content_service.py @@ -338,18 +338,26 @@ def load_ldm_from_disk(path: Path = Path.cwd()) -> CatalogDeclarativeModel: # Declarative methods for analytics model - def get_declarative_analytics_model(self, workspace_id: str) -> CatalogDeclarativeAnalytics: + def get_declarative_analytics_model( + self, workspace_id: str, exclude: Optional[List[str]] = None + ) -> CatalogDeclarativeAnalytics: """Retrieves declarative analytics model. The model is tied to the workspace and organization. Args: workspace_id (str): Workspace identification string e.g. "demo" + exclude (Optional[List[str]]): + Defines properties which should not be included in the payload. Returns: CatalogDeclarativeAnalytics: Object Containing declarative Analytical Model """ - return CatalogDeclarativeAnalytics.from_api(self._layout_api.get_analytics_model(workspace_id)) + if exclude is None: + exclude = [] + return CatalogDeclarativeAnalytics.from_api( + self._layout_api.get_analytics_model(workspace_id=workspace_id, exclude=exclude) + ) def put_declarative_analytics_model(self, workspace_id: str, analytics_model: CatalogDeclarativeAnalytics) -> None: """Sets the declarative analytics model for a given workspace. diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/analytics_model.py b/gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/analytics_model.py index 1313bb2d5..19e790c60 100644 --- a/gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/analytics_model.py +++ b/gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/analytics_model.py @@ -16,9 +16,10 @@ from gooddata_api_client.model.declarative_visualization_object import DeclarativeVisualizationObject from gooddata_sdk import CatalogDeclarativeWorkspaceHierarchyPermission from gooddata_sdk.catalog.base import Base +from gooddata_sdk.catalog.identifier import CatalogUserIdentifier from gooddata_sdk.utils import create_directory, get_sorted_yaml_files, read_layout_from_file, write_layout_to_file -T = TypeVar("T", bound="CatalogAnalyticsBase") +T = TypeVar("T", bound="CatalogAnalyticsObjectBase") AnalyticsObjects = Union[ DeclarativeAnalyticalDashboard, DeclarativeDashboardPlugin, @@ -186,7 +187,7 @@ def load_from_disk(cls, workspace_folder: Path) -> CatalogDeclarativeAnalyticsLa @attr.s(auto_attribs=True, kw_only=True) -class CatalogAnalyticsBase(Base): +class CatalogAnalyticsObjectBase(Base): id: str def store_to_disk(self, analytics_folder: Path) -> None: @@ -200,34 +201,37 @@ def load_from_disk(cls: Type[T], analytics_file: Path) -> T: @attr.s(auto_attribs=True, kw_only=True) -class CatalogDeclarativeAnalyticalDashboard(CatalogAnalyticsBase): - id: str +class CatalogAnalyticsBase(CatalogAnalyticsObjectBase): title: str content: Dict[str, Any] description: Optional[str] = None tags: Optional[List[str]] = None + +@attr.s(auto_attribs=True, kw_only=True) +class CatalogAnalyticsBaseMeta(CatalogAnalyticsBase): + created_at: Optional[str] = None + created_by: Optional[CatalogUserIdentifier] = None + modified_at: Optional[str] = None + modified_by: Optional[CatalogUserIdentifier] = None + + +@attr.s(auto_attribs=True, kw_only=True) +class CatalogDeclarativeAnalyticalDashboard(CatalogAnalyticsBaseMeta): @staticmethod def client_class() -> Type[DeclarativeAnalyticalDashboard]: return DeclarativeAnalyticalDashboard @attr.s(auto_attribs=True, kw_only=True) -class CatalogDeclarativeDashboardPlugin(CatalogAnalyticsBase): - id: str - title: str - content: Dict[str, Any] - description: Optional[str] = None - tags: Optional[List[str]] = None - +class CatalogDeclarativeDashboardPlugin(CatalogAnalyticsBaseMeta): @staticmethod def client_class() -> Type[DeclarativeDashboardPlugin]: return DeclarativeDashboardPlugin @attr.s(auto_attribs=True, kw_only=True) -class CatalogDeclarativeAnalyticalDashboardExtension(CatalogAnalyticsBase): - id: str +class CatalogDeclarativeAnalyticalDashboardExtension(CatalogAnalyticsObjectBase): permissions: List[CatalogDeclarativeWorkspaceHierarchyPermission] @staticmethod @@ -237,38 +241,20 @@ def client_class() -> Type[DeclarativeAnalyticalDashboardExtension]: @attr.s(auto_attribs=True, kw_only=True) class CatalogDeclarativeFilterContext(CatalogAnalyticsBase): - id: str - title: str - content: Dict[str, Any] - description: Optional[str] = None - tags: Optional[List[str]] = None - @staticmethod def client_class() -> Type[DeclarativeFilterContext]: return DeclarativeFilterContext @attr.s(auto_attribs=True, kw_only=True) -class CatalogDeclarativeMetric(CatalogAnalyticsBase): - id: str - title: str - content: Dict[str, Any] - description: Optional[str] = None - tags: Optional[List[str]] = None - +class CatalogDeclarativeMetric(CatalogAnalyticsBaseMeta): @staticmethod def client_class() -> Type[DeclarativeMetric]: return DeclarativeMetric @attr.s(auto_attribs=True, kw_only=True) -class CatalogDeclarativeVisualizationObject(CatalogAnalyticsBase): - id: str - title: str - content: Dict[str, Any] - description: Optional[str] = None - tags: Optional[List[str]] = None - +class CatalogDeclarativeVisualizationObject(CatalogAnalyticsBaseMeta): @staticmethod def client_class() -> Type[DeclarativeVisualizationObject]: return DeclarativeVisualizationObject diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/service.py b/gooddata-sdk/gooddata_sdk/catalog/workspace/service.py index 4f5704112..0058ef1ce 100644 --- a/gooddata-sdk/gooddata_sdk/catalog/workspace/service.py +++ b/gooddata-sdk/gooddata_sdk/catalog/workspace/service.py @@ -181,17 +181,20 @@ def list_workspace_settings(self, workspace_id: str) -> List[CatalogWorkspaceSet # Declarative methods - workspaces - def get_declarative_workspaces(self) -> CatalogDeclarativeWorkspaces: + def get_declarative_workspaces(self, exclude: Optional[List[str]] = None) -> CatalogDeclarativeWorkspaces: """Get all workspaces in the current organization in a declarative form. Args: - None + exclude (Optional[List[str]]): + Defines properties which should not be included in the payload. Returns: CatalogDeclarativeWorkspaces: Declarative Workspaces object including all the workspaces for given organization. """ - return CatalogDeclarativeWorkspaces.from_api(self._layout_api.get_workspaces_layout()) + if exclude is None: + exclude = [] + return CatalogDeclarativeWorkspaces.from_api(self._layout_api.get_workspaces_layout(exclude=exclude)) def put_declarative_workspaces(self, workspace: CatalogDeclarativeWorkspaces) -> None: """Set layout of all workspaces and their hierarchy. Parameter is in declarative form. @@ -248,18 +251,26 @@ def load_and_put_declarative_workspaces(self, layout_root_path: Path = Path.cwd( # Declarative methods - workspace - def get_declarative_workspace(self, workspace_id: str) -> CatalogDeclarativeWorkspaceModel: + def get_declarative_workspace( + self, workspace_id: str, exclude: Optional[List[str]] = None + ) -> CatalogDeclarativeWorkspaceModel: """Retrieve a workspace layout. Args: workspace_id (str): Workspace identification string e.g. "demo" + exclude (Optional[List[str]]): + Defines properties which should not be included in the payload. Returns: CatalogDeclarativeWorkspaceModel: Object Containing declarative Logical Data Model and declarative Analytical Model. """ - return CatalogDeclarativeWorkspaceModel.from_api(self._layout_api.get_workspace_layout(workspace_id)) + if exclude is None: + exclude = [] + return CatalogDeclarativeWorkspaceModel.from_api( + self._layout_api.get_workspace_layout(workspace_id=workspace_id, exclude=exclude) + ) def put_declarative_workspace(self, workspace_id: str, workspace: CatalogDeclarativeWorkspaceModel) -> None: """Set a workspace layout. diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/analytics_store_load.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/analytics_store_load.yaml index 9d02b205a..340ec547d 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/analytics_store_load.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/analytics_store_load.yaml @@ -74,7 +74,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '27629' + - '30797' body: string: analytics: @@ -127,6 +127,10 @@ interactions: drills: [] properties: {} version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: campaign title: Campaign @@ -162,6 +166,10 @@ interactions: type: dashboardPlugin version: '2' version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: dashboard_plugin title: Dashboard plugin - content: @@ -308,6 +316,10 @@ interactions: drills: [] properties: {} version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: product_and_category title: Product & Category @@ -315,12 +327,20 @@ interactions: - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_1 id: dashboard_plugin_1 title: dashboard_plugin_1 - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_2 id: dashboard_plugin_2 title: dashboard_plugin_2 @@ -366,81 +386,137 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_active_customers title: '# of Active Customers' - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_orders title: '# of Orders' - content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_top_customers title: '# of Top Customers' - content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: amount_of_valid_orders title: '# of Valid Orders' - content: format: $#,##0 maql: SELECT SUM({fact/spend}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: order_amount title: Order Amount - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue title: '% Revenue' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_in_category title: '% Revenue in Category' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product title: '% Revenue per Product' - content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: revenue title: Revenue @@ -448,54 +524,94 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-clothing title: Revenue (Clothing) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-electronic title: Revenue (Electronic) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-home title: Revenue (Home) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-outdoor title: Revenue (Outdoor) - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_customer title: Revenue per Customer - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_dollar_spent title: Revenue per Dollar Spent - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10 title: Revenue / Top 10 - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10_percent title: Revenue / Top 10% - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue title: Total Revenue - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue-no_filters title: Total Revenue (No Filters) visualizationObjects: @@ -557,6 +673,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: @@ -629,6 +749,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: customers_trend title: Customers Trend - content: @@ -704,6 +828,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' - content: @@ -759,6 +887,10 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percentage_of_customers_by_region title: Percentage of Customers by Region - content: @@ -812,6 +944,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_breakdown title: Product Breakdown - content: @@ -861,6 +997,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_categories_pie_chart title: Product Categories Pie Chart - content: @@ -932,6 +1072,10 @@ interactions: visible: false version: '2' visualizationUrl: local:column + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) - content: @@ -985,6 +1129,10 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_saleability title: Product Saleability - content: @@ -1080,6 +1228,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category - content: @@ -1132,6 +1284,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:line + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_category_trend title: Revenue by Category Trend - content: @@ -1167,6 +1323,10 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_product title: Revenue by Product - content: @@ -1219,6 +1379,10 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign - content: @@ -1283,6 +1447,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_trend title: Revenue Trend - content: @@ -1336,6 +1504,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_customers title: Top 10 Customers - content: @@ -1389,6 +1561,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_products title: Top 10 Products - request: @@ -1463,7 +1639,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '27629' + - '30797' body: string: analytics: @@ -1516,6 +1692,10 @@ interactions: drills: [] properties: {} version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: campaign title: Campaign @@ -1551,6 +1731,10 @@ interactions: type: dashboardPlugin version: '2' version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: dashboard_plugin title: Dashboard plugin - content: @@ -1697,6 +1881,10 @@ interactions: drills: [] properties: {} version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: product_and_category title: Product & Category @@ -1704,12 +1892,20 @@ interactions: - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_1 id: dashboard_plugin_1 title: dashboard_plugin_1 - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_2 id: dashboard_plugin_2 title: dashboard_plugin_2 @@ -1755,81 +1951,137 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_active_customers title: '# of Active Customers' - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_orders title: '# of Orders' - content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_top_customers title: '# of Top Customers' - content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: amount_of_valid_orders title: '# of Valid Orders' - content: format: $#,##0 maql: SELECT SUM({fact/spend}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: order_amount title: Order Amount - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue title: '% Revenue' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_in_category title: '% Revenue in Category' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product title: '% Revenue per Product' - content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: revenue title: Revenue @@ -1837,54 +2089,94 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-clothing title: Revenue (Clothing) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-electronic title: Revenue (Electronic) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-home title: Revenue (Home) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-outdoor title: Revenue (Outdoor) - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_customer title: Revenue per Customer - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_dollar_spent title: Revenue per Dollar Spent - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10 title: Revenue / Top 10 - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10_percent title: Revenue / Top 10% - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue title: Total Revenue - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue-no_filters title: Total Revenue (No Filters) visualizationObjects: @@ -1946,6 +2238,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: @@ -2018,6 +2314,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: customers_trend title: Customers Trend - content: @@ -2093,6 +2393,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' - content: @@ -2148,6 +2452,10 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percentage_of_customers_by_region title: Percentage of Customers by Region - content: @@ -2201,6 +2509,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_breakdown title: Product Breakdown - content: @@ -2250,6 +2562,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_categories_pie_chart title: Product Categories Pie Chart - content: @@ -2321,6 +2637,10 @@ interactions: visible: false version: '2' visualizationUrl: local:column + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) - content: @@ -2374,6 +2694,10 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_saleability title: Product Saleability - content: @@ -2469,6 +2793,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category - content: @@ -2521,6 +2849,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:line + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_category_trend title: Revenue by Category Trend - content: @@ -2556,6 +2888,10 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_product title: Revenue by Product - content: @@ -2608,6 +2944,10 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign - content: @@ -2672,6 +3012,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_trend title: Revenue Trend - content: @@ -2725,6 +3069,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_customers title: Top 10 Customers - content: @@ -2778,5 +3126,9 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_products title: Top 10 Products diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog.yaml index f20c51677..1e524455d 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog.yaml @@ -28,7 +28,7 @@ interactions: Connection: - keep-alive Content-Length: - - '25472' + - '25476' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -76,15 +76,15 @@ interactions: body: string: data: - - id: campaign_channel_id + - id: type type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Type + description: Type tags: - Campaign channels areRelationsValid: true - sourceColumn: campaign_channel_id + sourceColumn: type relationships: dataset: data: @@ -92,23 +92,23 @@ interactions: type: dataset labels: data: - - id: campaign_channel_id + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: campaign_channels.category + - id: campaign_channel_id type: attribute attributes: - title: Category - description: Category + title: Campaign channel id + description: Campaign channel id tags: - Campaign channels areRelationsValid: true - sourceColumn: category + sourceColumn: campaign_channel_id relationships: dataset: data: @@ -116,23 +116,23 @@ interactions: type: dataset labels: data: - - id: campaign_channels.category + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: type + - id: campaign_channels.category type: attribute attributes: - title: Type - description: Type + title: Category + description: Category tags: - Campaign channels areRelationsValid: true - sourceColumn: type + sourceColumn: category relationships: dataset: data: @@ -140,23 +140,23 @@ interactions: type: dataset labels: data: - - id: type + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: campaign_name type: attribute attributes: - title: Campaign id - description: Campaign id + title: Campaign name + description: Campaign name tags: - Campaigns areRelationsValid: true - sourceColumn: campaign_id + sourceColumn: campaign_name relationships: dataset: data: @@ -164,23 +164,23 @@ interactions: type: dataset labels: data: - - id: campaign_id + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: campaign_id type: attribute attributes: - title: Campaign name - description: Campaign name + title: Campaign id + description: Campaign id tags: - Campaigns areRelationsValid: true - sourceColumn: campaign_name + sourceColumn: campaign_id relationships: dataset: data: @@ -188,23 +188,23 @@ interactions: type: dataset labels: data: - - id: campaign_name + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: region type: attribute attributes: - title: Customer id - description: Customer id + title: Region + description: Region tags: - Customers areRelationsValid: true - sourceColumn: customer_id + sourceColumn: region relationships: dataset: data: @@ -212,47 +212,53 @@ interactions: type: dataset labels: data: - - id: customer_id + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: state type: attribute attributes: - title: Customer name - description: Customer name + title: State + description: State tags: - Customers areRelationsValid: true - sourceColumn: customer_name + sourceColumn: state relationships: + defaultView: + data: + id: state + type: label dataset: data: id: customers type: dataset labels: data: - - id: customer_name + - id: state + type: label + - id: geo__state__location type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: region + - id: customer_id type: attribute attributes: - title: Region - description: Region + title: Customer id + description: Customer id tags: - Customers areRelationsValid: true - sourceColumn: region + sourceColumn: customer_id relationships: dataset: data: @@ -260,53 +266,47 @@ interactions: type: dataset labels: data: - - id: region + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: state + - id: customer_name type: attribute attributes: - title: State - description: State + title: Customer name + description: Customer name tags: - Customers areRelationsValid: true - sourceColumn: state + sourceColumn: customer_name relationships: - defaultView: - data: - id: state - type: label dataset: data: id: customers type: dataset labels: data: - - id: geo__state__location - type: label - - id: state + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: order_status type: attribute attributes: - title: Order id - description: Order id + title: Order status + description: Order status tags: - Order lines areRelationsValid: true - sourceColumn: order_id + sourceColumn: order_status relationships: dataset: data: @@ -314,10 +314,10 @@ interactions: type: dataset labels: data: - - id: order_id + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE @@ -346,15 +346,15 @@ interactions: origin: originType: NATIVE originId: demo - - id: order_status + - id: order_id type: attribute attributes: - title: Order status - description: Order status + title: Order id + description: Order id tags: - Order lines areRelationsValid: true - sourceColumn: order_status + sourceColumn: order_id relationships: dataset: data: @@ -362,10 +362,10 @@ interactions: type: dataset labels: data: - - id: order_status + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE @@ -466,30 +466,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date.hour - type: attribute - attributes: - title: Date - Hour - description: Hour - tags: - - Date - granularity: HOUR - areRelationsValid: true - relationships: - dataset: - data: - id: date - type: dataset - labels: - data: - - id: date.hour - type: label - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour - meta: - origin: - originType: NATIVE - originId: demo - id: date.day type: attribute attributes: @@ -802,6 +778,30 @@ interactions: origin: originType: NATIVE originId: demo + - id: date.hour + type: attribute + attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + relationships: + dataset: + data: + id: date + type: dataset + labels: + data: + - id: date.hour + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + meta: + origin: + originType: NATIVE + originId: demo included: - id: date.minuteOfHour type: label @@ -862,25 +862,25 @@ interactions: order: 0 referenceProperties: - identifier: - id: date + id: customers type: dataset multivalue: false sourceColumns: - - date + - customer_id sourceColumnDataTypes: [] - identifier: - id: products + id: date type: dataset multivalue: false sourceColumns: - - product_id + - date sourceColumnDataTypes: [] - identifier: - id: customers + id: products type: dataset multivalue: false sourceColumns: - - customer_id + - product_id sourceColumnDataTypes: [] - identifier: id: campaigns @@ -1282,8 +1282,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1311,7 +1311,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13631' + - '13635' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1358,39 +1358,18 @@ interactions: body: string: data: - - id: order_lines + - id: campaign_channels type: dataset attributes: - title: Order lines - description: Order lines + title: Campaign channels + description: Campaign channels tags: - - Order lines + - Campaign channels grain: - - id: order_line_id + - id: campaign_channel_id type: attribute order: 0 referenceProperties: - - identifier: - id: date - type: dataset - multivalue: false - sourceColumns: - - date - sourceColumnDataTypes: null - - identifier: - id: products - type: dataset - multivalue: false - sourceColumns: - - product_id - sourceColumnDataTypes: null - - identifier: - id: customers - type: dataset - multivalue: false - sourceColumns: - - customer_id - sourceColumnDataTypes: null - identifier: id: campaigns type: dataset @@ -1398,26 +1377,26 @@ interactions: sourceColumns: - campaign_id sourceColumnDataTypes: null - dataSourceTableId: demo-test-ds:order_lines + dataSourceTableId: demo-test-ds:campaign_channels areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: order_status + - id: type type: attribute - - id: order_id + - id: campaign_channels.category type: attribute - - id: order_line_id + - id: campaign_channel_id type: attribute facts: data: - - id: price + - id: budget type: fact - - id: quantity + - id: spend type: fact links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels meta: origin: originType: NATIVE @@ -1480,50 +1459,66 @@ interactions: origin: originType: NATIVE originId: demo - - id: date + - id: order_lines type: dataset attributes: - title: Date - description: '' + title: Order lines + description: Order lines tags: - - Date + - Order lines + grain: + - id: order_line_id + type: attribute + order: 0 + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + sourceColumnDataTypes: null + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + sourceColumnDataTypes: null + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + sourceColumnDataTypes: null + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + sourceColumnDataTypes: null + dataSourceTableId: demo-test-ds:order_lines areRelationsValid: true - type: DATE + type: NORMAL relationships: attributes: data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.minute - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.day + - id: order_id type: attribute - - id: date.month + - id: order_status type: attribute - - id: date.hourOfDay + - id: order_line_id type: attribute + facts: + data: + - id: price + type: fact + - id: quantity + type: fact links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines meta: origin: originType: NATIVE @@ -1557,45 +1552,50 @@ interactions: origin: originType: NATIVE originId: demo - - id: campaign_channels + - id: date type: dataset attributes: - title: Campaign channels - description: Campaign channels + title: Date + description: '' tags: - - Campaign channels - grain: - - id: campaign_channel_id - type: attribute - order: 0 - referenceProperties: - - identifier: - id: campaigns - type: dataset - multivalue: false - sourceColumns: - - campaign_id - sourceColumnDataTypes: null - dataSourceTableId: demo-test-ds:campaign_channels + - Date areRelationsValid: true - type: NORMAL + type: DATE relationships: attributes: data: - - id: type + - id: date.dayOfYear type: attribute - - id: campaign_channels.category + - id: date.quarterOfYear type: attribute - - id: campaign_channel_id + - id: date.minuteOfHour + type: attribute + - id: date.hour + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.day + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.month + type: attribute + - id: date.dayOfWeek type: attribute - facts: - data: - - id: spend - type: fact - - id: budget - type: fact links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date meta: origin: originType: NATIVE @@ -1942,8 +1942,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -1971,7 +1971,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2018,39 +2018,12 @@ interactions: body: string: data: - - id: order_amount - type: metric - attributes: - title: Order Amount - areRelationsValid: true - content: - format: $#,##0 - maql: SELECT SUM({fact/price}*{fact/quantity}) - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount - meta: - origin: - originType: NATIVE - originId: demo - - id: percent_revenue - type: metric - attributes: - title: '% Revenue' - areRelationsValid: true - content: - format: '#,##0.0%' - maql: SELECT {metric/revenue} / {metric/total_revenue} - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue - meta: - origin: - originType: NATIVE - originId: demo - id: amount_of_active_customers type: metric attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2065,6 +2038,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2079,6 +2053,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2095,6 +2070,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2110,6 +2086,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2119,11 +2096,42 @@ interactions: origin: originType: NATIVE originId: demo + - id: order_amount + type: metric + attributes: + title: Order Amount + areRelationsValid: true + createdAt: 2023-08-14 07:28 + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + meta: + origin: + originType: NATIVE + originId: demo + - id: percent_revenue + type: metric + attributes: + title: '% Revenue' + areRelationsValid: true + createdAt: 2023-08-14 07:28 + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + meta: + origin: + originType: NATIVE + originId: demo - id: percent_revenue_from_top_10_customers type: metric attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2139,6 +2147,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2154,6 +2163,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2169,6 +2179,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2184,6 +2195,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2199,6 +2211,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2215,6 +2228,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2230,6 +2244,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2245,6 +2260,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2260,6 +2276,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2275,6 +2292,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2290,6 +2308,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2304,6 +2323,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2318,6 +2338,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2332,6 +2353,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2346,6 +2368,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2360,6 +2383,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_availability.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_availability.yaml index fa7014aed..6fa855b7b 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_availability.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_availability.yaml @@ -28,7 +28,7 @@ interactions: Connection: - keep-alive Content-Length: - - '25472' + - '25476' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -76,15 +76,15 @@ interactions: body: string: data: - - id: campaign_channel_id + - id: type type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Type + description: Type tags: - Campaign channels areRelationsValid: true - sourceColumn: campaign_channel_id + sourceColumn: type relationships: dataset: data: @@ -92,23 +92,23 @@ interactions: type: dataset labels: data: - - id: campaign_channel_id + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: campaign_channels.category + - id: campaign_channel_id type: attribute attributes: - title: Category - description: Category + title: Campaign channel id + description: Campaign channel id tags: - Campaign channels areRelationsValid: true - sourceColumn: category + sourceColumn: campaign_channel_id relationships: dataset: data: @@ -116,23 +116,23 @@ interactions: type: dataset labels: data: - - id: campaign_channels.category + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: type + - id: campaign_channels.category type: attribute attributes: - title: Type - description: Type + title: Category + description: Category tags: - Campaign channels areRelationsValid: true - sourceColumn: type + sourceColumn: category relationships: dataset: data: @@ -140,23 +140,23 @@ interactions: type: dataset labels: data: - - id: type + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: campaign_name type: attribute attributes: - title: Campaign id - description: Campaign id + title: Campaign name + description: Campaign name tags: - Campaigns areRelationsValid: true - sourceColumn: campaign_id + sourceColumn: campaign_name relationships: dataset: data: @@ -164,23 +164,23 @@ interactions: type: dataset labels: data: - - id: campaign_id + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: campaign_id type: attribute attributes: - title: Campaign name - description: Campaign name + title: Campaign id + description: Campaign id tags: - Campaigns areRelationsValid: true - sourceColumn: campaign_name + sourceColumn: campaign_id relationships: dataset: data: @@ -188,23 +188,23 @@ interactions: type: dataset labels: data: - - id: campaign_name + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: region type: attribute attributes: - title: Customer id - description: Customer id + title: Region + description: Region tags: - Customers areRelationsValid: true - sourceColumn: customer_id + sourceColumn: region relationships: dataset: data: @@ -212,47 +212,53 @@ interactions: type: dataset labels: data: - - id: customer_id + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: state type: attribute attributes: - title: Customer name - description: Customer name + title: State + description: State tags: - Customers areRelationsValid: true - sourceColumn: customer_name + sourceColumn: state relationships: + defaultView: + data: + id: state + type: label dataset: data: id: customers type: dataset labels: data: - - id: customer_name + - id: state + type: label + - id: geo__state__location type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: region + - id: customer_id type: attribute attributes: - title: Region - description: Region + title: Customer id + description: Customer id tags: - Customers areRelationsValid: true - sourceColumn: region + sourceColumn: customer_id relationships: dataset: data: @@ -260,53 +266,47 @@ interactions: type: dataset labels: data: - - id: region + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: state + - id: customer_name type: attribute attributes: - title: State - description: State + title: Customer name + description: Customer name tags: - Customers areRelationsValid: true - sourceColumn: state + sourceColumn: customer_name relationships: - defaultView: - data: - id: state - type: label dataset: data: id: customers type: dataset labels: data: - - id: geo__state__location - type: label - - id: state + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: order_status type: attribute attributes: - title: Order id - description: Order id + title: Order status + description: Order status tags: - Order lines areRelationsValid: true - sourceColumn: order_id + sourceColumn: order_status relationships: dataset: data: @@ -314,10 +314,10 @@ interactions: type: dataset labels: data: - - id: order_id + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE @@ -346,15 +346,15 @@ interactions: origin: originType: NATIVE originId: demo - - id: order_status + - id: order_id type: attribute attributes: - title: Order status - description: Order status + title: Order id + description: Order id tags: - Order lines areRelationsValid: true - sourceColumn: order_status + sourceColumn: order_id relationships: dataset: data: @@ -362,10 +362,10 @@ interactions: type: dataset labels: data: - - id: order_status + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE @@ -466,30 +466,6 @@ interactions: origin: originType: NATIVE originId: demo - - id: date.hour - type: attribute - attributes: - title: Date - Hour - description: Hour - tags: - - Date - granularity: HOUR - areRelationsValid: true - relationships: - dataset: - data: - id: date - type: dataset - labels: - data: - - id: date.hour - type: label - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour - meta: - origin: - originType: NATIVE - originId: demo - id: date.day type: attribute attributes: @@ -802,6 +778,30 @@ interactions: origin: originType: NATIVE originId: demo + - id: date.hour + type: attribute + attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + relationships: + dataset: + data: + id: date + type: dataset + labels: + data: + - id: date.hour + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + meta: + origin: + originType: NATIVE + originId: demo included: - id: date.minuteOfHour type: label @@ -862,25 +862,25 @@ interactions: order: 0 referenceProperties: - identifier: - id: date + id: customers type: dataset multivalue: false sourceColumns: - - date + - customer_id sourceColumnDataTypes: [] - identifier: - id: products + id: date type: dataset multivalue: false sourceColumns: - - product_id + - date sourceColumnDataTypes: [] - identifier: - id: customers + id: products type: dataset multivalue: false sourceColumns: - - customer_id + - product_id sourceColumnDataTypes: [] - identifier: id: campaigns @@ -1282,8 +1282,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels,datasets&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels%2Cdatasets&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 @@ -1311,7 +1311,7 @@ interactions: Connection: - keep-alive Content-Length: - - '13631' + - '13635' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -1358,39 +1358,18 @@ interactions: body: string: data: - - id: order_lines + - id: campaign_channels type: dataset attributes: - title: Order lines - description: Order lines + title: Campaign channels + description: Campaign channels tags: - - Order lines + - Campaign channels grain: - - id: order_line_id + - id: campaign_channel_id type: attribute order: 0 referenceProperties: - - identifier: - id: date - type: dataset - multivalue: false - sourceColumns: - - date - sourceColumnDataTypes: null - - identifier: - id: products - type: dataset - multivalue: false - sourceColumns: - - product_id - sourceColumnDataTypes: null - - identifier: - id: customers - type: dataset - multivalue: false - sourceColumns: - - customer_id - sourceColumnDataTypes: null - identifier: id: campaigns type: dataset @@ -1398,26 +1377,26 @@ interactions: sourceColumns: - campaign_id sourceColumnDataTypes: null - dataSourceTableId: demo-test-ds:order_lines + dataSourceTableId: demo-test-ds:campaign_channels areRelationsValid: true type: NORMAL relationships: attributes: data: - - id: order_status + - id: type type: attribute - - id: order_id + - id: campaign_channels.category type: attribute - - id: order_line_id + - id: campaign_channel_id type: attribute facts: data: - - id: price + - id: budget type: fact - - id: quantity + - id: spend type: fact links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels meta: origin: originType: NATIVE @@ -1480,50 +1459,66 @@ interactions: origin: originType: NATIVE originId: demo - - id: date + - id: order_lines type: dataset attributes: - title: Date - description: '' + title: Order lines + description: Order lines tags: - - Date + - Order lines + grain: + - id: order_line_id + type: attribute + order: 0 + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + sourceColumnDataTypes: null + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + sourceColumnDataTypes: null + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + sourceColumnDataTypes: null + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + sourceColumnDataTypes: null + dataSourceTableId: demo-test-ds:order_lines areRelationsValid: true - type: DATE + type: NORMAL relationships: attributes: data: - - id: date.quarterOfYear - type: attribute - - id: date.weekOfYear - type: attribute - - id: date.dayOfMonth - type: attribute - - id: date.monthOfYear - type: attribute - - id: date.minuteOfHour - type: attribute - - id: date.hour - type: attribute - - id: date.year - type: attribute - - id: date.week - type: attribute - - id: date.quarter - type: attribute - - id: date.dayOfYear - type: attribute - - id: date.minute - type: attribute - - id: date.dayOfWeek - type: attribute - - id: date.day + - id: order_id type: attribute - - id: date.month + - id: order_status type: attribute - - id: date.hourOfDay + - id: order_line_id type: attribute + facts: + data: + - id: price + type: fact + - id: quantity + type: fact links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines meta: origin: originType: NATIVE @@ -1557,45 +1552,50 @@ interactions: origin: originType: NATIVE originId: demo - - id: campaign_channels + - id: date type: dataset attributes: - title: Campaign channels - description: Campaign channels + title: Date + description: '' tags: - - Campaign channels - grain: - - id: campaign_channel_id - type: attribute - order: 0 - referenceProperties: - - identifier: - id: campaigns - type: dataset - multivalue: false - sourceColumns: - - campaign_id - sourceColumnDataTypes: null - dataSourceTableId: demo-test-ds:campaign_channels + - Date areRelationsValid: true - type: NORMAL + type: DATE relationships: attributes: data: - - id: type + - id: date.dayOfYear type: attribute - - id: campaign_channels.category + - id: date.quarterOfYear type: attribute - - id: campaign_channel_id + - id: date.minuteOfHour + type: attribute + - id: date.hour + type: attribute + - id: date.week + type: attribute + - id: date.year + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.hourOfDay + type: attribute + - id: date.day + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.month + type: attribute + - id: date.dayOfWeek type: attribute - facts: - data: - - id: spend - type: fact - - id: budget - type: fact links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date meta: origin: originType: NATIVE @@ -1942,8 +1942,8 @@ interactions: links: self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 - next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=1&size=500 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 @@ -1971,7 +1971,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -2018,39 +2018,12 @@ interactions: body: string: data: - - id: order_amount - type: metric - attributes: - title: Order Amount - areRelationsValid: true - content: - format: $#,##0 - maql: SELECT SUM({fact/price}*{fact/quantity}) - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount - meta: - origin: - originType: NATIVE - originId: demo - - id: percent_revenue - type: metric - attributes: - title: '% Revenue' - areRelationsValid: true - content: - format: '#,##0.0%' - maql: SELECT {metric/revenue} / {metric/total_revenue} - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue - meta: - origin: - originType: NATIVE - originId: demo - id: amount_of_active_customers type: metric attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -2065,6 +2038,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -2079,6 +2053,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -2095,6 +2070,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2110,6 +2086,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -2119,11 +2096,42 @@ interactions: origin: originType: NATIVE originId: demo + - id: order_amount + type: metric + attributes: + title: Order Amount + areRelationsValid: true + createdAt: 2023-08-14 07:28 + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + meta: + origin: + originType: NATIVE + originId: demo + - id: percent_revenue + type: metric + attributes: + title: '% Revenue' + areRelationsValid: true + createdAt: 2023-08-14 07:28 + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + meta: + origin: + originType: NATIVE + originId: demo - id: percent_revenue_from_top_10_customers type: metric attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2139,6 +2147,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2154,6 +2163,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -2169,6 +2179,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -2184,6 +2195,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -2199,6 +2211,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -2215,6 +2228,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2230,6 +2244,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2245,6 +2260,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2260,6 +2276,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2275,6 +2292,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -2290,6 +2308,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -2304,6 +2323,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -2318,6 +2338,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -2332,6 +2353,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -2346,6 +2368,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -2360,6 +2383,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_attributes.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_attributes.yaml index 7752df343..1d1fdffa5 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_attributes.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_attributes.yaml @@ -76,604 +76,604 @@ interactions: body: string: data: - - id: campaign_channel_id + - id: date.hour type: attribute attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date + granularity: HOUR areRelationsValid: true - sourceColumn: campaign_channel_id relationships: labels: data: - - id: campaign_channel_id + - id: date.hour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour meta: origin: originType: NATIVE originId: demo - - id: campaign_channels.category + - id: date.day type: attribute attributes: - title: Category - description: Category + title: Date - Date + description: Date tags: - - Campaign channels + - Date + granularity: DAY areRelationsValid: true - sourceColumn: category relationships: labels: data: - - id: campaign_channels.category + - id: date.day type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.week type: attribute attributes: - title: Type - description: Type + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaign channels + - Date + granularity: WEEK areRelationsValid: true - sourceColumn: type relationships: labels: data: - - id: type + - id: date.week type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: attribute attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date + granularity: MONTH areRelationsValid: true - sourceColumn: campaign_id relationships: labels: data: - - id: campaign_id + - id: date.month type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.quarter type: attribute attributes: - title: Campaign name - description: Campaign name + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Campaigns + - Date + granularity: QUARTER areRelationsValid: true - sourceColumn: campaign_name relationships: labels: data: - - id: campaign_name + - id: date.quarter type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.year type: attribute attributes: - title: Customer id - description: Customer id + title: Date - Year + description: Year tags: - - Customers + - Date + granularity: YEAR areRelationsValid: true - sourceColumn: customer_id relationships: labels: data: - - id: customer_id + - id: date.year type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: attribute attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date + granularity: MINUTE_OF_HOUR areRelationsValid: true - sourceColumn: customer_name relationships: labels: data: - - id: customer_name + - id: date.minuteOfHour type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.hourOfDay type: attribute attributes: - title: Region - description: Region + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date + granularity: HOUR_OF_DAY areRelationsValid: true - sourceColumn: region relationships: labels: data: - - id: region + - id: date.hourOfDay type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.dayOfWeek type: attribute attributes: - title: State - description: State + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Customers + - Date + granularity: DAY_OF_WEEK areRelationsValid: true - sourceColumn: state relationships: labels: data: - - id: geo__state__location - type: label - - id: state + - id: date.dayOfWeek type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfMonth type: attribute attributes: - title: Order id - description: Order id + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Order lines + - Date + granularity: DAY_OF_MONTH areRelationsValid: true - sourceColumn: order_id relationships: labels: data: - - id: order_id + - id: date.dayOfMonth type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.dayOfYear type: attribute attributes: - title: Order line id - description: Order line id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date + granularity: DAY_OF_YEAR areRelationsValid: true - sourceColumn: order_line_id relationships: labels: data: - - id: order_line_id + - id: date.dayOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.weekOfYear type: attribute attributes: - title: Order status - description: Order status + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Order lines + - Date + granularity: WEEK_OF_YEAR areRelationsValid: true - sourceColumn: order_status relationships: labels: data: - - id: order_status + - id: date.weekOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.monthOfYear type: attribute attributes: - title: Product id - description: Product id + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Products + - Date + granularity: MONTH_OF_YEAR areRelationsValid: true - sourceColumn: product_id relationships: labels: data: - - id: product_id + - id: date.monthOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: date.quarterOfYear type: attribute attributes: - title: Product name - description: Product name + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date + granularity: QUARTER_OF_YEAR areRelationsValid: true - sourceColumn: product_name relationships: labels: data: - - id: product_name + - id: date.quarterOfYear type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: campaign_channel_id type: attribute attributes: - title: Category - description: Category + title: Campaign channel id + description: Campaign channel id tags: - - Products + - Campaign channels areRelationsValid: true - sourceColumn: category + sourceColumn: campaign_channel_id relationships: labels: data: - - id: products.category + - id: campaign_channel_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: campaign_channels.category type: attribute attributes: - title: Date - Minute - description: Minute + title: Category + description: Category tags: - - Date - granularity: MINUTE + - Campaign channels areRelationsValid: true + sourceColumn: category relationships: labels: data: - - id: date.minute + - id: campaign_channels.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: type type: attribute attributes: - title: Date - Hour - description: Hour + title: Type + description: Type tags: - - Date - granularity: HOUR + - Campaign channels areRelationsValid: true + sourceColumn: type relationships: labels: data: - - id: date.hour + - id: type type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: campaign_id type: attribute attributes: - title: Date - Date - description: Date + title: Campaign id + description: Campaign id tags: - - Date - granularity: DAY + - Campaigns areRelationsValid: true + sourceColumn: campaign_id relationships: labels: data: - - id: date.day + - id: campaign_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: campaign_name type: attribute attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Campaign name + description: Campaign name tags: - - Date - granularity: WEEK + - Campaigns areRelationsValid: true + sourceColumn: campaign_name relationships: labels: data: - - id: date.week + - id: campaign_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: customer_id type: attribute attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Customer id + description: Customer id tags: - - Date - granularity: MONTH + - Customers areRelationsValid: true + sourceColumn: customer_id relationships: labels: data: - - id: date.month + - id: customer_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: customer_name type: attribute attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Customer name + description: Customer name tags: - - Date - granularity: QUARTER + - Customers areRelationsValid: true + sourceColumn: customer_name relationships: labels: data: - - id: date.quarter + - id: customer_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: region type: attribute attributes: - title: Date - Year - description: Year + title: Region + description: Region tags: - - Date - granularity: YEAR + - Customers areRelationsValid: true + sourceColumn: region relationships: labels: data: - - id: date.year + - id: region type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: state type: attribute attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: State + description: State tags: - - Date - granularity: MINUTE_OF_HOUR + - Customers areRelationsValid: true + sourceColumn: state relationships: labels: data: - - id: date.minuteOfHour + - id: state + type: label + - id: geo__state__location type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: order_id type: attribute attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Order id + description: Order id tags: - - Date - granularity: HOUR_OF_DAY + - Order lines areRelationsValid: true + sourceColumn: order_id relationships: labels: data: - - id: date.hourOfDay + - id: order_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: order_line_id type: attribute attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Order line id + description: Order line id tags: - - Date - granularity: DAY_OF_WEEK + - Order lines areRelationsValid: true + sourceColumn: order_line_id relationships: labels: data: - - id: date.dayOfWeek + - id: order_line_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: order_status type: attribute attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Order status + description: Order status tags: - - Date - granularity: DAY_OF_MONTH + - Order lines areRelationsValid: true + sourceColumn: order_status relationships: labels: data: - - id: date.dayOfMonth + - id: order_status type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: product_id type: attribute attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Product id + description: Product id tags: - - Date - granularity: DAY_OF_YEAR + - Products areRelationsValid: true + sourceColumn: product_id relationships: labels: data: - - id: date.dayOfYear + - id: product_id type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: product_name type: attribute attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + title: Product name + description: Product name tags: - - Date - granularity: WEEK_OF_YEAR + - Products areRelationsValid: true + sourceColumn: product_name relationships: labels: data: - - id: date.weekOfYear + - id: product_name type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: products.category type: attribute attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date - granularity: MONTH_OF_YEAR + - Products areRelationsValid: true + sourceColumn: category relationships: labels: data: - - id: date.monthOfYear + - id: products.category type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: date.minute type: attribute attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Date - Minute + description: Minute tags: - Date - granularity: QUARTER_OF_YEAR + granularity: MINUTE areRelationsValid: true relationships: labels: data: - - id: date.quarterOfYear + - id: date.minute type: label links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute meta: origin: originType: NATIVE diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_labels.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_labels.yaml index dc649ae36..6ef2e568e 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_labels.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_labels.yaml @@ -76,513 +76,513 @@ interactions: body: string: data: - - id: campaign_channel_id + - id: date.hour type: label attributes: - title: Campaign channel id - description: Campaign channel id + title: Date - Hour + description: Hour tags: - - Campaign channels + - Date primary: true - sourceColumn: campaign_channel_id - valueType: TEXT + sourceColumn: '' areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour meta: origin: originType: NATIVE originId: demo - - id: campaign_channels.category + - id: date.day type: label attributes: - title: Category - description: Category + title: Date - Date + description: Date tags: - - Campaign channels + - Date primary: true - sourceColumn: category - valueType: TEXT + sourceColumn: '' areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day meta: origin: originType: NATIVE originId: demo - - id: type + - id: date.week type: label attributes: - title: Type - description: Type + title: Date - Week/Year + description: Week and Year (W52/2020) tags: - - Campaign channels + - Date primary: true - sourceColumn: type - valueType: TEXT + sourceColumn: '' areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week meta: origin: originType: NATIVE originId: demo - - id: campaign_id + - id: date.month type: label attributes: - title: Campaign id - description: Campaign id + title: Date - Month/Year + description: Month and Year (12/2020) tags: - - Campaigns + - Date primary: true - sourceColumn: campaign_id - valueType: TEXT + sourceColumn: '' areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month meta: origin: originType: NATIVE originId: demo - - id: campaign_name + - id: date.quarter type: label attributes: - title: Campaign name - description: Campaign name + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) tags: - - Campaigns + - Date primary: true - sourceColumn: campaign_name - valueType: TEXT + sourceColumn: '' areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter meta: origin: originType: NATIVE originId: demo - - id: customer_id + - id: date.year type: label attributes: - title: Customer id - description: Customer id + title: Date - Year + description: Year tags: - - Customers + - Date primary: true - sourceColumn: customer_id - valueType: TEXT + sourceColumn: '' areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year meta: origin: originType: NATIVE originId: demo - - id: customer_name + - id: date.minuteOfHour type: label attributes: - title: Customer name - description: Customer name + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) tags: - - Customers + - Date primary: true - sourceColumn: customer_name - valueType: TEXT + sourceColumn: '' areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour meta: origin: originType: NATIVE originId: demo - - id: region + - id: date.hourOfDay type: label attributes: - title: Region - description: Region + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) tags: - - Customers + - Date primary: true - sourceColumn: region - valueType: TEXT + sourceColumn: '' areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay meta: origin: originType: NATIVE originId: demo - - id: state + - id: date.dayOfWeek type: label attributes: - title: State - description: State + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) tags: - - Customers + - Date primary: true - sourceColumn: state - valueType: TEXT + sourceColumn: '' areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek meta: origin: originType: NATIVE originId: demo - - id: geo__state__location + - id: date.dayOfMonth type: label attributes: - title: Location - description: Location + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) tags: - - Customers - primary: false - sourceColumn: geo__state__location + - Date + primary: true + sourceColumn: '' areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth meta: origin: originType: NATIVE originId: demo - - id: order_id + - id: date.dayOfYear type: label attributes: - title: Order id - description: Order id + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) tags: - - Order lines + - Date primary: true - sourceColumn: order_id - valueType: TEXT + sourceColumn: '' areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear meta: origin: originType: NATIVE originId: demo - - id: order_line_id + - id: date.weekOfYear type: label attributes: - title: Order line id - description: Order line id + title: Date - Week of Year + description: Generic Week (W1-W53) tags: - - Order lines + - Date primary: true - sourceColumn: order_line_id - valueType: TEXT + sourceColumn: '' areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear meta: origin: originType: NATIVE originId: demo - - id: order_status + - id: date.monthOfYear type: label attributes: - title: Order status - description: Order status + title: Date - Month of Year + description: Generic Month (M1-M12) tags: - - Order lines + - Date primary: true - sourceColumn: order_status - valueType: TEXT + sourceColumn: '' areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear meta: origin: originType: NATIVE originId: demo - - id: product_id + - id: date.quarterOfYear type: label attributes: - title: Product id - description: Product id + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) tags: - - Products + - Date primary: true - sourceColumn: product_id - valueType: TEXT + sourceColumn: '' areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear meta: origin: originType: NATIVE originId: demo - - id: product_name + - id: campaign_channel_id type: label attributes: - title: Product name - description: Product name + title: Campaign channel id + description: Campaign channel id tags: - - Products + - Campaign channels primary: true - sourceColumn: product_name + sourceColumn: campaign_channel_id valueType: TEXT areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id meta: origin: originType: NATIVE originId: demo - - id: products.category + - id: campaign_channels.category type: label attributes: title: Category description: Category tags: - - Products + - Campaign channels primary: true sourceColumn: category valueType: TEXT areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category meta: origin: originType: NATIVE originId: demo - - id: date.minute + - id: type type: label attributes: - title: Date - Minute - description: Minute + title: Type + description: Type tags: - - Date + - Campaign channels primary: true - sourceColumn: '' + sourceColumn: type + valueType: TEXT areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type meta: origin: originType: NATIVE originId: demo - - id: date.hour + - id: campaign_id type: label attributes: - title: Date - Hour - description: Hour + title: Campaign id + description: Campaign id tags: - - Date + - Campaigns primary: true - sourceColumn: '' + sourceColumn: campaign_id + valueType: TEXT areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id meta: origin: originType: NATIVE originId: demo - - id: date.day + - id: campaign_name type: label attributes: - title: Date - Date - description: Date + title: Campaign name + description: Campaign name tags: - - Date + - Campaigns primary: true - sourceColumn: '' + sourceColumn: campaign_name + valueType: TEXT areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name meta: origin: originType: NATIVE originId: demo - - id: date.week + - id: customer_id type: label attributes: - title: Date - Week/Year - description: Week and Year (W52/2020) + title: Customer id + description: Customer id tags: - - Date + - Customers primary: true - sourceColumn: '' + sourceColumn: customer_id + valueType: TEXT areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id meta: origin: originType: NATIVE originId: demo - - id: date.month + - id: customer_name type: label attributes: - title: Date - Month/Year - description: Month and Year (12/2020) + title: Customer name + description: Customer name tags: - - Date + - Customers primary: true - sourceColumn: '' + sourceColumn: customer_name + valueType: TEXT areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name meta: origin: originType: NATIVE originId: demo - - id: date.quarter + - id: region type: label attributes: - title: Date - Quarter/Year - description: Quarter and Year (Q1/2020) + title: Region + description: Region tags: - - Date + - Customers primary: true - sourceColumn: '' + sourceColumn: region + valueType: TEXT areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region meta: origin: originType: NATIVE originId: demo - - id: date.year + - id: state type: label attributes: - title: Date - Year - description: Year + title: State + description: State tags: - - Date + - Customers primary: true - sourceColumn: '' + sourceColumn: state + valueType: TEXT areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state meta: origin: originType: NATIVE originId: demo - - id: date.minuteOfHour + - id: geo__state__location type: label attributes: - title: Date - Minute of Hour - description: Generic Minute of the Hour(MI1-MI60) + title: Location + description: Location tags: - - Date - primary: true - sourceColumn: '' + - Customers + primary: false + sourceColumn: geo__state__location areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location meta: origin: originType: NATIVE originId: demo - - id: date.hourOfDay + - id: order_id type: label attributes: - title: Date - Hour of Day - description: Generic Hour of the Day(H1-H24) + title: Order id + description: Order id tags: - - Date + - Order lines primary: true - sourceColumn: '' + sourceColumn: order_id + valueType: TEXT areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfWeek + - id: order_line_id type: label attributes: - title: Date - Day of Week - description: Generic Day of the Week (D1-D7) + title: Order line id + description: Order line id tags: - - Date + - Order lines primary: true - sourceColumn: '' + sourceColumn: order_line_id + valueType: TEXT areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id meta: origin: originType: NATIVE originId: demo - - id: date.dayOfMonth + - id: order_status type: label attributes: - title: Date - Day of Month - description: Generic Day of the Month (D1-D31) + title: Order status + description: Order status tags: - - Date + - Order lines primary: true - sourceColumn: '' + sourceColumn: order_status + valueType: TEXT areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status meta: origin: originType: NATIVE originId: demo - - id: date.dayOfYear + - id: product_id type: label attributes: - title: Date - Day of Year - description: Generic Day of the Year (D1-D366) + title: Product id + description: Product id tags: - - Date + - Products primary: true - sourceColumn: '' + sourceColumn: product_id + valueType: TEXT areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id meta: origin: originType: NATIVE originId: demo - - id: date.weekOfYear + - id: product_name type: label attributes: - title: Date - Week of Year - description: Generic Week (W1-W53) + title: Product name + description: Product name tags: - - Date + - Products primary: true - sourceColumn: '' + sourceColumn: product_name + valueType: TEXT areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name meta: origin: originType: NATIVE originId: demo - - id: date.monthOfYear + - id: products.category type: label attributes: - title: Date - Month of Year - description: Generic Month (M1-M12) + title: Category + description: Category tags: - - Date + - Products primary: true - sourceColumn: '' + sourceColumn: category + valueType: TEXT areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category meta: origin: originType: NATIVE originId: demo - - id: date.quarterOfYear + - id: date.minute type: label attributes: - title: Date - Quarter of Year - description: Generic Quarter (Q1-Q4) + title: Date - Minute + description: Minute tags: - Date primary: true sourceColumn: '' areRelationsValid: true links: - self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute meta: origin: originType: NATIVE diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_metrics.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_metrics.yaml index 5c898d869..f51a6c63b 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_metrics.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_metrics.yaml @@ -28,7 +28,7 @@ interactions: Connection: - keep-alive Content-Length: - - '9799' + - '10543' Content-Security-Policy: - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' *.wistia.com *.wistia.net *.hsforms.net *.hsforms.com @@ -81,6 +81,7 @@ interactions: attributes: title: '# of Active Customers' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) @@ -95,6 +96,7 @@ interactions: attributes: title: '# of Orders' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) @@ -109,6 +111,7 @@ interactions: attributes: title: '# of Top Customers' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT @@ -125,6 +128,7 @@ interactions: title: '# of Valid Orders' description: '' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -140,6 +144,7 @@ interactions: attributes: title: Campaign Spend areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT SUM({fact/spend}) @@ -154,6 +159,7 @@ interactions: attributes: title: Order Amount areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) @@ -168,6 +174,7 @@ interactions: attributes: title: '% Revenue' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} @@ -182,6 +189,7 @@ interactions: attributes: title: '% Revenue from Top 10 Customers' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -197,6 +205,7 @@ interactions: attributes: title: '% Revenue from Top 10% Customers' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -212,6 +221,7 @@ interactions: attributes: title: '% Revenue from Top 10% Products' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ @@ -227,6 +237,7 @@ interactions: attributes: title: '% Revenue from Top 10 Products' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ @@ -242,6 +253,7 @@ interactions: attributes: title: '% Revenue in Category' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, @@ -257,6 +269,7 @@ interactions: attributes: title: '% Revenue per Product' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL @@ -273,6 +286,7 @@ interactions: title: Revenue description: '' areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -288,6 +302,7 @@ interactions: attributes: title: Revenue (Clothing) areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -303,6 +318,7 @@ interactions: attributes: title: Revenue (Electronic) areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -318,6 +334,7 @@ interactions: attributes: title: Revenue (Home) areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -333,6 +350,7 @@ interactions: attributes: title: Revenue (Outdoor) areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN @@ -348,6 +366,7 @@ interactions: attributes: title: Revenue per Customer areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) @@ -362,6 +381,7 @@ interactions: attributes: title: Revenue per Dollar Spent areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} @@ -376,6 +396,7 @@ interactions: attributes: title: Revenue / Top 10 areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) @@ -390,6 +411,7 @@ interactions: attributes: title: Revenue / Top 10% areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) @@ -404,6 +426,7 @@ interactions: attributes: title: Total Revenue areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER @@ -418,6 +441,7 @@ interactions: attributes: title: Total Revenue (No Filters) areRelationsValid: true + createdAt: 2023-08-14 07:28 content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model.yaml index ab4bfbee0..6c35812a5 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model.yaml @@ -3,7 +3,7 @@ version: 1 interactions: - request: method: GET - uri: http://localhost:3000/api/v1/layout/workspaces/demo/analyticsModel + uri: http://localhost:3000/api/v1/layout/workspaces/demo/analyticsModel?exclude=ACTIVITY_INFO body: null headers: Accept: diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph.yaml index 8aac55708..e14006ba0 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph.yaml @@ -97,15 +97,11 @@ interactions: type: dataset - - id: customer_id type: attribute - - id: customers - type: dataset - - - id: customer_id - type: attribute - - id: percent_revenue_from_top_10_customers + - id: revenue_per_customer type: metric - - id: customer_id type: attribute - - id: revenue_per_customer + - id: amount_of_active_customers type: metric - - id: customer_id type: attribute @@ -113,11 +109,15 @@ interactions: type: metric - - id: customer_id type: attribute - - id: amount_of_active_customers + - id: percent_revenue_from_top_10_percent_customers type: metric - - id: customer_id type: attribute - - id: percent_revenue_from_top_10_percent_customers + - id: customers + type: dataset + - - id: customer_id + type: attribute + - id: percent_revenue_from_top_10_customers type: metric - - id: customer_name type: attribute @@ -195,18 +195,22 @@ interactions: type: attribute - id: order_lines type: dataset - - - id: order_line_id - type: attribute - - id: amount_of_active_customers - type: metric - - id: order_line_id type: attribute - id: order_lines type: dataset + - - id: order_line_id + type: attribute + - id: amount_of_active_customers + type: metric - - id: order_status type: attribute - id: order_lines type: dataset + - - id: product_id + type: attribute + - id: percent_revenue_per_product + type: metric - - id: product_id type: attribute - id: percent_revenue_from_top_10_percent_products @@ -219,10 +223,6 @@ interactions: type: attribute - id: percent_revenue_from_top_10_products type: metric - - - id: product_id - type: attribute - - id: percent_revenue_per_product - type: metric - - id: product_name type: attribute - id: products @@ -271,6 +271,10 @@ interactions: type: dataset - id: percentage_of_customers_by_region type: visualizationObject + - - id: date + type: dataset + - id: order_lines + type: dataset - - id: date type: dataset - id: customers_trend @@ -281,15 +285,11 @@ interactions: type: visualizationObject - - id: date type: dataset - - id: revenue_trend + - id: product_revenue_comparison-over_previous_period type: visualizationObject - - id: date type: dataset - - id: order_lines - type: dataset - - - id: date - type: dataset - - id: product_revenue_comparison-over_previous_period + - id: revenue_trend type: visualizationObject - - id: products type: dataset @@ -303,34 +303,34 @@ interactions: type: fact - id: order_amount type: metric - - - id: price - type: fact - - id: revenue_and_quantity_by_product_and_category - type: visualizationObject - - id: price type: fact - id: order_lines type: dataset + - - id: price + type: fact + - id: revenue_and_quantity_by_product_and_category + type: visualizationObject - - id: quantity type: fact - id: order_amount type: metric - - - id: quantity - type: fact - - id: revenue_and_quantity_by_product_and_category - type: visualizationObject - - id: quantity type: fact - id: order_lines type: dataset - - - id: spend + - - id: quantity type: fact - - id: campaign_channels - type: dataset + - id: revenue_and_quantity_by_product_and_category + type: visualizationObject - - id: spend type: fact - id: campaign_spend type: metric + - - id: spend + type: fact + - id: campaign_channels + type: dataset - - id: campaign_channel_id type: label - id: campaign_channel_id @@ -349,24 +349,28 @@ interactions: type: attribute - - id: campaign_name type: label - - id: campaign_name - type: attribute + - id: campaign_spend + type: visualizationObject - - id: campaign_name type: label - - id: campaign_name_filter - type: filterContext + - id: campaign_name + type: attribute - - id: campaign_name type: label - id: revenue_per_usd_vs_spend_by_campaign type: visualizationObject - - id: campaign_name type: label - - id: campaign_spend - type: visualizationObject + - id: campaign_name_filter + type: filterContext - - id: customer_id type: label - id: customer_id type: attribute + - - id: customer_name + type: label + - id: customer_name + type: attribute - - id: customer_name type: label - id: percent_revenue_per_product_by_customer_and_category @@ -379,10 +383,6 @@ interactions: type: label - id: top_10_customers type: visualizationObject - - - id: customer_name - type: label - - id: customer_name - type: attribute - - id: date.day type: label - id: date.day @@ -417,8 +417,8 @@ interactions: type: attribute - - id: date.month type: label - - id: percentage_of_customers_by_region - type: visualizationObject + - id: date.month + type: attribute - - id: date.month type: label - id: revenue_trend @@ -429,8 +429,8 @@ interactions: type: visualizationObject - - id: date.month type: label - - id: date.month - type: attribute + - id: percentage_of_customers_by_region + type: visualizationObject - - id: date.month type: label - id: revenue_by_category_trend @@ -475,25 +475,25 @@ interactions: type: label - id: revenue type: metric - - - id: order_status - type: label - - id: order_status - type: attribute - - id: order_status type: label - id: amount_of_valid_orders type: metric + - - id: order_status + type: label + - id: order_status + type: attribute - - id: product_id type: label - id: product_id type: attribute - - id: product_name type: label - - id: percent_revenue_per_product_by_customer_and_category + - id: top_10_products type: visualizationObject - - id: product_name type: label - - id: product_categories_pie_chart + - id: product_revenue_comparison-over_previous_period type: visualizationObject - - id: product_name type: label @@ -501,19 +501,19 @@ interactions: type: visualizationObject - - id: product_name type: label - - id: top_10_products + - id: product_saleability type: visualizationObject - - id: product_name type: label - - id: product_breakdown + - id: percent_revenue_per_product_by_customer_and_category type: visualizationObject - - id: product_name type: label - - id: product_name - type: attribute + - id: product_categories_pie_chart + type: visualizationObject - - id: product_name type: label - - id: product_revenue_comparison-over_previous_period + - id: product_breakdown type: visualizationObject - - id: product_name type: label @@ -521,15 +521,19 @@ interactions: type: visualizationObject - - id: product_name type: label - - id: product_saleability - type: visualizationObject + - id: product_name + type: attribute - - id: products.category type: label - - id: percent_revenue_per_product_by_customer_and_category - type: visualizationObject + - id: revenue-home + type: metric - - id: products.category type: label - - id: product_categories_pie_chart + - id: revenue-outdoor + type: metric + - - id: products.category + type: label + - id: top_10_products type: visualizationObject - - id: products.category type: label @@ -537,11 +541,7 @@ interactions: type: attribute - - id: products.category type: label - - id: revenue-clothing - type: metric - - - id: products.category - type: label - - id: revenue_and_quantity_by_product_and_category + - id: product_revenue_comparison-over_previous_period type: visualizationObject - - id: products.category type: label @@ -549,48 +549,48 @@ interactions: type: metric - - id: products.category type: label - - id: revenue_by_category_trend + - id: revenue_and_quantity_by_product_and_category type: visualizationObject - - id: products.category type: label - - id: top_10_products + - id: percent_revenue_per_product_by_customer_and_category type: visualizationObject - - id: products.category type: label - - id: product_breakdown + - id: product_categories_pie_chart type: visualizationObject - - id: products.category type: label - - id: revenue-outdoor + - id: revenue-clothing type: metric - - id: products.category type: label - - id: product_revenue_comparison-over_previous_period + - id: product_breakdown type: visualizationObject - - id: products.category type: label - - id: revenue-home - type: metric + - id: revenue_by_category_trend + type: visualizationObject - - id: region type: label - - id: percentage_of_customers_by_region - type: visualizationObject + - id: region + type: attribute - - id: region type: label - id: region_filter type: filterContext - - id: region type: label - - id: region - type: attribute - - - id: state - type: label - - id: state - type: attribute + - id: percentage_of_customers_by_region + type: visualizationObject - - id: state type: label - id: top_10_customers type: visualizationObject + - - id: state + type: label + - id: state + type: attribute - - id: type type: label - id: campaign_spend @@ -601,19 +601,15 @@ interactions: type: attribute - - id: amount_of_active_customers type: metric - - id: percentage_of_customers_by_region - type: visualizationObject + - id: amount_of_top_customers + type: metric - - id: amount_of_active_customers type: metric - id: customers_trend type: visualizationObject - - id: amount_of_active_customers type: metric - - id: amount_of_top_customers - type: metric - - - id: amount_of_orders - type: metric - - id: product_saleability + - id: percentage_of_customers_by_region type: visualizationObject - - id: amount_of_orders type: metric @@ -623,9 +619,13 @@ interactions: type: metric - id: amount_of_valid_orders type: metric + - - id: amount_of_orders + type: metric + - id: product_saleability + type: visualizationObject - - id: campaign_spend type: metric - - id: revenue_per_usd_vs_spend_by_campaign + - id: campaign_spend type: visualizationObject - - id: campaign_spend type: metric @@ -633,7 +633,7 @@ interactions: type: metric - - id: campaign_spend type: metric - - id: campaign_spend + - id: revenue_per_usd_vs_spend_by_campaign type: visualizationObject - - id: order_amount type: metric @@ -649,108 +649,108 @@ interactions: type: visualizationObject - - id: revenue type: metric - - id: total_revenue + - id: percent_revenue_per_product type: metric - - id: revenue type: metric - - id: percent_revenue_per_product_by_customer_and_category - type: visualizationObject - - - id: revenue + - id: revenue_per_customer type: metric - - id: revenue_and_quantity_by_product_and_category - type: visualizationObject - - id: revenue type: metric - - id: revenue-electronic + - id: amount_of_top_customers type: metric - - id: revenue type: metric - - id: amount_of_top_customers + - id: revenue_top_10_percent type: metric - - id: revenue type: metric - - id: percent_revenue + - id: percent_revenue_in_category type: metric - - id: revenue type: metric - - id: revenue_top_10_percent + - id: total_revenue type: metric - - id: revenue type: metric - - id: percent_revenue_from_top_10_customers - type: metric + - id: revenue_and_quantity_by_product_and_category + type: visualizationObject - - id: revenue type: metric - - id: revenue_per_dollar_spent + - id: revenue_top_10 type: metric - - id: revenue type: metric - - id: percent_revenue_from_top_10_products + - id: percent_revenue type: metric - - id: revenue type: metric - - id: percent_revenue_in_category + - id: percent_revenue_from_top_10_customers type: metric - - id: revenue type: metric - - id: revenue-home + - id: revenue-clothing type: metric - - id: revenue type: metric - - id: product_categories_pie_chart + - id: product_breakdown type: visualizationObject - - id: revenue type: metric - - id: revenue_top_10 + - id: revenue_by_category_trend + type: visualizationObject + - - id: revenue + type: metric + - id: revenue-home type: metric - - id: revenue type: metric - - id: revenue-clothing + - id: revenue-outdoor type: metric - - id: revenue type: metric - - id: revenue_by_category_trend - type: visualizationObject + - id: revenue_per_dollar_spent + type: metric - - id: revenue type: metric - - id: product_breakdown - type: visualizationObject + - id: percent_revenue_from_top_10_percent_products + type: metric - - id: revenue type: metric - - id: revenue_trend + - id: product_revenue_comparison-over_previous_period type: visualizationObject - - id: revenue type: metric - - id: percent_revenue_from_top_10_percent_products + - id: percent_revenue_from_top_10_products type: metric - - id: revenue type: metric - - id: revenue-outdoor + - id: revenue-electronic type: metric - - id: revenue type: metric - - id: revenue_per_customer + - id: percent_revenue_from_top_10_percent_customers type: metric - - id: revenue type: metric - - id: product_revenue_comparison-over_previous_period + - id: product_saleability type: visualizationObject - - id: revenue type: metric - - id: revenue_by_product + - id: percent_revenue_per_product_by_customer_and_category type: visualizationObject - - id: revenue type: metric - - id: product_saleability + - id: product_categories_pie_chart type: visualizationObject - - id: revenue type: metric - - id: percent_revenue_from_top_10_percent_customers - type: metric + - id: revenue_trend + type: visualizationObject - - id: revenue type: metric - - id: percent_revenue_per_product - type: metric + - id: revenue_by_product + type: visualizationObject - - id: revenue_per_customer type: metric - id: customers_trend @@ -761,19 +761,19 @@ interactions: type: visualizationObject - - id: revenue_top_10 type: metric - - id: percent_revenue_from_top_10_customers - type: metric + - id: top_10_customers + type: visualizationObject - - id: revenue_top_10 type: metric - id: top_10_products type: visualizationObject - - id: revenue_top_10 type: metric - - id: top_10_customers - type: visualizationObject + - id: percent_revenue_from_top_10_products + type: metric - - id: revenue_top_10 type: metric - - id: percent_revenue_from_top_10_products + - id: percent_revenue_from_top_10_customers type: metric - - id: revenue_top_10_percent type: metric diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_modify_ds_and_put_declarative_ldm.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_modify_ds_and_put_declarative_ldm.yaml index 8cecdbe8a..eebd8c8ae 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_modify_ds_and_put_declarative_ldm.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_modify_ds_and_put_declarative_ldm.yaml @@ -79,7 +79,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: c2209a05ba5c8994 + traceId: cce9e727b6f05231 - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces @@ -1773,17 +1773,6 @@ interactions: body: string: data: - - id: demo_west_california - type: workspace - attributes: - name: Demo West California - relationships: - parent: - data: - id: demo_west - type: workspace - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - id: demo_west type: workspace attributes: @@ -1795,18 +1784,29 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west - - id: demo_testing + - id: demo_west_california type: workspace attributes: - name: demo_testing + name: Demo West California + relationships: + parent: + data: + id: demo_west + type: workspace links: - self: http://localhost:3000/api/v1/entities/workspaces/demo_testing + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - id: demo type: workspace attributes: name: Demo links: self: http://localhost:3000/api/v1/entities/workspaces/demo + - id: demo_testing + type: workspace + attributes: + name: demo_testing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_testing included: - id: demo type: workspace diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_analytics_model.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_analytics_model.yaml index 1a72aeacc..7191dd28b 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_analytics_model.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_analytics_model.yaml @@ -79,7 +79,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: e57db53354109061 + traceId: a5aa895f113ebecc - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces @@ -847,7 +847,7 @@ interactions: string: '' - request: method: GET - uri: http://localhost:3000/api/v1/layout/workspaces/demo/analyticsModel + uri: http://localhost:3000/api/v1/layout/workspaces/demo/analyticsModel?exclude=ACTIVITY_INFO body: null headers: Accept: @@ -2382,7 +2382,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 7610ecf2-e15c-46c6-a1c0-97a513ff7b41 + oauthClientId: 0d6eee19-385e-477b-9fe2-1ca61a3b406c links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -3766,7 +3766,7 @@ interactions: string: '' - request: method: GET - uri: http://localhost:3000/api/v1/layout/workspaces/demo_testing/analyticsModel + uri: http://localhost:3000/api/v1/layout/workspaces/demo_testing/analyticsModel?exclude=ACTIVITY_INFO body: null headers: Accept: @@ -5227,17 +5227,6 @@ interactions: body: string: data: - - id: demo_west_california - type: workspace - attributes: - name: Demo West California - relationships: - parent: - data: - id: demo_west - type: workspace - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - id: demo_west type: workspace attributes: @@ -5249,18 +5238,29 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west - - id: demo_testing + - id: demo_west_california type: workspace attributes: - name: demo_testing + name: Demo West California + relationships: + parent: + data: + id: demo_west + type: workspace links: - self: http://localhost:3000/api/v1/entities/workspaces/demo_testing + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - id: demo type: workspace attributes: name: Demo links: self: http://localhost:3000/api/v1/entities/workspaces/demo + - id: demo_testing + type: workspace + attributes: + name: demo_testing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_testing included: - id: demo type: workspace diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_ldm.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_ldm.yaml index 7ea0df60d..0a8eb405b 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_ldm.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_ldm.yaml @@ -79,7 +79,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 4414675bf7f0556a + traceId: 13bc0bead7ed5b5e - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces @@ -657,7 +657,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 7610ecf2-e15c-46c6-a1c0-97a513ff7b41 + oauthClientId: 0d6eee19-385e-477b-9fe2-1ca61a3b406c links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -1412,17 +1412,6 @@ interactions: body: string: data: - - id: demo_west_california - type: workspace - attributes: - name: Demo West California - relationships: - parent: - data: - id: demo_west - type: workspace - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - id: demo_west type: workspace attributes: @@ -1434,18 +1423,29 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west - - id: demo_testing + - id: demo_west_california type: workspace attributes: - name: demo_testing + name: Demo West California + relationships: + parent: + data: + id: demo_west + type: workspace links: - self: http://localhost:3000/api/v1/entities/workspaces/demo_testing + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - id: demo type: workspace attributes: name: Demo links: self: http://localhost:3000/api/v1/entities/workspaces/demo + - id: demo_testing + type: workspace + attributes: + name: demo_testing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_testing included: - id: demo type: workspace diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_analytics_model.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_analytics_model.yaml index 27490a93c..1db9c109a 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_analytics_model.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_analytics_model.yaml @@ -79,7 +79,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 75f2456647a722d1 + traceId: 968d3dc0b7e6fd9d - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces @@ -1159,17 +1159,6 @@ interactions: body: string: data: - - id: demo_west_california - type: workspace - attributes: - name: Demo West California - relationships: - parent: - data: - id: demo_west - type: workspace - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - id: demo_west type: workspace attributes: @@ -1181,18 +1170,29 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west - - id: test_put_declarative_analytics_model + - id: demo_west_california type: workspace attributes: - name: test_put_declarative_analytics_model + name: Demo West California + relationships: + parent: + data: + id: demo_west + type: workspace links: - self: http://localhost:3000/api/v1/entities/workspaces/test_put_declarative_analytics_model + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - id: demo type: workspace attributes: name: Demo links: self: http://localhost:3000/api/v1/entities/workspaces/demo + - id: test_put_declarative_analytics_model + type: workspace + attributes: + name: test_put_declarative_analytics_model + links: + self: http://localhost:3000/api/v1/entities/workspaces/test_put_declarative_analytics_model included: - id: demo type: workspace diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_ldm.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_ldm.yaml index 58fbf25e9..bb89dab17 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_ldm.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_ldm.yaml @@ -79,7 +79,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: cca8342c7b435a4e + traceId: 653d2f987b71175a - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces @@ -1261,12 +1261,6 @@ interactions: body: string: data: - - id: test_put_declarative_ldm - type: workspace - attributes: - name: test_put_declarative_ldm - links: - self: http://localhost:3000/api/v1/entities/workspaces/test_put_declarative_ldm - id: demo_west type: workspace attributes: @@ -1295,6 +1289,12 @@ interactions: name: Demo links: self: http://localhost:3000/api/v1/entities/workspaces/demo + - id: test_put_declarative_ldm + type: workspace + attributes: + name: test_put_declarative_ldm + links: + self: http://localhost:3000/api/v1/entities/workspaces/test_put_declarative_ldm included: - id: demo type: workspace diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_analytics_model.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_analytics_model.yaml index 08e17cb99..195746cad 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_analytics_model.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_analytics_model.yaml @@ -74,7 +74,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '27629' + - '30797' body: string: analytics: @@ -127,6 +127,10 @@ interactions: drills: [] properties: {} version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: campaign title: Campaign @@ -162,6 +166,10 @@ interactions: type: dashboardPlugin version: '2' version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: dashboard_plugin title: Dashboard plugin - content: @@ -308,6 +316,10 @@ interactions: drills: [] properties: {} version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: product_and_category title: Product & Category @@ -315,12 +327,20 @@ interactions: - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_1 id: dashboard_plugin_1 title: dashboard_plugin_1 - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_2 id: dashboard_plugin_2 title: dashboard_plugin_2 @@ -366,81 +386,137 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_active_customers title: '# of Active Customers' - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_orders title: '# of Orders' - content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_top_customers title: '# of Top Customers' - content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: amount_of_valid_orders title: '# of Valid Orders' - content: format: $#,##0 maql: SELECT SUM({fact/spend}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: order_amount title: Order Amount - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue title: '% Revenue' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_in_category title: '% Revenue in Category' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product title: '% Revenue per Product' - content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: revenue title: Revenue @@ -448,54 +524,94 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-clothing title: Revenue (Clothing) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-electronic title: Revenue (Electronic) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-home title: Revenue (Home) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-outdoor title: Revenue (Outdoor) - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_customer title: Revenue per Customer - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_dollar_spent title: Revenue per Dollar Spent - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10 title: Revenue / Top 10 - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10_percent title: Revenue / Top 10% - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue title: Total Revenue - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue-no_filters title: Total Revenue (No Filters) visualizationObjects: @@ -557,6 +673,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: @@ -629,6 +749,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: customers_trend title: Customers Trend - content: @@ -704,6 +828,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' - content: @@ -759,6 +887,10 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percentage_of_customers_by_region title: Percentage of Customers by Region - content: @@ -812,6 +944,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_breakdown title: Product Breakdown - content: @@ -861,6 +997,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_categories_pie_chart title: Product Categories Pie Chart - content: @@ -932,6 +1072,10 @@ interactions: visible: false version: '2' visualizationUrl: local:column + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) - content: @@ -985,6 +1129,10 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_saleability title: Product Saleability - content: @@ -1080,6 +1228,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category - content: @@ -1132,6 +1284,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:line + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_category_trend title: Revenue by Category Trend - content: @@ -1167,6 +1323,10 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_product title: Revenue by Product - content: @@ -1219,6 +1379,10 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign - content: @@ -1283,6 +1447,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_trend title: Revenue Trend - content: @@ -1336,6 +1504,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_customers title: Top 10 Customers - content: @@ -1389,6 +1561,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_products title: Top 10 Products - request: @@ -1539,7 +1715,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 7610ecf2-e15c-46c6-a1c0-97a513ff7b41 + oauthClientId: 0d6eee19-385e-477b-9fe2-1ca61a3b406c links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -1614,7 +1790,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '27629' + - '30797' body: string: analytics: @@ -1667,6 +1843,10 @@ interactions: drills: [] properties: {} version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: campaign title: Campaign @@ -1702,6 +1882,10 @@ interactions: type: dashboardPlugin version: '2' version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: dashboard_plugin title: Dashboard plugin - content: @@ -1848,6 +2032,10 @@ interactions: drills: [] properties: {} version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: product_and_category title: Product & Category @@ -1855,12 +2043,20 @@ interactions: - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_1 id: dashboard_plugin_1 title: dashboard_plugin_1 - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_2 id: dashboard_plugin_2 title: dashboard_plugin_2 @@ -1906,81 +2102,137 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_active_customers title: '# of Active Customers' - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_orders title: '# of Orders' - content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_top_customers title: '# of Top Customers' - content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: amount_of_valid_orders title: '# of Valid Orders' - content: format: $#,##0 maql: SELECT SUM({fact/spend}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: order_amount title: Order Amount - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue title: '% Revenue' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_in_category title: '% Revenue in Category' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product title: '% Revenue per Product' - content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: revenue title: Revenue @@ -1988,54 +2240,94 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-clothing title: Revenue (Clothing) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-electronic title: Revenue (Electronic) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-home title: Revenue (Home) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-outdoor title: Revenue (Outdoor) - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_customer title: Revenue per Customer - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_dollar_spent title: Revenue per Dollar Spent - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10 title: Revenue / Top 10 - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10_percent title: Revenue / Top 10% - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue title: Total Revenue - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue-no_filters title: Total Revenue (No Filters) visualizationObjects: @@ -2097,6 +2389,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: @@ -2169,6 +2465,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: customers_trend title: Customers Trend - content: @@ -2244,6 +2544,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' - content: @@ -2299,6 +2603,10 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percentage_of_customers_by_region title: Percentage of Customers by Region - content: @@ -2352,6 +2660,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_breakdown title: Product Breakdown - content: @@ -2401,6 +2713,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_categories_pie_chart title: Product Categories Pie Chart - content: @@ -2472,6 +2788,10 @@ interactions: visible: false version: '2' visualizationUrl: local:column + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) - content: @@ -2525,6 +2845,10 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_saleability title: Product Saleability - content: @@ -2620,6 +2944,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category - content: @@ -2672,6 +3000,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:line + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_category_trend title: Revenue by Category Trend - content: @@ -2707,6 +3039,10 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_product title: Revenue by Product - content: @@ -2759,6 +3095,10 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign - content: @@ -2823,6 +3163,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_trend title: Revenue Trend - content: @@ -2876,6 +3220,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_customers title: Top 10 Customers - content: @@ -2929,6 +3277,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_products title: Top 10 Products - request: @@ -3079,6 +3431,6 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 7610ecf2-e15c-46c6-a1c0-97a513ff7b41 + oauthClientId: 0d6eee19-385e-477b-9fe2-1ca61a3b406c links: self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_ldm.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_ldm.yaml index 561a92f3a..ac4aa12c3 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_ldm.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_ldm.yaml @@ -492,7 +492,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 7610ecf2-e15c-46c6-a1c0-97a513ff7b41 + oauthClientId: 0d6eee19-385e-477b-9fe2-1ca61a3b406c links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -985,6 +985,6 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 7610ecf2-e15c-46c6-a1c0-97a513ff7b41 + oauthClientId: 0d6eee19-385e-477b-9fe2-1ca61a3b406c links: self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_clone_workspace.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_clone_workspace.yaml index c39aef15f..a14cb6ad3 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_clone_workspace.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_clone_workspace.yaml @@ -79,7 +79,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 983ed81022942a9e + traceId: 69e096f6dedbb516 - request: method: POST uri: http://localhost:3000/api/v1/entities/dataSources @@ -250,7 +250,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '32454' + - '35622' body: string: analytics: @@ -303,6 +303,10 @@ interactions: drills: [] properties: {} version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: campaign title: Campaign @@ -338,6 +342,10 @@ interactions: type: dashboardPlugin version: '2' version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: dashboard_plugin title: Dashboard plugin - content: @@ -484,6 +492,10 @@ interactions: drills: [] properties: {} version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: product_and_category title: Product & Category @@ -491,12 +503,20 @@ interactions: - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_1 id: dashboard_plugin_1 title: dashboard_plugin_1 - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_2 id: dashboard_plugin_2 title: dashboard_plugin_2 @@ -542,81 +562,137 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_active_customers title: '# of Active Customers' - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_orders title: '# of Orders' - content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_top_customers title: '# of Top Customers' - content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: amount_of_valid_orders title: '# of Valid Orders' - content: format: $#,##0 maql: SELECT SUM({fact/spend}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: order_amount title: Order Amount - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue title: '% Revenue' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_in_category title: '% Revenue in Category' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product title: '% Revenue per Product' - content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: revenue title: Revenue @@ -624,54 +700,94 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-clothing title: Revenue (Clothing) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-electronic title: Revenue (Electronic) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-home title: Revenue (Home) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-outdoor title: Revenue (Outdoor) - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_customer title: Revenue per Customer - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_dollar_spent title: Revenue per Dollar Spent - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10 title: Revenue / Top 10 - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10_percent title: Revenue / Top 10% - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue title: Total Revenue - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue-no_filters title: Total Revenue (No Filters) visualizationObjects: @@ -733,6 +849,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: @@ -805,6 +925,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: customers_trend title: Customers Trend - content: @@ -880,6 +1004,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' - content: @@ -935,6 +1063,10 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percentage_of_customers_by_region title: Percentage of Customers by Region - content: @@ -988,6 +1120,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_breakdown title: Product Breakdown - content: @@ -1037,6 +1173,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_categories_pie_chart title: Product Categories Pie Chart - content: @@ -1108,6 +1248,10 @@ interactions: visible: false version: '2' visualizationUrl: local:column + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) - content: @@ -1161,6 +1305,10 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_saleability title: Product Saleability - content: @@ -1256,6 +1404,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category - content: @@ -1308,6 +1460,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:line + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_category_trend title: Revenue by Category Trend - content: @@ -1343,6 +1499,10 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_product title: Revenue by Product - content: @@ -1395,6 +1555,10 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign - content: @@ -1459,6 +1623,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_trend title: Revenue Trend - content: @@ -1512,6 +1680,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_customers title: Top 10 Customers - content: @@ -1565,6 +1737,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_products title: Top 10 Products ldm: @@ -1991,7 +2167,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: e5c4d2012837866d + traceId: 954ec49651cf1d47 - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo_clone?include=workspaces @@ -2069,7 +2245,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: cfc24bdd6b3d6d14 + traceId: b7f0a4cedec41921 - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces @@ -2480,6 +2656,10 @@ interactions: id: campaign title: Campaign description: '' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: filterContextRef: identifier: @@ -2514,6 +2694,10 @@ interactions: version: '2' id: dashboard_plugin title: Dashboard plugin + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: filterContextRef: identifier: @@ -2661,6 +2845,10 @@ interactions: id: product_and_category title: Product & Category description: '' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user analyticalDashboardExtensions: [] dashboardPlugins: - content: @@ -2669,12 +2857,20 @@ interactions: id: dashboard_plugin_1 title: dashboard_plugin_1 description: Testing record dashboard_plugin_1 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: url: https://www.example.com version: '2' id: dashboard_plugin_2 title: dashboard_plugin_2 description: Testing record dashboard_plugin_2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user filterContexts: - content: filters: @@ -2719,17 +2915,29 @@ interactions: maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) id: amount_of_active_customers title: '# of Active Customers' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) id: amount_of_orders title: '# of Orders' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' id: amount_of_top_customers title: '# of Top Customers' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2737,56 +2945,96 @@ interactions: id: amount_of_valid_orders title: '# of Valid Orders' description: '' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT SUM({fact/spend}) id: campaign_spend title: Campaign Spend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) id: order_amount title: Order Amount + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} id: percent_revenue title: '% Revenue' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) id: percent_revenue_in_category title: '% Revenue in Category' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) id: percent_revenue_per_product title: '% Revenue per Product' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2794,57 +3042,101 @@ interactions: id: revenue title: Revenue description: '' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") id: revenue-clothing title: Revenue (Clothing) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") id: revenue-electronic title: Revenue (Electronic) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") id: revenue-home title: Revenue (Home) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") id: revenue-outdoor title: Revenue (Outdoor) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) id: revenue_per_customer title: Revenue per Customer + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} id: revenue_per_dollar_spent title: Revenue per Dollar Spent + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) id: revenue_top_10 title: Revenue / Top 10 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) id: revenue_top_10_percent title: Revenue / Top 10% + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER id: total_revenue title: Total Revenue + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER id: total_revenue-no_filters title: Total Revenue (No Filters) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user visualizationObjects: - content: buckets: @@ -2906,6 +3198,10 @@ interactions: visualizationUrl: local:treemap id: campaign_spend title: Campaign Spend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -2978,6 +3274,10 @@ interactions: visualizationUrl: local:combo2 id: customers_trend title: Customers Trend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3053,6 +3353,10 @@ interactions: visualizationUrl: local:table id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3108,6 +3412,10 @@ interactions: visualizationUrl: local:area id: percentage_of_customers_by_region title: Percentage of Customers by Region + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3161,6 +3469,10 @@ interactions: visualizationUrl: local:treemap id: product_breakdown title: Product Breakdown + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3210,6 +3522,10 @@ interactions: visualizationUrl: local:donut id: product_categories_pie_chart title: Product Categories Pie Chart + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3281,6 +3597,10 @@ interactions: visualizationUrl: local:column id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3334,6 +3654,10 @@ interactions: visualizationUrl: local:scatter id: product_saleability title: Product Saleability + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3429,6 +3753,10 @@ interactions: visualizationUrl: local:table id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3481,6 +3809,10 @@ interactions: visualizationUrl: local:line id: revenue_by_category_trend title: Revenue by Category Trend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3516,6 +3848,10 @@ interactions: visualizationUrl: local:bar id: revenue_by_product title: Revenue by Product + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3568,6 +3904,10 @@ interactions: visualizationUrl: local:scatter id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3632,6 +3972,10 @@ interactions: visualizationUrl: local:combo2 id: revenue_trend title: Revenue Trend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3685,6 +4029,10 @@ interactions: visualizationUrl: local:bar id: top_10_customers title: Top 10 Customers + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3738,6 +4086,10 @@ interactions: visualizationUrl: local:bar id: top_10_products title: Top 10 Products + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user headers: Accept-Encoding: - br, gzip, deflate @@ -4135,7 +4487,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '32474' + - '35642' body: string: analytics: @@ -4188,6 +4540,10 @@ interactions: drills: [] properties: {} version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: campaign title: Campaign @@ -4223,6 +4579,10 @@ interactions: type: dashboardPlugin version: '2' version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: dashboard_plugin title: Dashboard plugin - content: @@ -4369,6 +4729,10 @@ interactions: drills: [] properties: {} version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: product_and_category title: Product & Category @@ -4376,12 +4740,20 @@ interactions: - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_1 id: dashboard_plugin_1 title: dashboard_plugin_1 - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_2 id: dashboard_plugin_2 title: dashboard_plugin_2 @@ -4427,81 +4799,137 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_active_customers title: '# of Active Customers' - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_orders title: '# of Orders' - content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_top_customers title: '# of Top Customers' - content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: amount_of_valid_orders title: '# of Valid Orders' - content: format: $#,##0 maql: SELECT SUM({fact/spend}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: order_amount title: Order Amount - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue title: '% Revenue' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_in_category title: '% Revenue in Category' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product title: '% Revenue per Product' - content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: revenue title: Revenue @@ -4509,54 +4937,94 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-clothing title: Revenue (Clothing) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-electronic title: Revenue (Electronic) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-home title: Revenue (Home) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-outdoor title: Revenue (Outdoor) - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_customer title: Revenue per Customer - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_dollar_spent title: Revenue per Dollar Spent - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10 title: Revenue / Top 10 - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10_percent title: Revenue / Top 10% - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue title: Total Revenue - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue-no_filters title: Total Revenue (No Filters) visualizationObjects: @@ -4618,6 +5086,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: @@ -4690,6 +5162,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: customers_trend title: Customers Trend - content: @@ -4765,6 +5241,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' - content: @@ -4820,6 +5300,10 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percentage_of_customers_by_region title: Percentage of Customers by Region - content: @@ -4873,6 +5357,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_breakdown title: Product Breakdown - content: @@ -4922,6 +5410,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_categories_pie_chart title: Product Categories Pie Chart - content: @@ -4993,6 +5485,10 @@ interactions: visible: false version: '2' visualizationUrl: local:column + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) - content: @@ -5046,6 +5542,10 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_saleability title: Product Saleability - content: @@ -5141,6 +5641,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category - content: @@ -5193,6 +5697,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:line + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_category_trend title: Revenue by Category Trend - content: @@ -5228,6 +5736,10 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_product title: Revenue by Product - content: @@ -5280,6 +5792,10 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign - content: @@ -5344,6 +5860,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_trend title: Revenue Trend - content: @@ -5397,6 +5917,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_customers title: Top 10 Customers - content: @@ -5450,6 +5974,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_products title: Top 10 Products ldm: @@ -5791,7 +6319,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '32454' + - '35622' body: string: analytics: @@ -5844,6 +6372,10 @@ interactions: drills: [] properties: {} version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: campaign title: Campaign @@ -5879,6 +6411,10 @@ interactions: type: dashboardPlugin version: '2' version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: dashboard_plugin title: Dashboard plugin - content: @@ -6025,6 +6561,10 @@ interactions: drills: [] properties: {} version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: product_and_category title: Product & Category @@ -6032,12 +6572,20 @@ interactions: - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_1 id: dashboard_plugin_1 title: dashboard_plugin_1 - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_2 id: dashboard_plugin_2 title: dashboard_plugin_2 @@ -6083,81 +6631,137 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_active_customers title: '# of Active Customers' - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_orders title: '# of Orders' - content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_top_customers title: '# of Top Customers' - content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: amount_of_valid_orders title: '# of Valid Orders' - content: format: $#,##0 maql: SELECT SUM({fact/spend}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: order_amount title: Order Amount - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue title: '% Revenue' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_in_category title: '% Revenue in Category' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product title: '% Revenue per Product' - content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: revenue title: Revenue @@ -6165,54 +6769,94 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-clothing title: Revenue (Clothing) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-electronic title: Revenue (Electronic) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-home title: Revenue (Home) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-outdoor title: Revenue (Outdoor) - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_customer title: Revenue per Customer - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_dollar_spent title: Revenue per Dollar Spent - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10 title: Revenue / Top 10 - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10_percent title: Revenue / Top 10% - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue title: Total Revenue - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue-no_filters title: Total Revenue (No Filters) visualizationObjects: @@ -6274,6 +6918,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: @@ -6346,6 +6994,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: customers_trend title: Customers Trend - content: @@ -6421,6 +7073,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' - content: @@ -6476,6 +7132,10 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percentage_of_customers_by_region title: Percentage of Customers by Region - content: @@ -6529,6 +7189,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_breakdown title: Product Breakdown - content: @@ -6578,6 +7242,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_categories_pie_chart title: Product Categories Pie Chart - content: @@ -6649,6 +7317,10 @@ interactions: visible: false version: '2' visualizationUrl: local:column + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) - content: @@ -6702,6 +7374,10 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_saleability title: Product Saleability - content: @@ -6797,6 +7473,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category - content: @@ -6849,6 +7529,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:line + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_category_trend title: Revenue by Category Trend - content: @@ -6884,6 +7568,10 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_product title: Revenue by Product - content: @@ -6936,6 +7624,10 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign - content: @@ -7000,6 +7692,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_trend title: Revenue Trend - content: @@ -7053,6 +7749,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_customers title: Top 10 Customers - content: @@ -7106,6 +7806,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_products title: Top 10 Products ldm: @@ -7532,7 +8236,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: d479b7aa11cdee79 + traceId: fd33541f61cb208a - request: method: GET uri: http://localhost:3000/api/v1/entities/workspaces/demo_jacek?include=workspaces @@ -7610,7 +8314,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 385295821a1939ee + traceId: 739d60448dd8b9a7 - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces @@ -8021,6 +8725,10 @@ interactions: id: campaign title: Campaign description: '' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: filterContextRef: identifier: @@ -8055,6 +8763,10 @@ interactions: version: '2' id: dashboard_plugin title: Dashboard plugin + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: filterContextRef: identifier: @@ -8202,6 +8914,10 @@ interactions: id: product_and_category title: Product & Category description: '' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user analyticalDashboardExtensions: [] dashboardPlugins: - content: @@ -8210,12 +8926,20 @@ interactions: id: dashboard_plugin_1 title: dashboard_plugin_1 description: Testing record dashboard_plugin_1 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: url: https://www.example.com version: '2' id: dashboard_plugin_2 title: dashboard_plugin_2 description: Testing record dashboard_plugin_2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user filterContexts: - content: filters: @@ -8260,17 +8984,29 @@ interactions: maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) id: amount_of_active_customers title: '# of Active Customers' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) id: amount_of_orders title: '# of Orders' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' id: amount_of_top_customers title: '# of Top Customers' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -8278,56 +9014,96 @@ interactions: id: amount_of_valid_orders title: '# of Valid Orders' description: '' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT SUM({fact/spend}) id: campaign_spend title: Campaign Spend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) id: order_amount title: Order Amount + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} id: percent_revenue title: '% Revenue' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) id: percent_revenue_in_category title: '% Revenue in Category' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) id: percent_revenue_per_product title: '% Revenue per Product' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -8335,57 +9111,101 @@ interactions: id: revenue title: Revenue description: '' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") id: revenue-clothing title: Revenue (Clothing) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") id: revenue-electronic title: Revenue (Electronic) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") id: revenue-home title: Revenue (Home) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") id: revenue-outdoor title: Revenue (Outdoor) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) id: revenue_per_customer title: Revenue per Customer + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} id: revenue_per_dollar_spent title: Revenue per Dollar Spent + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) id: revenue_top_10 title: Revenue / Top 10 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) id: revenue_top_10_percent title: Revenue / Top 10% + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER id: total_revenue title: Total Revenue + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER id: total_revenue-no_filters title: Total Revenue (No Filters) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user visualizationObjects: - content: buckets: @@ -8447,6 +9267,10 @@ interactions: visualizationUrl: local:treemap id: campaign_spend title: Campaign Spend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -8519,6 +9343,10 @@ interactions: visualizationUrl: local:combo2 id: customers_trend title: Customers Trend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -8594,6 +9422,10 @@ interactions: visualizationUrl: local:table id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -8649,6 +9481,10 @@ interactions: visualizationUrl: local:area id: percentage_of_customers_by_region title: Percentage of Customers by Region + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -8702,6 +9538,10 @@ interactions: visualizationUrl: local:treemap id: product_breakdown title: Product Breakdown + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -8751,6 +9591,10 @@ interactions: visualizationUrl: local:donut id: product_categories_pie_chart title: Product Categories Pie Chart + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -8822,6 +9666,10 @@ interactions: visualizationUrl: local:column id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -8875,6 +9723,10 @@ interactions: visualizationUrl: local:scatter id: product_saleability title: Product Saleability + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -8970,6 +9822,10 @@ interactions: visualizationUrl: local:table id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -9022,6 +9878,10 @@ interactions: visualizationUrl: local:line id: revenue_by_category_trend title: Revenue by Category Trend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -9057,6 +9917,10 @@ interactions: visualizationUrl: local:bar id: revenue_by_product title: Revenue by Product + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -9109,6 +9973,10 @@ interactions: visualizationUrl: local:scatter id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -9173,6 +10041,10 @@ interactions: visualizationUrl: local:combo2 id: revenue_trend title: Revenue Trend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -9226,6 +10098,10 @@ interactions: visualizationUrl: local:bar id: top_10_customers title: Top 10 Customers + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -9279,6 +10155,10 @@ interactions: visualizationUrl: local:bar id: top_10_products title: Top 10 Products + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user headers: Accept-Encoding: - br, gzip, deflate @@ -9862,7 +10742,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '32454' + - '35622' body: string: analytics: @@ -9915,6 +10795,10 @@ interactions: drills: [] properties: {} version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: campaign title: Campaign @@ -9950,6 +10834,10 @@ interactions: type: dashboardPlugin version: '2' version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: dashboard_plugin title: Dashboard plugin - content: @@ -10096,6 +10984,10 @@ interactions: drills: [] properties: {} version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: product_and_category title: Product & Category @@ -10103,12 +10995,20 @@ interactions: - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_1 id: dashboard_plugin_1 title: dashboard_plugin_1 - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_2 id: dashboard_plugin_2 title: dashboard_plugin_2 @@ -10154,81 +11054,137 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_active_customers title: '# of Active Customers' - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_orders title: '# of Orders' - content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_top_customers title: '# of Top Customers' - content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: amount_of_valid_orders title: '# of Valid Orders' - content: format: $#,##0 maql: SELECT SUM({fact/spend}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: order_amount title: Order Amount - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue title: '% Revenue' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_in_category title: '% Revenue in Category' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product title: '% Revenue per Product' - content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: revenue title: Revenue @@ -10236,54 +11192,94 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-clothing title: Revenue (Clothing) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-electronic title: Revenue (Electronic) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-home title: Revenue (Home) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-outdoor title: Revenue (Outdoor) - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_customer title: Revenue per Customer - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_dollar_spent title: Revenue per Dollar Spent - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10 title: Revenue / Top 10 - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10_percent title: Revenue / Top 10% - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue title: Total Revenue - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue-no_filters title: Total Revenue (No Filters) visualizationObjects: @@ -10345,6 +11341,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: @@ -10417,6 +11417,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: customers_trend title: Customers Trend - content: @@ -10492,6 +11496,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' - content: @@ -10547,6 +11555,10 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percentage_of_customers_by_region title: Percentage of Customers by Region - content: @@ -10600,6 +11612,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_breakdown title: Product Breakdown - content: @@ -10649,6 +11665,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_categories_pie_chart title: Product Categories Pie Chart - content: @@ -10720,6 +11740,10 @@ interactions: visible: false version: '2' visualizationUrl: local:column + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) - content: @@ -10773,6 +11797,10 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_saleability title: Product Saleability - content: @@ -10868,6 +11896,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category - content: @@ -10920,6 +11952,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:line + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_category_trend title: Revenue by Category Trend - content: @@ -10955,6 +11991,10 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_product title: Revenue by Product - content: @@ -11007,6 +12047,10 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign - content: @@ -11071,6 +12115,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_trend title: Revenue Trend - content: @@ -11124,6 +12172,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_customers title: Top 10 Customers - content: @@ -11177,6 +12229,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_products title: Top 10 Products ldm: @@ -11929,6 +12985,10 @@ interactions: id: campaign title: Campaign description: '' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: filterContextRef: identifier: @@ -11963,6 +13023,10 @@ interactions: version: '2' id: dashboard_plugin title: Dashboard plugin + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: filterContextRef: identifier: @@ -12110,6 +13174,10 @@ interactions: id: product_and_category title: Product & Category description: '' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user analyticalDashboardExtensions: [] dashboardPlugins: - content: @@ -12118,12 +13186,20 @@ interactions: id: dashboard_plugin_1 title: dashboard_plugin_1 description: Testing record dashboard_plugin_1 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: url: https://www.example.com version: '2' id: dashboard_plugin_2 title: dashboard_plugin_2 description: Testing record dashboard_plugin_2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user filterContexts: - content: filters: @@ -12168,17 +13244,29 @@ interactions: maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) id: amount_of_active_customers title: '# of Active Customers' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) id: amount_of_orders title: '# of Orders' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' id: amount_of_top_customers title: '# of Top Customers' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -12186,56 +13274,96 @@ interactions: id: amount_of_valid_orders title: '# of Valid Orders' description: '' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT SUM({fact/spend}) id: campaign_spend title: Campaign Spend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) id: order_amount title: Order Amount + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} id: percent_revenue title: '% Revenue' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) id: percent_revenue_in_category title: '% Revenue in Category' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) id: percent_revenue_per_product title: '% Revenue per Product' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -12243,57 +13371,101 @@ interactions: id: revenue title: Revenue description: '' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") id: revenue-clothing title: Revenue (Clothing) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") id: revenue-electronic title: Revenue (Electronic) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") id: revenue-home title: Revenue (Home) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") id: revenue-outdoor title: Revenue (Outdoor) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) id: revenue_per_customer title: Revenue per Customer + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} id: revenue_per_dollar_spent title: Revenue per Dollar Spent + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) id: revenue_top_10 title: Revenue / Top 10 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) id: revenue_top_10_percent title: Revenue / Top 10% + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER id: total_revenue title: Total Revenue + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER id: total_revenue-no_filters title: Total Revenue (No Filters) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user visualizationObjects: - content: buckets: @@ -12355,6 +13527,10 @@ interactions: visualizationUrl: local:treemap id: campaign_spend title: Campaign Spend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -12427,6 +13603,10 @@ interactions: visualizationUrl: local:combo2 id: customers_trend title: Customers Trend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -12502,6 +13682,10 @@ interactions: visualizationUrl: local:table id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -12557,6 +13741,10 @@ interactions: visualizationUrl: local:area id: percentage_of_customers_by_region title: Percentage of Customers by Region + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -12610,6 +13798,10 @@ interactions: visualizationUrl: local:treemap id: product_breakdown title: Product Breakdown + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -12659,6 +13851,10 @@ interactions: visualizationUrl: local:donut id: product_categories_pie_chart title: Product Categories Pie Chart + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -12730,6 +13926,10 @@ interactions: visualizationUrl: local:column id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -12783,6 +13983,10 @@ interactions: visualizationUrl: local:scatter id: product_saleability title: Product Saleability + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -12878,6 +14082,10 @@ interactions: visualizationUrl: local:table id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -12930,6 +14138,10 @@ interactions: visualizationUrl: local:line id: revenue_by_category_trend title: Revenue by Category Trend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -12965,6 +14177,10 @@ interactions: visualizationUrl: local:bar id: revenue_by_product title: Revenue by Product + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -13017,6 +14233,10 @@ interactions: visualizationUrl: local:scatter id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -13081,6 +14301,10 @@ interactions: visualizationUrl: local:combo2 id: revenue_trend title: Revenue Trend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -13134,6 +14358,10 @@ interactions: visualizationUrl: local:bar id: top_10_customers title: Top 10 Customers + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -13187,6 +14415,10 @@ interactions: visualizationUrl: local:bar id: top_10_products title: Top 10 Products + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user headers: Accept-Encoding: - br, gzip, deflate @@ -13703,17 +14935,6 @@ interactions: body: string: data: - - id: demo_west_california - type: workspace - attributes: - name: Demo West California - relationships: - parent: - data: - id: demo_west - type: workspace - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - id: demo_west type: workspace attributes: @@ -13725,18 +14946,29 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west - - id: demo_jacek + - id: demo_west_california type: workspace attributes: - name: Deno Jacek + name: Demo West California + relationships: + parent: + data: + id: demo_west + type: workspace links: - self: http://localhost:3000/api/v1/entities/workspaces/demo_jacek + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - id: demo type: workspace attributes: name: Demo links: self: http://localhost:3000/api/v1/entities/workspaces/demo + - id: demo_jacek + type: workspace + attributes: + name: Deno Jacek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_jacek included: - id: demo type: workspace diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.yaml index 9bace80f3..687a1da70 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.yaml @@ -76,6 +76,12 @@ interactions: body: string: data: + - id: demo + type: workspace + attributes: + name: Demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo - id: demo_west type: workspace attributes: @@ -98,12 +104,6 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - - id: demo - type: workspace - attributes: - name: Demo - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo included: - id: demo type: workspace @@ -197,7 +197,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: ab422c7f9f4352b7 + traceId: 30e4ec233144197c - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces @@ -364,17 +364,12 @@ interactions: body: string: data: - - id: test + - id: demo type: workspace attributes: - name: Test - relationships: - parent: - data: - id: demo - type: workspace + name: Demo links: - self: http://localhost:3000/api/v1/entities/workspaces/test + self: http://localhost:3000/api/v1/entities/workspaces/demo - id: demo_west type: workspace attributes: @@ -397,12 +392,17 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - - id: demo + - id: test type: workspace attributes: - name: Demo + name: Test + relationships: + parent: + data: + id: demo + type: workspace links: - self: http://localhost:3000/api/v1/entities/workspaces/demo + self: http://localhost:3000/api/v1/entities/workspaces/test included: - id: demo type: workspace @@ -585,17 +585,12 @@ interactions: body: string: data: - - id: test + - id: demo type: workspace attributes: - name: Test - relationships: - parent: - data: - id: demo - type: workspace + name: Demo links: - self: http://localhost:3000/api/v1/entities/workspaces/test + self: http://localhost:3000/api/v1/entities/workspaces/demo - id: demo_west type: workspace attributes: @@ -618,12 +613,17 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - - id: demo + - id: test type: workspace attributes: - name: Demo + name: Test + relationships: + parent: + data: + id: demo + type: workspace links: - self: http://localhost:3000/api/v1/entities/workspaces/demo + self: http://localhost:3000/api/v1/entities/workspaces/test included: - id: demo type: workspace @@ -781,6 +781,12 @@ interactions: body: string: data: + - id: demo + type: workspace + attributes: + name: Demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo - id: demo_west type: workspace attributes: @@ -803,12 +809,6 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - - id: demo - type: workspace - attributes: - name: Demo - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo included: - id: demo type: workspace diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_declarative_workspaces.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_declarative_workspaces.yaml index eeb958c1c..038662aad 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_declarative_workspaces.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_declarative_workspaces.yaml @@ -3,7 +3,7 @@ version: 1 interactions: - request: method: GET - uri: http://localhost:3000/api/v1/layout/workspaces + uri: http://localhost:3000/api/v1/layout/workspaces?exclude=ACTIVITY_INFO body: null headers: Accept: @@ -74,7 +74,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '34285' + - '34401' body: string: workspaceDataFilters: @@ -1640,6 +1640,11 @@ interactions: tags: - Order lines title: Order lines + workspaceDataFilterColumns: + - dataType: STRING + name: wdf__region + - dataType: STRING + name: wdf__state - attributes: - description: Product id id: product_id @@ -1757,7 +1762,7 @@ interactions: userDataFilters: [] - request: method: GET - uri: http://localhost:3000/api/v1/layout/workspaces + uri: http://localhost:3000/api/v1/layout/workspaces?exclude=ACTIVITY_INFO body: null headers: Accept: @@ -1827,7 +1832,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '34285' + - '34401' body: string: workspaceDataFilters: @@ -3393,6 +3398,11 @@ interactions: tags: - Order lines title: Order lines + workspaceDataFilterColumns: + - dataType: STRING + name: wdf__region + - dataType: STRING + name: wdf__state - attributes: - description: Product id id: product_id diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_non_existing_workspace.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_non_existing_workspace.yaml index a2f0144b9..ddd259adb 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_non_existing_workspace.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_non_existing_workspace.yaml @@ -76,6 +76,12 @@ interactions: body: string: data: + - id: demo + type: workspace + attributes: + name: Demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo - id: demo_west type: workspace attributes: @@ -98,12 +104,6 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - - id: demo - type: workspace - attributes: - name: Demo - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo included: - id: demo type: workspace @@ -194,6 +194,12 @@ interactions: body: string: data: + - id: demo + type: workspace + attributes: + name: Demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo - id: demo_west type: workspace attributes: @@ -216,12 +222,6 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - - id: demo - type: workspace - attributes: - name: Demo - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo included: - id: demo type: workspace @@ -312,6 +312,12 @@ interactions: body: string: data: + - id: demo + type: workspace + attributes: + name: Demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo - id: demo_west type: workspace attributes: @@ -334,12 +340,6 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - - id: demo - type: workspace - attributes: - name: Demo - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo included: - id: demo type: workspace diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_parent_workspace.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_parent_workspace.yaml index a2f0144b9..ddd259adb 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_parent_workspace.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_parent_workspace.yaml @@ -76,6 +76,12 @@ interactions: body: string: data: + - id: demo + type: workspace + attributes: + name: Demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo - id: demo_west type: workspace attributes: @@ -98,12 +104,6 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - - id: demo - type: workspace - attributes: - name: Demo - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo included: - id: demo type: workspace @@ -194,6 +194,12 @@ interactions: body: string: data: + - id: demo + type: workspace + attributes: + name: Demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo - id: demo_west type: workspace attributes: @@ -216,12 +222,6 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - - id: demo - type: workspace - attributes: - name: Demo - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo included: - id: demo type: workspace @@ -312,6 +312,12 @@ interactions: body: string: data: + - id: demo + type: workspace + attributes: + name: Demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo - id: demo_west type: workspace attributes: @@ -334,12 +340,6 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - - id: demo - type: workspace - attributes: - name: Demo - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo included: - id: demo type: workspace diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_workspace.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_workspace.yaml index ca4b8da36..3b8a4606b 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_workspace.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_workspace.yaml @@ -76,17 +76,12 @@ interactions: body: string: data: - - id: demo_west + - id: demo type: workspace attributes: - name: Demo West - relationships: - parent: - data: - id: demo - type: workspace + name: Demo links: - self: http://localhost:3000/api/v1/entities/workspaces/demo_west + self: http://localhost:3000/api/v1/entities/workspaces/demo - id: demo_west_california type: workspace attributes: @@ -98,12 +93,17 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - - id: demo + - id: demo_west type: workspace attributes: - name: Demo + name: Demo West + relationships: + parent: + data: + id: demo + type: workspace links: - self: http://localhost:3000/api/v1/entities/workspaces/demo + self: http://localhost:3000/api/v1/entities/workspaces/demo_west included: - id: demo type: workspace @@ -194,17 +194,12 @@ interactions: body: string: data: - - id: demo_west + - id: demo type: workspace attributes: - name: Demo West - relationships: - parent: - data: - id: demo - type: workspace + name: Demo links: - self: http://localhost:3000/api/v1/entities/workspaces/demo_west + self: http://localhost:3000/api/v1/entities/workspaces/demo - id: demo_west_california type: workspace attributes: @@ -216,12 +211,17 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - - id: demo + - id: demo_west type: workspace attributes: - name: Demo + name: Demo West + relationships: + parent: + data: + id: demo + type: workspace links: - self: http://localhost:3000/api/v1/entities/workspaces/demo + self: http://localhost:3000/api/v1/entities/workspaces/demo_west included: - id: demo type: workspace @@ -379,6 +379,12 @@ interactions: body: string: data: + - id: demo + type: workspace + attributes: + name: Demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo - id: demo_west type: workspace attributes: @@ -390,12 +396,6 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west - - id: demo - type: workspace - attributes: - name: Demo - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo included: - id: demo type: workspace @@ -554,7 +554,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 7610ecf2-e15c-46c6-a1c0-97a513ff7b41 + oauthClientId: 0d6eee19-385e-477b-9fe2-1ca61a3b406c links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -2377,6 +2377,12 @@ interactions: body: string: data: + - id: demo + type: workspace + attributes: + name: Demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo - id: demo_west type: workspace attributes: @@ -2399,12 +2405,6 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - - id: demo - type: workspace - attributes: - name: Demo - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo included: - id: demo type: workspace diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace.yaml index 012dfbf82..b66b45097 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace.yaml @@ -3,7 +3,7 @@ version: 1 interactions: - request: method: GET - uri: http://localhost:3000/api/v1/layout/workspaces/demo + uri: http://localhost:3000/api/v1/layout/workspaces/demo?exclude=ACTIVITY_INFO body: null headers: Accept: @@ -74,7 +74,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '32454' + - '32570' body: string: analytics: @@ -86,46 +86,46 @@ interactions: id: campaign_name_filter type: filterContext layout: + type: IDashboardLayout sections: - - header: + - type: IDashboardLayoutSection + header: + title: Spend breakdown and Revenue description: The first insight shows a breakdown of spend by category and campaign. The second shows revenue per $ spend, for each campaign, to demonstrate, how campaigns are successful. - title: Spend breakdown and Revenue items: - - size: + - type: IDashboardLayoutItem + size: xl: gridWidth: 6 - type: IDashboardLayoutItem widget: + type: insight + title: Campaign Spend description: '' - drills: [] ignoreDashboardFilters: [] insight: identifier: id: campaign_spend type: visualizationObject + drills: [] properties: {} - title: Campaign Spend - type: insight - - size: + - type: IDashboardLayoutItem + size: xl: gridWidth: 6 - type: IDashboardLayoutItem widget: + type: insight + title: Revenue per $ vs Spend by Campaign description: '' - drills: [] ignoreDashboardFilters: [] insight: identifier: id: revenue_per_usd_vs_spend_by_campaign type: visualizationObject + drills: [] properties: {} - title: Revenue per $ vs Spend by Campaign - type: insight - type: IDashboardLayoutSection - type: IDashboardLayout version: '2' description: '' id: campaign @@ -170,143 +170,143 @@ interactions: id: region_filter type: filterContext layout: + type: IDashboardLayout sections: - - items: - - size: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: xl: gridWidth: 6 - type: IDashboardLayoutItem widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] dateDataSet: identifier: id: date type: dataset - description: '' - drills: [] - ignoreDashboardFilters: [] insight: identifier: id: top_10_products type: visualizationObject + drills: [] properties: {} - title: Top 10 Products - type: insight - - size: + - type: IDashboardLayoutItem + size: xl: gridWidth: 6 - type: IDashboardLayoutItem widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] dateDataSet: identifier: id: date type: dataset - description: '' - drills: [] - ignoreDashboardFilters: [] insight: identifier: id: revenue_trend type: visualizationObject + drills: [] properties: {} - title: Revenue Trend - type: insight - - size: + - type: IDashboardLayoutItem + size: xl: gridWidth: 6 - type: IDashboardLayoutItem widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] dateDataSet: identifier: id: date type: dataset - description: '' - drills: [] - ignoreDashboardFilters: [] insight: identifier: id: customers_trend type: visualizationObject + drills: [] properties: {} - title: Customers Trend - type: insight - - size: + - type: IDashboardLayoutItem + size: xl: gridWidth: 6 - type: IDashboardLayoutItem widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] dateDataSet: identifier: id: date type: dataset - description: '' - drills: [] - ignoreDashboardFilters: [] insight: identifier: id: product_categories_pie_chart type: visualizationObject + drills: [] properties: {} - title: Product Categories Pie Chart - type: insight - - size: + - type: IDashboardLayoutItem + size: xl: gridWidth: 6 - type: IDashboardLayoutItem widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] dateDataSet: identifier: id: date type: dataset - description: '' - drills: [] - ignoreDashboardFilters: [] insight: identifier: id: product_breakdown type: visualizationObject + drills: [] properties: {} - title: Product Breakdown - type: insight - - size: + - type: IDashboardLayoutItem + size: xl: gridWidth: 6 - type: IDashboardLayoutItem widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] dateDataSet: identifier: id: date type: dataset - description: '' - drills: [] - ignoreDashboardFilters: [] insight: identifier: id: product_saleability type: visualizationObject + drills: [] properties: {} - title: Product Saleability - type: insight - - size: + - type: IDashboardLayoutItem + size: xl: gridWidth: 12 - type: IDashboardLayoutItem widget: + type: insight + title: '% Revenue per Product by Customer and Category' + description: '' + ignoreDashboardFilters: [] dateDataSet: identifier: id: date type: dataset - description: '' - drills: [] - ignoreDashboardFilters: [] insight: identifier: id: percent_revenue_per_product_by_customer_and_category type: visualizationObject + drills: [] properties: {} - title: '% Revenue per Product by Customer and Category' - type: insight - type: IDashboardLayoutSection - type: IDashboardLayout version: '2' description: '' id: product_and_category @@ -329,19 +329,19 @@ interactions: filters: - dateFilter: from: '0' - granularity: GDC.time.month to: '0' + granularity: GDC.time.month type: relative - attributeFilter: - attributeElements: - uris: [] displayForm: identifier: id: campaign_name type: label - filterElementsBy: [] - localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] version: '2' description: '' id: campaign_name_filter @@ -349,15 +349,15 @@ interactions: - content: filters: - attributeFilter: - attributeElements: - uris: [] displayForm: identifier: id: region type: label - filterElementsBy: [] - localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] version: '2' description: '' id: region_filter @@ -826,9 +826,9 @@ interactions: identifier: id: revenue type: metric - format: '#,##0.00%' localIdentifier: 162b857af49d45769bc12604a5c192b9 title: '% Revenue' + format: '#,##0.00%' localIdentifier: measures - items: - attribute: @@ -1597,6 +1597,11 @@ interactions: tags: - Order lines title: Order lines + workspaceDataFilterColumns: + - dataType: STRING + name: wdf__region + - dataType: STRING + name: wdf__state - attributes: - description: Product id id: product_id @@ -1660,7 +1665,7 @@ interactions: title: Date - request: method: GET - uri: http://localhost:3000/api/v1/layout/workspaces/demo + uri: http://localhost:3000/api/v1/layout/workspaces/demo?exclude=ACTIVITY_INFO body: null headers: Accept: @@ -1730,7 +1735,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '32454' + - '32570' body: string: analytics: @@ -1742,46 +1747,46 @@ interactions: id: campaign_name_filter type: filterContext layout: + type: IDashboardLayout sections: - - header: + - type: IDashboardLayoutSection + header: + title: Spend breakdown and Revenue description: The first insight shows a breakdown of spend by category and campaign. The second shows revenue per $ spend, for each campaign, to demonstrate, how campaigns are successful. - title: Spend breakdown and Revenue items: - - size: + - type: IDashboardLayoutItem + size: xl: gridWidth: 6 - type: IDashboardLayoutItem widget: + type: insight + title: Campaign Spend description: '' - drills: [] ignoreDashboardFilters: [] insight: identifier: id: campaign_spend type: visualizationObject + drills: [] properties: {} - title: Campaign Spend - type: insight - - size: + - type: IDashboardLayoutItem + size: xl: gridWidth: 6 - type: IDashboardLayoutItem widget: + type: insight + title: Revenue per $ vs Spend by Campaign description: '' - drills: [] ignoreDashboardFilters: [] insight: identifier: id: revenue_per_usd_vs_spend_by_campaign type: visualizationObject + drills: [] properties: {} - title: Revenue per $ vs Spend by Campaign - type: insight - type: IDashboardLayoutSection - type: IDashboardLayout version: '2' description: '' id: campaign @@ -1826,143 +1831,143 @@ interactions: id: region_filter type: filterContext layout: + type: IDashboardLayout sections: - - items: - - size: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: xl: gridWidth: 6 - type: IDashboardLayoutItem widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] dateDataSet: identifier: id: date type: dataset - description: '' - drills: [] - ignoreDashboardFilters: [] insight: identifier: id: top_10_products type: visualizationObject + drills: [] properties: {} - title: Top 10 Products - type: insight - - size: + - type: IDashboardLayoutItem + size: xl: gridWidth: 6 - type: IDashboardLayoutItem widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] dateDataSet: identifier: id: date type: dataset - description: '' - drills: [] - ignoreDashboardFilters: [] insight: identifier: id: revenue_trend type: visualizationObject + drills: [] properties: {} - title: Revenue Trend - type: insight - - size: + - type: IDashboardLayoutItem + size: xl: gridWidth: 6 - type: IDashboardLayoutItem widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] dateDataSet: identifier: id: date type: dataset - description: '' - drills: [] - ignoreDashboardFilters: [] insight: identifier: id: customers_trend type: visualizationObject + drills: [] properties: {} - title: Customers Trend - type: insight - - size: + - type: IDashboardLayoutItem + size: xl: gridWidth: 6 - type: IDashboardLayoutItem widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] dateDataSet: identifier: id: date type: dataset - description: '' - drills: [] - ignoreDashboardFilters: [] insight: identifier: id: product_categories_pie_chart type: visualizationObject + drills: [] properties: {} - title: Product Categories Pie Chart - type: insight - - size: + - type: IDashboardLayoutItem + size: xl: gridWidth: 6 - type: IDashboardLayoutItem widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] dateDataSet: identifier: id: date type: dataset - description: '' - drills: [] - ignoreDashboardFilters: [] insight: identifier: id: product_breakdown type: visualizationObject + drills: [] properties: {} - title: Product Breakdown - type: insight - - size: + - type: IDashboardLayoutItem + size: xl: gridWidth: 6 - type: IDashboardLayoutItem widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] dateDataSet: identifier: id: date type: dataset - description: '' - drills: [] - ignoreDashboardFilters: [] insight: identifier: id: product_saleability type: visualizationObject + drills: [] properties: {} - title: Product Saleability - type: insight - - size: + - type: IDashboardLayoutItem + size: xl: gridWidth: 12 - type: IDashboardLayoutItem widget: + type: insight + title: '% Revenue per Product by Customer and Category' + description: '' + ignoreDashboardFilters: [] dateDataSet: identifier: id: date type: dataset - description: '' - drills: [] - ignoreDashboardFilters: [] insight: identifier: id: percent_revenue_per_product_by_customer_and_category type: visualizationObject + drills: [] properties: {} - title: '% Revenue per Product by Customer and Category' - type: insight - type: IDashboardLayoutSection - type: IDashboardLayout version: '2' description: '' id: product_and_category @@ -1985,19 +1990,19 @@ interactions: filters: - dateFilter: from: '0' - granularity: GDC.time.month to: '0' + granularity: GDC.time.month type: relative - attributeFilter: - attributeElements: - uris: [] displayForm: identifier: id: campaign_name type: label - filterElementsBy: [] - localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] version: '2' description: '' id: campaign_name_filter @@ -2005,15 +2010,15 @@ interactions: - content: filters: - attributeFilter: - attributeElements: - uris: [] displayForm: identifier: id: region type: label - filterElementsBy: [] - localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] version: '2' description: '' id: region_filter @@ -2482,9 +2487,9 @@ interactions: identifier: id: revenue type: metric - format: '#,##0.00%' localIdentifier: 162b857af49d45769bc12604a5c192b9 title: '% Revenue' + format: '#,##0.00%' localIdentifier: measures - items: - attribute: @@ -3253,6 +3258,11 @@ interactions: tags: - Order lines title: Order lines + workspaceDataFilterColumns: + - dataType: STRING + name: wdf__region + - dataType: STRING + name: wdf__state - attributes: - description: Product id id: product_id diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces.yaml index 06c9b17ca..79dcc137f 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces.yaml @@ -3,7 +3,7 @@ version: 1 interactions: - request: method: GET - uri: http://localhost:3000/api/v1/layout/workspaces + uri: http://localhost:3000/api/v1/layout/workspaces?exclude=ACTIVITY_INFO body: null headers: Accept: diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces_snake_case.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces_snake_case.yaml index 06c9b17ca..79dcc137f 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces_snake_case.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces_snake_case.yaml @@ -3,7 +3,7 @@ version: 1 interactions: - request: method: GET - uri: http://localhost:3000/api/v1/layout/workspaces + uri: http://localhost:3000/api/v1/layout/workspaces?exclude=ACTIVITY_INFO body: null headers: Accept: diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_user_data_filters.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_user_data_filters.yaml index 5a62a0ef6..6beb26c96 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_user_data_filters.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_user_data_filters.yaml @@ -372,7 +372,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 7610ecf2-e15c-46c6-a1c0-97a513ff7b41 + oauthClientId: 0d6eee19-385e-477b-9fe2-1ca61a3b406c links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace.yaml index 52afa1323..73606bb1a 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace.yaml @@ -74,7 +74,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '32454' + - '35622' body: string: analytics: @@ -127,6 +127,10 @@ interactions: type: IDashboardLayoutSection type: IDashboardLayout version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: campaign title: Campaign @@ -162,6 +166,10 @@ interactions: type: dashboardPlugin version: '2' version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: dashboard_plugin title: Dashboard plugin - content: @@ -308,6 +316,10 @@ interactions: type: IDashboardLayoutSection type: IDashboardLayout version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: product_and_category title: Product & Category @@ -315,12 +327,20 @@ interactions: - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_1 id: dashboard_plugin_1 title: dashboard_plugin_1 - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_2 id: dashboard_plugin_2 title: dashboard_plugin_2 @@ -366,81 +386,137 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_active_customers title: '# of Active Customers' - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_orders title: '# of Orders' - content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_top_customers title: '# of Top Customers' - content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: amount_of_valid_orders title: '# of Valid Orders' - content: format: $#,##0 maql: SELECT SUM({fact/spend}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: order_amount title: Order Amount - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue title: '% Revenue' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_in_category title: '% Revenue in Category' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product title: '% Revenue per Product' - content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: revenue title: Revenue @@ -448,54 +524,94 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-clothing title: Revenue (Clothing) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-electronic title: Revenue (Electronic) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-home title: Revenue (Home) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-outdoor title: Revenue (Outdoor) - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_customer title: Revenue per Customer - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_dollar_spent title: Revenue per Dollar Spent - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10 title: Revenue / Top 10 - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10_percent title: Revenue / Top 10% - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue title: Total Revenue - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue-no_filters title: Total Revenue (No Filters) visualizationObjects: @@ -557,6 +673,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: @@ -629,6 +749,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: customers_trend title: Customers Trend - content: @@ -704,6 +828,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' - content: @@ -759,6 +887,10 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percentage_of_customers_by_region title: Percentage of Customers by Region - content: @@ -812,6 +944,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_breakdown title: Product Breakdown - content: @@ -861,6 +997,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_categories_pie_chart title: Product Categories Pie Chart - content: @@ -932,6 +1072,10 @@ interactions: visible: false version: '2' visualizationUrl: local:column + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) - content: @@ -985,6 +1129,10 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_saleability title: Product Saleability - content: @@ -1080,6 +1228,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category - content: @@ -1132,6 +1284,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:line + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_category_trend title: Revenue by Category Trend - content: @@ -1167,6 +1323,10 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_product title: Revenue by Product - content: @@ -1219,6 +1379,10 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign - content: @@ -1283,6 +1447,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_trend title: Revenue Trend - content: @@ -1336,6 +1504,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_customers title: Top 10 Customers - content: @@ -1389,6 +1561,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_products title: Top 10 Products ldm: @@ -1960,7 +2136,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 7610ecf2-e15c-46c6-a1c0-97a513ff7b41 + oauthClientId: 0d6eee19-385e-477b-9fe2-1ca61a3b406c links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -3681,7 +3857,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '32454' + - '35622' body: string: analytics: @@ -3734,6 +3910,10 @@ interactions: type: IDashboardLayoutSection type: IDashboardLayout version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: campaign title: Campaign @@ -3769,6 +3949,10 @@ interactions: type: dashboardPlugin version: '2' version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: dashboard_plugin title: Dashboard plugin - content: @@ -3915,6 +4099,10 @@ interactions: type: IDashboardLayoutSection type: IDashboardLayout version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: product_and_category title: Product & Category @@ -3922,12 +4110,20 @@ interactions: - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_1 id: dashboard_plugin_1 title: dashboard_plugin_1 - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_2 id: dashboard_plugin_2 title: dashboard_plugin_2 @@ -3973,81 +4169,137 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_active_customers title: '# of Active Customers' - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_orders title: '# of Orders' - content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_top_customers title: '# of Top Customers' - content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: amount_of_valid_orders title: '# of Valid Orders' - content: format: $#,##0 maql: SELECT SUM({fact/spend}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: order_amount title: Order Amount - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue title: '% Revenue' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_in_category title: '% Revenue in Category' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product title: '% Revenue per Product' - content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: revenue title: Revenue @@ -4055,54 +4307,94 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-clothing title: Revenue (Clothing) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-electronic title: Revenue (Electronic) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-home title: Revenue (Home) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-outdoor title: Revenue (Outdoor) - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_customer title: Revenue per Customer - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_dollar_spent title: Revenue per Dollar Spent - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10 title: Revenue / Top 10 - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10_percent title: Revenue / Top 10% - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue title: Total Revenue - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue-no_filters title: Total Revenue (No Filters) visualizationObjects: @@ -4164,6 +4456,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: @@ -4236,6 +4532,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: customers_trend title: Customers Trend - content: @@ -4311,6 +4611,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' - content: @@ -4366,6 +4670,10 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percentage_of_customers_by_region title: Percentage of Customers by Region - content: @@ -4419,6 +4727,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_breakdown title: Product Breakdown - content: @@ -4468,6 +4780,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_categories_pie_chart title: Product Categories Pie Chart - content: @@ -4539,6 +4855,10 @@ interactions: visible: false version: '2' visualizationUrl: local:column + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) - content: @@ -4592,6 +4912,10 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_saleability title: Product Saleability - content: @@ -4687,6 +5011,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category - content: @@ -4739,6 +5067,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:line + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_category_trend title: Revenue by Category Trend - content: @@ -4774,6 +5106,10 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_product title: Revenue by Product - content: @@ -4826,6 +5162,10 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign - content: @@ -4890,6 +5230,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_trend title: Revenue Trend - content: @@ -4943,6 +5287,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_customers title: Top 10 Customers - content: @@ -4996,6 +5344,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_products title: Top 10 Products ldm: diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace_data_filters.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace_data_filters.yaml index d2f847c69..a00cb8fc5 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace_data_filters.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace_data_filters.yaml @@ -400,7 +400,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 7610ecf2-e15c-46c6-a1c0-97a513ff7b41 + oauthClientId: 0d6eee19-385e-477b-9fe2-1ca61a3b406c links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspaces.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspaces.yaml index a9a21fd6c..e7af9fa35 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspaces.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspaces.yaml @@ -298,7 +298,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 7610ecf2-e15c-46c6-a1c0-97a513ff7b41 + oauthClientId: 0d6eee19-385e-477b-9fe2-1ca61a3b406c links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -2049,7 +2049,7 @@ interactions: string: '' - request: method: GET - uri: http://localhost:3000/api/v1/layout/workspaces + uri: http://localhost:3000/api/v1/layout/workspaces?exclude=ACTIVITY_INFO body: null headers: Accept: diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.yaml index 3850b97f0..aae096ca3 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.yaml @@ -79,7 +79,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 47df4b11c221c1f9 + traceId: d19db07acdee569f - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces @@ -239,7 +239,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '32454' + - '35622' body: string: analytics: @@ -292,6 +292,10 @@ interactions: type: IDashboardLayoutSection type: IDashboardLayout version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: campaign title: Campaign @@ -327,6 +331,10 @@ interactions: type: dashboardPlugin version: '2' version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: dashboard_plugin title: Dashboard plugin - content: @@ -473,6 +481,10 @@ interactions: type: IDashboardLayoutSection type: IDashboardLayout version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: product_and_category title: Product & Category @@ -480,12 +492,20 @@ interactions: - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_1 id: dashboard_plugin_1 title: dashboard_plugin_1 - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_2 id: dashboard_plugin_2 title: dashboard_plugin_2 @@ -531,81 +551,137 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_active_customers title: '# of Active Customers' - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_orders title: '# of Orders' - content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_top_customers title: '# of Top Customers' - content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: amount_of_valid_orders title: '# of Valid Orders' - content: format: $#,##0 maql: SELECT SUM({fact/spend}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: order_amount title: Order Amount - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue title: '% Revenue' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_in_category title: '% Revenue in Category' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product title: '% Revenue per Product' - content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: revenue title: Revenue @@ -613,54 +689,94 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-clothing title: Revenue (Clothing) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-electronic title: Revenue (Electronic) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-home title: Revenue (Home) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-outdoor title: Revenue (Outdoor) - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_customer title: Revenue per Customer - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_dollar_spent title: Revenue per Dollar Spent - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10 title: Revenue / Top 10 - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10_percent title: Revenue / Top 10% - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue title: Total Revenue - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue-no_filters title: Total Revenue (No Filters) visualizationObjects: @@ -722,6 +838,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: @@ -794,6 +914,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: customers_trend title: Customers Trend - content: @@ -869,6 +993,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' - content: @@ -924,6 +1052,10 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percentage_of_customers_by_region title: Percentage of Customers by Region - content: @@ -977,6 +1109,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_breakdown title: Product Breakdown - content: @@ -1026,6 +1162,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_categories_pie_chart title: Product Categories Pie Chart - content: @@ -1097,6 +1237,10 @@ interactions: visible: false version: '2' visualizationUrl: local:column + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) - content: @@ -1150,6 +1294,10 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_saleability title: Product Saleability - content: @@ -1245,6 +1393,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category - content: @@ -1297,6 +1449,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:line + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_category_trend title: Revenue by Category Trend - content: @@ -1332,6 +1488,10 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_product title: Revenue by Product - content: @@ -1384,6 +1544,10 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign - content: @@ -1448,6 +1612,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_trend title: Revenue Trend - content: @@ -1501,6 +1669,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_customers title: Top 10 Customers - content: @@ -1554,6 +1726,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_products title: Top 10 Products ldm: @@ -2146,6 +2322,10 @@ interactions: id: campaign title: Campaign description: '' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: filterContextRef: identifier: @@ -2180,6 +2360,10 @@ interactions: version: '2' id: dashboard_plugin title: Dashboard plugin + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: filterContextRef: identifier: @@ -2327,6 +2511,10 @@ interactions: id: product_and_category title: Product & Category description: '' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user analyticalDashboardExtensions: [] dashboardPlugins: - content: @@ -2335,12 +2523,20 @@ interactions: id: dashboard_plugin_1 title: dashboard_plugin_1 description: Testing record dashboard_plugin_1 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: url: https://www.example.com version: '2' id: dashboard_plugin_2 title: dashboard_plugin_2 description: Testing record dashboard_plugin_2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user filterContexts: - content: filters: @@ -2385,17 +2581,29 @@ interactions: maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) id: amount_of_active_customers title: '# of Active Customers' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) id: amount_of_orders title: '# of Orders' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' id: amount_of_top_customers title: '# of Top Customers' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2403,56 +2611,96 @@ interactions: id: amount_of_valid_orders title: '# of Valid Orders' description: '' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT SUM({fact/spend}) id: campaign_spend title: Campaign Spend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) id: order_amount title: Order Amount + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} id: percent_revenue title: '% Revenue' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) id: percent_revenue_in_category title: '% Revenue in Category' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) id: percent_revenue_per_product title: '% Revenue per Product' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2460,57 +2708,101 @@ interactions: id: revenue title: Revenue description: '' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") id: revenue-clothing title: Revenue (Clothing) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") id: revenue-electronic title: Revenue (Electronic) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") id: revenue-home title: Revenue (Home) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") id: revenue-outdoor title: Revenue (Outdoor) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) id: revenue_per_customer title: Revenue per Customer + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} id: revenue_per_dollar_spent title: Revenue per Dollar Spent + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) id: revenue_top_10 title: Revenue / Top 10 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) id: revenue_top_10_percent title: Revenue / Top 10% + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER id: total_revenue title: Total Revenue + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER id: total_revenue-no_filters title: Total Revenue (No Filters) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user visualizationObjects: - content: buckets: @@ -2572,6 +2864,10 @@ interactions: visualizationUrl: local:treemap id: campaign_spend title: Campaign Spend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -2644,6 +2940,10 @@ interactions: visualizationUrl: local:combo2 id: customers_trend title: Customers Trend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -2719,6 +3019,10 @@ interactions: visualizationUrl: local:table id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -2774,6 +3078,10 @@ interactions: visualizationUrl: local:area id: percentage_of_customers_by_region title: Percentage of Customers by Region + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -2827,6 +3135,10 @@ interactions: visualizationUrl: local:treemap id: product_breakdown title: Product Breakdown + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -2876,6 +3188,10 @@ interactions: visualizationUrl: local:donut id: product_categories_pie_chart title: Product Categories Pie Chart + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -2947,6 +3263,10 @@ interactions: visualizationUrl: local:column id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3000,6 +3320,10 @@ interactions: visualizationUrl: local:scatter id: product_saleability title: Product Saleability + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3095,6 +3419,10 @@ interactions: visualizationUrl: local:table id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3147,6 +3475,10 @@ interactions: visualizationUrl: local:line id: revenue_by_category_trend title: Revenue by Category Trend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3182,6 +3514,10 @@ interactions: visualizationUrl: local:bar id: revenue_by_product title: Revenue by Product + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3234,6 +3570,10 @@ interactions: visualizationUrl: local:scatter id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3298,6 +3638,10 @@ interactions: visualizationUrl: local:combo2 id: revenue_trend title: Revenue Trend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3351,6 +3695,10 @@ interactions: visualizationUrl: local:bar id: top_10_customers title: Top 10 Customers + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3404,6 +3752,10 @@ interactions: visualizationUrl: local:bar id: top_10_products title: Top 10 Products + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user headers: Accept-Encoding: - br, gzip, deflate @@ -3541,7 +3893,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '32454' + - '35622' body: string: analytics: @@ -3594,6 +3946,10 @@ interactions: type: IDashboardLayoutSection type: IDashboardLayout version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: campaign title: Campaign @@ -3629,6 +3985,10 @@ interactions: type: dashboardPlugin version: '2' version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: dashboard_plugin title: Dashboard plugin - content: @@ -3775,6 +4135,10 @@ interactions: type: IDashboardLayoutSection type: IDashboardLayout version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: product_and_category title: Product & Category @@ -3782,12 +4146,20 @@ interactions: - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_1 id: dashboard_plugin_1 title: dashboard_plugin_1 - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_2 id: dashboard_plugin_2 title: dashboard_plugin_2 @@ -3833,81 +4205,137 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_active_customers title: '# of Active Customers' - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_orders title: '# of Orders' - content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_top_customers title: '# of Top Customers' - content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: amount_of_valid_orders title: '# of Valid Orders' - content: format: $#,##0 maql: SELECT SUM({fact/spend}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: order_amount title: Order Amount - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue title: '% Revenue' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_in_category title: '% Revenue in Category' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product title: '% Revenue per Product' - content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: revenue title: Revenue @@ -3915,54 +4343,94 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-clothing title: Revenue (Clothing) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-electronic title: Revenue (Electronic) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-home title: Revenue (Home) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-outdoor title: Revenue (Outdoor) - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_customer title: Revenue per Customer - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_dollar_spent title: Revenue per Dollar Spent - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10 title: Revenue / Top 10 - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10_percent title: Revenue / Top 10% - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue title: Total Revenue - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue-no_filters title: Total Revenue (No Filters) visualizationObjects: @@ -4024,6 +4492,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: @@ -4096,6 +4568,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: customers_trend title: Customers Trend - content: @@ -4171,6 +4647,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' - content: @@ -4226,6 +4706,10 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percentage_of_customers_by_region title: Percentage of Customers by Region - content: @@ -4279,6 +4763,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_breakdown title: Product Breakdown - content: @@ -4328,6 +4816,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_categories_pie_chart title: Product Categories Pie Chart - content: @@ -4399,6 +4891,10 @@ interactions: visible: false version: '2' visualizationUrl: local:column + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) - content: @@ -4452,6 +4948,10 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_saleability title: Product Saleability - content: @@ -4547,6 +5047,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category - content: @@ -4599,6 +5103,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:line + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_category_trend title: Revenue by Category Trend - content: @@ -4634,6 +5142,10 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_product title: Revenue by Product - content: @@ -4686,6 +5198,10 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign - content: @@ -4750,6 +5266,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_trend title: Revenue Trend - content: @@ -4803,6 +5323,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_customers title: Top 10 Customers - content: @@ -4856,6 +5380,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_products title: Top 10 Products ldm: @@ -5199,6 +5727,12 @@ interactions: body: string: data: + - id: demo + type: workspace + attributes: + name: Demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo - id: demo_west type: workspace attributes: @@ -5227,12 +5761,6 @@ interactions: name: demo_testing links: self: http://localhost:3000/api/v1/entities/workspaces/demo_testing - - id: demo - type: workspace - attributes: - name: Demo - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo included: - id: demo type: workspace @@ -5390,6 +5918,12 @@ interactions: body: string: data: + - id: demo + type: workspace + attributes: + name: Demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo - id: demo_west type: workspace attributes: @@ -5412,12 +5946,6 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - - id: demo - type: workspace - attributes: - name: Demo - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo included: - id: demo type: workspace diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspaces.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspaces.yaml index 7ef8fd3bb..ea0e013f0 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspaces.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspaces.yaml @@ -3,7 +3,7 @@ version: 1 interactions: - request: method: GET - uri: http://localhost:3000/api/v1/layout/workspaces + uri: http://localhost:3000/api/v1/layout/workspaces?exclude=ACTIVITY_INFO body: null headers: Accept: @@ -3651,7 +3651,7 @@ interactions: string: '' - request: method: GET - uri: http://localhost:3000/api/v1/layout/workspaces + uri: http://localhost:3000/api/v1/layout/workspaces?exclude=ACTIVITY_INFO body: null headers: Accept: diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_user_data_filters.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_user_data_filters.yaml index 66d3376a9..94742b7c4 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_user_data_filters.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_user_data_filters.yaml @@ -302,7 +302,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 7610ecf2-e15c-46c6-a1c0-97a513ff7b41 + oauthClientId: 0d6eee19-385e-477b-9fe2-1ca61a3b406c links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -453,6 +453,6 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 7610ecf2-e15c-46c6-a1c0-97a513ff7b41 + oauthClientId: 0d6eee19-385e-477b-9fe2-1ca61a3b406c links: self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace.yaml index ffbfcadcb..525a1e968 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace.yaml @@ -74,7 +74,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '32454' + - '35622' body: string: analytics: @@ -127,6 +127,10 @@ interactions: type: IDashboardLayoutSection type: IDashboardLayout version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: campaign title: Campaign @@ -162,6 +166,10 @@ interactions: type: dashboardPlugin version: '2' version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: dashboard_plugin title: Dashboard plugin - content: @@ -308,6 +316,10 @@ interactions: type: IDashboardLayoutSection type: IDashboardLayout version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: product_and_category title: Product & Category @@ -315,12 +327,20 @@ interactions: - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_1 id: dashboard_plugin_1 title: dashboard_plugin_1 - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_2 id: dashboard_plugin_2 title: dashboard_plugin_2 @@ -366,81 +386,137 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_active_customers title: '# of Active Customers' - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_orders title: '# of Orders' - content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_top_customers title: '# of Top Customers' - content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: amount_of_valid_orders title: '# of Valid Orders' - content: format: $#,##0 maql: SELECT SUM({fact/spend}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: order_amount title: Order Amount - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue title: '% Revenue' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_in_category title: '% Revenue in Category' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product title: '% Revenue per Product' - content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: revenue title: Revenue @@ -448,54 +524,94 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-clothing title: Revenue (Clothing) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-electronic title: Revenue (Electronic) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-home title: Revenue (Home) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-outdoor title: Revenue (Outdoor) - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_customer title: Revenue per Customer - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_dollar_spent title: Revenue per Dollar Spent - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10 title: Revenue / Top 10 - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10_percent title: Revenue / Top 10% - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue title: Total Revenue - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue-no_filters title: Total Revenue (No Filters) visualizationObjects: @@ -557,6 +673,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: @@ -629,6 +749,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: customers_trend title: Customers Trend - content: @@ -704,6 +828,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' - content: @@ -759,6 +887,10 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percentage_of_customers_by_region title: Percentage of Customers by Region - content: @@ -812,6 +944,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_breakdown title: Product Breakdown - content: @@ -861,6 +997,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_categories_pie_chart title: Product Categories Pie Chart - content: @@ -932,6 +1072,10 @@ interactions: visible: false version: '2' visualizationUrl: local:column + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) - content: @@ -985,6 +1129,10 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_saleability title: Product Saleability - content: @@ -1080,6 +1228,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category - content: @@ -1132,6 +1284,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:line + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_category_trend title: Revenue by Category Trend - content: @@ -1167,6 +1323,10 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_product title: Revenue by Product - content: @@ -1219,6 +1379,10 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign - content: @@ -1283,6 +1447,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_trend title: Revenue Trend - content: @@ -1336,6 +1504,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_customers title: Top 10 Customers - content: @@ -1389,6 +1561,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_products title: Top 10 Products ldm: @@ -1806,7 +1982,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 7610ecf2-e15c-46c6-a1c0-97a513ff7b41 + oauthClientId: 0d6eee19-385e-477b-9fe2-1ca61a3b406c links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -1881,7 +2057,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '32454' + - '35622' body: string: analytics: @@ -1934,6 +2110,10 @@ interactions: type: IDashboardLayoutSection type: IDashboardLayout version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: campaign title: Campaign @@ -1969,6 +2149,10 @@ interactions: type: dashboardPlugin version: '2' version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: dashboard_plugin title: Dashboard plugin - content: @@ -2115,6 +2299,10 @@ interactions: type: IDashboardLayoutSection type: IDashboardLayout version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: product_and_category title: Product & Category @@ -2122,12 +2310,20 @@ interactions: - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_1 id: dashboard_plugin_1 title: dashboard_plugin_1 - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_2 id: dashboard_plugin_2 title: dashboard_plugin_2 @@ -2173,81 +2369,137 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_active_customers title: '# of Active Customers' - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_orders title: '# of Orders' - content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_top_customers title: '# of Top Customers' - content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: amount_of_valid_orders title: '# of Valid Orders' - content: format: $#,##0 maql: SELECT SUM({fact/spend}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: order_amount title: Order Amount - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue title: '% Revenue' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_in_category title: '% Revenue in Category' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product title: '% Revenue per Product' - content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: revenue title: Revenue @@ -2255,54 +2507,94 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-clothing title: Revenue (Clothing) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-electronic title: Revenue (Electronic) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-home title: Revenue (Home) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-outdoor title: Revenue (Outdoor) - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_customer title: Revenue per Customer - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_dollar_spent title: Revenue per Dollar Spent - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10 title: Revenue / Top 10 - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10_percent title: Revenue / Top 10% - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue title: Total Revenue - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue-no_filters title: Total Revenue (No Filters) visualizationObjects: @@ -2364,6 +2656,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: @@ -2436,6 +2732,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: customers_trend title: Customers Trend - content: @@ -2511,6 +2811,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' - content: @@ -2566,6 +2870,10 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percentage_of_customers_by_region title: Percentage of Customers by Region - content: @@ -2619,6 +2927,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_breakdown title: Product Breakdown - content: @@ -2668,6 +2980,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_categories_pie_chart title: Product Categories Pie Chart - content: @@ -2739,6 +3055,10 @@ interactions: visible: false version: '2' visualizationUrl: local:column + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) - content: @@ -2792,6 +3112,10 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_saleability title: Product Saleability - content: @@ -2887,6 +3211,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category - content: @@ -2939,6 +3267,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:line + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_category_trend title: Revenue by Category Trend - content: @@ -2974,6 +3306,10 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_product title: Revenue by Product - content: @@ -3026,6 +3362,10 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign - content: @@ -3090,6 +3430,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_trend title: Revenue Trend - content: @@ -3143,6 +3487,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_customers title: Top 10 Customers - content: @@ -3196,6 +3544,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_products title: Top 10 Products ldm: @@ -3613,6 +3965,6 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 7610ecf2-e15c-46c6-a1c0-97a513ff7b41 + oauthClientId: 0d6eee19-385e-477b-9fe2-1ca61a3b406c links: self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace_data_filters.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace_data_filters.yaml index 538f9119f..1af657edd 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace_data_filters.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace_data_filters.yaml @@ -358,7 +358,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 7610ecf2-e15c-46c6-a1c0-97a513ff7b41 + oauthClientId: 0d6eee19-385e-477b-9fe2-1ca61a3b406c links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -509,6 +509,6 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 7610ecf2-e15c-46c6-a1c0-97a513ff7b41 + oauthClientId: 0d6eee19-385e-477b-9fe2-1ca61a3b406c links: self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.yaml index 3136db957..26c2875ba 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.yaml @@ -74,7 +74,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '34285' + - '37453' body: string: workspaceDataFilters: @@ -169,6 +169,10 @@ interactions: drills: [] properties: {} version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: campaign title: Campaign @@ -204,6 +208,10 @@ interactions: type: dashboardPlugin version: '2' version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: dashboard_plugin title: Dashboard plugin - content: @@ -351,6 +359,10 @@ interactions: drills: [] properties: {} version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: product_and_category title: Product & Category @@ -358,12 +370,20 @@ interactions: - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_1 id: dashboard_plugin_1 title: dashboard_plugin_1 - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_2 id: dashboard_plugin_2 title: dashboard_plugin_2 @@ -409,81 +429,137 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_active_customers title: '# of Active Customers' - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_orders title: '# of Orders' - content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_top_customers title: '# of Top Customers' - content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: amount_of_valid_orders title: '# of Valid Orders' - content: format: $#,##0 maql: SELECT SUM({fact/spend}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: order_amount title: Order Amount - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue title: '% Revenue' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_in_category title: '% Revenue in Category' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product title: '% Revenue per Product' - content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: revenue title: Revenue @@ -491,54 +567,94 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-clothing title: Revenue (Clothing) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-electronic title: Revenue (Electronic) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-home title: Revenue (Home) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-outdoor title: Revenue (Outdoor) - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_customer title: Revenue per Customer - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_dollar_spent title: Revenue per Dollar Spent - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10 title: Revenue / Top 10 - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10_percent title: Revenue / Top 10% - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue title: Total Revenue - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue-no_filters title: Total Revenue (No Filters) visualizationObjects: @@ -600,6 +716,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: @@ -672,6 +792,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: customers_trend title: Customers Trend - content: @@ -747,6 +871,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' - content: @@ -802,6 +930,10 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percentage_of_customers_by_region title: Percentage of Customers by Region - content: @@ -855,6 +987,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_breakdown title: Product Breakdown - content: @@ -904,6 +1040,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_categories_pie_chart title: Product Categories Pie Chart - content: @@ -975,6 +1115,10 @@ interactions: visible: false version: '2' visualizationUrl: local:column + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) - content: @@ -1028,6 +1172,10 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_saleability title: Product Saleability - content: @@ -1123,6 +1271,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category - content: @@ -1175,6 +1327,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:line + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_category_trend title: Revenue by Category Trend - content: @@ -1210,6 +1366,10 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_product title: Revenue by Product - content: @@ -1262,6 +1422,10 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign - content: @@ -1326,6 +1490,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_trend title: Revenue Trend - content: @@ -1379,6 +1547,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_customers title: Top 10 Customers - content: @@ -1432,6 +1604,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_products title: Top 10 Products ldm: @@ -1827,7 +2003,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '34285' + - '37453' body: string: workspaceDataFilters: @@ -1922,6 +2098,10 @@ interactions: drills: [] properties: {} version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: campaign title: Campaign @@ -1957,6 +2137,10 @@ interactions: type: dashboardPlugin version: '2' version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: dashboard_plugin title: Dashboard plugin - content: @@ -2104,6 +2288,10 @@ interactions: drills: [] properties: {} version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: product_and_category title: Product & Category @@ -2111,12 +2299,20 @@ interactions: - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_1 id: dashboard_plugin_1 title: dashboard_plugin_1 - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_2 id: dashboard_plugin_2 title: dashboard_plugin_2 @@ -2162,81 +2358,137 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_active_customers title: '# of Active Customers' - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_orders title: '# of Orders' - content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_top_customers title: '# of Top Customers' - content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: amount_of_valid_orders title: '# of Valid Orders' - content: format: $#,##0 maql: SELECT SUM({fact/spend}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: order_amount title: Order Amount - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue title: '% Revenue' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_in_category title: '% Revenue in Category' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product title: '% Revenue per Product' - content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: revenue title: Revenue @@ -2244,54 +2496,94 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-clothing title: Revenue (Clothing) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-electronic title: Revenue (Electronic) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-home title: Revenue (Home) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-outdoor title: Revenue (Outdoor) - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_customer title: Revenue per Customer - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_dollar_spent title: Revenue per Dollar Spent - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10 title: Revenue / Top 10 - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10_percent title: Revenue / Top 10% - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue title: Total Revenue - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue-no_filters title: Total Revenue (No Filters) visualizationObjects: @@ -2353,6 +2645,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: @@ -2425,6 +2721,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: customers_trend title: Customers Trend - content: @@ -2500,6 +2800,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' - content: @@ -2555,6 +2859,10 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percentage_of_customers_by_region title: Percentage of Customers by Region - content: @@ -2608,6 +2916,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_breakdown title: Product Breakdown - content: @@ -2657,6 +2969,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_categories_pie_chart title: Product Categories Pie Chart - content: @@ -2728,6 +3044,10 @@ interactions: visible: false version: '2' visualizationUrl: local:column + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) - content: @@ -2781,6 +3101,10 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_saleability title: Product Saleability - content: @@ -2876,6 +3200,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category - content: @@ -2928,6 +3256,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:line + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_category_trend title: Revenue by Category Trend - content: @@ -2963,6 +3295,10 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_product title: Revenue by Product - content: @@ -3015,6 +3351,10 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign - content: @@ -3079,6 +3419,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_trend title: Revenue Trend - content: @@ -3132,6 +3476,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_customers title: Top 10 Customers - content: @@ -3185,6 +3533,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_products title: Top 10 Products ldm: @@ -3656,7 +4008,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 7610ecf2-e15c-46c6-a1c0-97a513ff7b41 + oauthClientId: 0d6eee19-385e-477b-9fe2-1ca61a3b406c links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -3807,6 +4159,6 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 7610ecf2-e15c-46c6-a1c0-97a513ff7b41 + oauthClientId: 0d6eee19-385e-477b-9fe2-1ca61a3b406c links: self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_translate_workspace.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_translate_workspace.yaml index 703bf2e76..821fea23f 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_translate_workspace.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_translate_workspace.yaml @@ -154,7 +154,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '32454' + - '35622' body: string: analytics: @@ -207,6 +207,10 @@ interactions: drills: [] properties: {} version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: campaign title: Campaign @@ -242,6 +246,10 @@ interactions: type: dashboardPlugin version: '2' version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: dashboard_plugin title: Dashboard plugin - content: @@ -388,6 +396,10 @@ interactions: drills: [] properties: {} version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: product_and_category title: Product & Category @@ -395,12 +407,20 @@ interactions: - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_1 id: dashboard_plugin_1 title: dashboard_plugin_1 - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_2 id: dashboard_plugin_2 title: dashboard_plugin_2 @@ -446,81 +466,137 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_active_customers title: '# of Active Customers' - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_orders title: '# of Orders' - content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_top_customers title: '# of Top Customers' - content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: amount_of_valid_orders title: '# of Valid Orders' - content: format: $#,##0 maql: SELECT SUM({fact/spend}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: order_amount title: Order Amount - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue title: '% Revenue' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_in_category title: '% Revenue in Category' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product title: '% Revenue per Product' - content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: revenue title: Revenue @@ -528,54 +604,94 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-clothing title: Revenue (Clothing) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-electronic title: Revenue (Electronic) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-home title: Revenue (Home) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-outdoor title: Revenue (Outdoor) - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_customer title: Revenue per Customer - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_dollar_spent title: Revenue per Dollar Spent - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10 title: Revenue / Top 10 - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10_percent title: Revenue / Top 10% - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue title: Total Revenue - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue-no_filters title: Total Revenue (No Filters) visualizationObjects: @@ -637,6 +753,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: @@ -709,6 +829,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: customers_trend title: Customers Trend - content: @@ -784,6 +908,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' - content: @@ -839,6 +967,10 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percentage_of_customers_by_region title: Percentage of Customers by Region - content: @@ -892,6 +1024,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_breakdown title: Product Breakdown - content: @@ -941,6 +1077,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_categories_pie_chart title: Product Categories Pie Chart - content: @@ -1012,6 +1152,10 @@ interactions: visible: false version: '2' visualizationUrl: local:column + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) - content: @@ -1065,6 +1209,10 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_saleability title: Product Saleability - content: @@ -1160,6 +1308,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category - content: @@ -1212,6 +1364,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:line + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_category_trend title: Revenue by Category Trend - content: @@ -1247,6 +1403,10 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_product title: Revenue by Product - content: @@ -1299,6 +1459,10 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign - content: @@ -1363,6 +1527,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_trend title: Revenue Trend - content: @@ -1416,6 +1584,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_customers title: Top 10 Customers - content: @@ -1469,6 +1641,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_products title: Top 10 Products ldm: @@ -1815,7 +1991,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: be7b526bdb96c2c6 + traceId: da69a2d92ca40f2e - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces @@ -2226,6 +2402,10 @@ interactions: id: campaign title: Campaign description: '' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: filterContextRef: identifier: @@ -2260,6 +2440,10 @@ interactions: version: '2' id: dashboard_plugin title: Dashboard plugin + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: filterContextRef: identifier: @@ -2407,6 +2591,10 @@ interactions: id: product_and_category title: Product & Category description: '' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user analyticalDashboardExtensions: [] dashboardPlugins: - content: @@ -2415,12 +2603,20 @@ interactions: id: dashboard_plugin_1 title: dashboard_plugin_1 description: Testing record dashboard_plugin_1 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: url: https://www.example.com version: '2' id: dashboard_plugin_2 title: dashboard_plugin_2 description: Testing record dashboard_plugin_2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user filterContexts: - content: filters: @@ -2465,17 +2661,29 @@ interactions: maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) id: amount_of_active_customers title: '# of Active Customers' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) id: amount_of_orders title: '# of Orders' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' id: amount_of_top_customers title: '# of Top Customers' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -2483,56 +2691,96 @@ interactions: id: amount_of_valid_orders title: '# of Valid Orders' description: '' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT SUM({fact/spend}) id: campaign_spend title: Campaign Spend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) id: order_amount title: Order Amount + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} id: percent_revenue title: '% Revenue' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) id: percent_revenue_in_category title: '% Revenue in Category' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) id: percent_revenue_per_product title: '% Revenue per Product' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -2540,57 +2788,101 @@ interactions: id: revenue title: Revenue description: '' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") id: revenue-clothing title: Revenue (Clothing) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") id: revenue-electronic title: Revenue (Electronic) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") id: revenue-home title: Revenue (Home) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") id: revenue-outdoor title: Revenue (Outdoor) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) id: revenue_per_customer title: Revenue per Customer + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} id: revenue_per_dollar_spent title: Revenue per Dollar Spent + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) id: revenue_top_10 title: Revenue / Top 10 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) id: revenue_top_10_percent title: Revenue / Top 10% + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER id: total_revenue title: Total Revenue + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER id: total_revenue-no_filters title: Total Revenue (No Filters) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user visualizationObjects: - content: buckets: @@ -2652,6 +2944,10 @@ interactions: visualizationUrl: local:treemap id: campaign_spend title: Campaign Spend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -2724,6 +3020,10 @@ interactions: visualizationUrl: local:combo2 id: customers_trend title: Customers Trend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -2799,6 +3099,10 @@ interactions: visualizationUrl: local:table id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -2854,6 +3158,10 @@ interactions: visualizationUrl: local:area id: percentage_of_customers_by_region title: Percentage of Customers by Region + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -2907,6 +3215,10 @@ interactions: visualizationUrl: local:treemap id: product_breakdown title: Product Breakdown + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -2956,6 +3268,10 @@ interactions: visualizationUrl: local:donut id: product_categories_pie_chart title: Product Categories Pie Chart + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3027,6 +3343,10 @@ interactions: visualizationUrl: local:column id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3080,6 +3400,10 @@ interactions: visualizationUrl: local:scatter id: product_saleability title: Product Saleability + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3175,6 +3499,10 @@ interactions: visualizationUrl: local:table id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3227,6 +3555,10 @@ interactions: visualizationUrl: local:line id: revenue_by_category_trend title: Revenue by Category Trend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3262,6 +3594,10 @@ interactions: visualizationUrl: local:bar id: revenue_by_product title: Revenue by Product + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3314,6 +3650,10 @@ interactions: visualizationUrl: local:scatter id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3378,6 +3718,10 @@ interactions: visualizationUrl: local:combo2 id: revenue_trend title: Revenue Trend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3431,6 +3775,10 @@ interactions: visualizationUrl: local:bar id: top_10_customers title: Top 10 Customers + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -3484,6 +3832,10 @@ interactions: visualizationUrl: local:bar id: top_10_products title: Top 10 Products + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user headers: Accept-Encoding: - br, gzip, deflate @@ -3760,7 +4112,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: f8364904d34f3be8 + traceId: db94d07eb87cf3b5 - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces/demo_cs/workspaceSettings @@ -3932,7 +4284,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 17013af6f915fb01 + traceId: ac2067c2ed7d06d8 - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces/demo_cs/workspaceSettings @@ -4175,7 +4527,7 @@ interactions: attributes: name: Default Organization hostname: localhost - oauthClientId: 7610ecf2-e15c-46c6-a1c0-97a513ff7b41 + oauthClientId: 0d6eee19-385e-477b-9fe2-1ca61a3b406c links: self: http://localhost:3000/api/v1/entities/admin/organizations/default - request: @@ -4330,7 +4682,7 @@ interactions: X-XSS-Protection: - 1 ; mode=block content-length: - - '32454' + - '35622' body: string: analytics: @@ -4383,6 +4735,10 @@ interactions: drills: [] properties: {} version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: campaign title: Campaign @@ -4418,6 +4774,10 @@ interactions: type: dashboardPlugin version: '2' version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: dashboard_plugin title: Dashboard plugin - content: @@ -4564,6 +4924,10 @@ interactions: drills: [] properties: {} version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: product_and_category title: Product & Category @@ -4571,12 +4935,20 @@ interactions: - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_1 id: dashboard_plugin_1 title: dashboard_plugin_1 - content: url: https://www.example.com version: '2' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: Testing record dashboard_plugin_2 id: dashboard_plugin_2 title: dashboard_plugin_2 @@ -4622,81 +4994,137 @@ interactions: - content: format: '#,##0' maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_active_customers title: '# of Active Customers' - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_orders title: '# of Orders' - content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: amount_of_top_customers title: '# of Top Customers' - content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: amount_of_valid_orders title: '# of Valid Orders' - content: format: $#,##0 maql: SELECT SUM({fact/spend}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: order_amount title: Order Amount - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue title: '% Revenue' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_in_category title: '% Revenue in Category' - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product title: '% Revenue per Product' - content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN ("Returned", "Canceled")) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user description: '' id: revenue title: Revenue @@ -4704,54 +5132,94 @@ interactions: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-clothing title: Revenue (Clothing) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-electronic title: Revenue (Electronic) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-home title: Revenue (Home) - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue-outdoor title: Revenue (Outdoor) - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_customer title: Revenue per Customer - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_dollar_spent title: Revenue per Dollar Spent - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10 title: Revenue / Top 10 - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_top_10_percent title: Revenue / Top 10% - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue title: Total Revenue - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: total_revenue-no_filters title: Total Revenue (No Filters) visualizationObjects: @@ -4813,6 +5281,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: campaign_spend title: Campaign Spend - content: @@ -4885,6 +5357,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: customers_trend title: Customers Trend - content: @@ -4960,6 +5436,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' - content: @@ -5015,6 +5495,10 @@ interactions: stackMeasuresToPercent: true version: '2' visualizationUrl: local:area + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: percentage_of_customers_by_region title: Percentage of Customers by Region - content: @@ -5068,6 +5552,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:treemap + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_breakdown title: Product Breakdown - content: @@ -5117,6 +5605,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:donut + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_categories_pie_chart title: Product Categories Pie Chart - content: @@ -5188,6 +5680,10 @@ interactions: visible: false version: '2' visualizationUrl: local:column + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) - content: @@ -5241,6 +5737,10 @@ interactions: enabled: true version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: product_saleability title: Product Saleability - content: @@ -5336,6 +5836,10 @@ interactions: direction: asc version: '2' visualizationUrl: local:table + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category - content: @@ -5388,6 +5892,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:line + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_category_trend title: Revenue by Category Trend - content: @@ -5423,6 +5931,10 @@ interactions: properties: {} version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_by_product title: Revenue by Product - content: @@ -5475,6 +5987,10 @@ interactions: min: '0' version: '2' visualizationUrl: local:scatter + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign - content: @@ -5539,6 +6055,10 @@ interactions: rotation: auto version: '2' visualizationUrl: local:combo2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: revenue_trend title: Revenue Trend - content: @@ -5592,6 +6112,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_customers title: Top 10 Customers - content: @@ -5645,6 +6169,10 @@ interactions: position: bottom version: '2' visualizationUrl: local:bar + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user id: top_10_products title: Top 10 Products ldm: @@ -6404,6 +6932,10 @@ interactions: id: campaign title: Campaign description: '' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: filterContextRef: identifier: @@ -6438,6 +6970,10 @@ interactions: version: '2' id: dashboard_plugin title: Dashboard plugin + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: filterContextRef: identifier: @@ -6585,6 +7121,10 @@ interactions: id: product_and_category title: Product & Category description: '' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user analyticalDashboardExtensions: [] dashboardPlugins: - content: @@ -6593,12 +7133,20 @@ interactions: id: dashboard_plugin_1 title: dashboard_plugin_1 description: Testing record dashboard_plugin_1 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: url: https://www.example.com version: '2' id: dashboard_plugin_2 title: dashboard_plugin_2 description: Testing record dashboard_plugin_2 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user filterContexts: - content: filters: @@ -6643,17 +7191,29 @@ interactions: maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) id: amount_of_active_customers title: '# of Active Customers' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0' maql: SELECT COUNT({attribute/order_id}) id: amount_of_orders title: '# of Orders' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0' maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 ' id: amount_of_top_customers title: '# of Top Customers' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.00' maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} @@ -6661,56 +7221,96 @@ interactions: id: amount_of_valid_orders title: '# of Valid Orders' description: '' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT SUM({fact/spend}) id: campaign_spend title: Campaign Spend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT SUM({fact/price}*{fact/quantity}) id: order_amount title: Order Amount + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / {metric/total_revenue} id: percent_revenue title: '% Revenue' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_customers title: '% Revenue from Top 10 Customers' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_percent_customers title: '% Revenue from Top 10% Customers' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_percent_products title: '% Revenue from Top 10% Products' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" id: percent_revenue_from_top_10_products title: '% Revenue from Top 10 Products' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER) id: percent_revenue_in_category title: '% Revenue in Category' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: '#,##0.0%' maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) id: percent_revenue_per_product title: '% Revenue per Product' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} @@ -6718,57 +7318,101 @@ interactions: id: revenue title: Revenue description: '' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") id: revenue-clothing title: Revenue (Clothing) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( "Electronics") id: revenue-electronic title: Revenue (Electronic) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") id: revenue-home title: Revenue (Home) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") id: revenue-outdoor title: Revenue (Outdoor) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0.0 maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) id: revenue_per_customer title: Revenue per Customer + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0.0 maql: SELECT {metric/revenue} / {metric/campaign_spend} id: revenue_per_dollar_spent title: Revenue per Dollar Spent + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) id: revenue_top_10 title: Revenue / Top 10 + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) id: revenue_top_10_percent title: Revenue / Top 10% + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/revenue} BY ALL OTHER id: total_revenue title: Total Revenue + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: format: $#,##0 maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER id: total_revenue-no_filters title: Total Revenue (No Filters) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user visualizationObjects: - content: buckets: @@ -6830,6 +7474,10 @@ interactions: visualizationUrl: local:treemap id: campaign_spend title: Campaign Spend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -6902,6 +7550,10 @@ interactions: visualizationUrl: local:combo2 id: customers_trend title: Customers Trend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -6977,6 +7629,10 @@ interactions: visualizationUrl: local:table id: percent_revenue_per_product_by_customer_and_category title: '% Revenue per Product by Customer and Category' + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -7032,6 +7688,10 @@ interactions: visualizationUrl: local:area id: percentage_of_customers_by_region title: Percentage of Customers by Region + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -7085,6 +7745,10 @@ interactions: visualizationUrl: local:treemap id: product_breakdown title: Product Breakdown + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -7134,6 +7798,10 @@ interactions: visualizationUrl: local:donut id: product_categories_pie_chart title: Product Categories Pie Chart + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -7205,6 +7873,10 @@ interactions: visualizationUrl: local:column id: product_revenue_comparison-over_previous_period title: Product Revenue Comparison (over previous period) + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -7258,6 +7930,10 @@ interactions: visualizationUrl: local:scatter id: product_saleability title: Product Saleability + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -7353,6 +8029,10 @@ interactions: visualizationUrl: local:table id: revenue_and_quantity_by_product_and_category title: Revenue and Quantity by Product and Category + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -7405,6 +8085,10 @@ interactions: visualizationUrl: local:line id: revenue_by_category_trend title: Revenue by Category Trend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -7440,6 +8124,10 @@ interactions: visualizationUrl: local:bar id: revenue_by_product title: Revenue by Product + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -7492,6 +8180,10 @@ interactions: visualizationUrl: local:scatter id: revenue_per_usd_vs_spend_by_campaign title: Revenue per $ vs Spend by Campaign + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -7556,6 +8248,10 @@ interactions: visualizationUrl: local:combo2 id: revenue_trend title: Revenue Trend + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -7609,6 +8305,10 @@ interactions: visualizationUrl: local:bar id: top_10_customers title: Top 10 Customers + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user - content: buckets: - items: @@ -7662,6 +8362,10 @@ interactions: visualizationUrl: local:bar id: top_10_products title: Top 10 Products + createdAt: 2023-08-14 07:28 + createdBy: + id: admin + type: user headers: Accept-Encoding: - br, gzip, deflate @@ -7938,7 +8642,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 6341f64b8e9cb8e6 + traceId: d9ddc74e19d8f917 - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces/demo_cs/workspaceSettings @@ -8110,7 +8814,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: da742f62b94a8645 + traceId: a3329264c75063db - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces/demo_cs/workspaceSettings @@ -8279,12 +8983,6 @@ interactions: body: string: data: - - id: demo_cs - type: workspace - attributes: - name: Demo (cs) - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo_cs - id: demo_west type: workspace attributes: @@ -8313,6 +9011,12 @@ interactions: name: Demo links: self: http://localhost:3000/api/v1/entities/workspaces/demo + - id: demo_cs + type: workspace + attributes: + name: Demo (cs) + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_cs included: - id: demo type: workspace diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_invalid.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_invalid.yaml index 1e0fcbcb1..eb294c743 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_invalid.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_invalid.yaml @@ -168,6 +168,12 @@ interactions: body: string: data: + - id: demo + type: workspace + attributes: + name: Demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo - id: demo_west type: workspace attributes: @@ -190,12 +196,6 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - - id: demo - type: workspace - attributes: - name: Demo - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo included: - id: demo type: workspace @@ -378,6 +378,12 @@ interactions: body: string: data: + - id: demo + type: workspace + attributes: + name: Demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo - id: demo_west type: workspace attributes: @@ -400,12 +406,6 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - - id: demo - type: workspace - attributes: - name: Demo - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo included: - id: demo type: workspace diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_valid.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_valid.yaml index de9fd3ea9..a01f2f159 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_valid.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_valid.yaml @@ -168,6 +168,12 @@ interactions: body: string: data: + - id: demo + type: workspace + attributes: + name: Demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo - id: demo_west type: workspace attributes: @@ -190,12 +196,6 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - - id: demo - type: workspace - attributes: - name: Demo - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo included: - id: demo type: workspace @@ -470,17 +470,12 @@ interactions: body: string: data: - - id: demo_west + - id: demo type: workspace attributes: - name: Test - relationships: - parent: - data: - id: demo - type: workspace + name: Demo links: - self: http://localhost:3000/api/v1/entities/workspaces/demo_west + self: http://localhost:3000/api/v1/entities/workspaces/demo - id: demo_west_california type: workspace attributes: @@ -492,12 +487,17 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - - id: demo + - id: demo_west type: workspace attributes: - name: Demo + name: Test + relationships: + parent: + data: + id: demo + type: workspace links: - self: http://localhost:3000/api/v1/entities/workspaces/demo + self: http://localhost:3000/api/v1/entities/workspaces/demo_west included: - id: demo type: workspace @@ -864,17 +864,12 @@ interactions: body: string: data: - - id: demo_west + - id: demo type: workspace attributes: - name: Demo West - relationships: - parent: - data: - id: demo - type: workspace + name: Demo links: - self: http://localhost:3000/api/v1/entities/workspaces/demo_west + self: http://localhost:3000/api/v1/entities/workspaces/demo - id: demo_west_california type: workspace attributes: @@ -886,12 +881,17 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - - id: demo + - id: demo_west type: workspace attributes: - name: Demo + name: Demo West + relationships: + parent: + data: + id: demo + type: workspace links: - self: http://localhost:3000/api/v1/entities/workspaces/demo + self: http://localhost:3000/api/v1/entities/workspaces/demo_west included: - id: demo type: workspace diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_workspace_list.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_workspace_list.yaml index 3958d9370..f5cb20356 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_workspace_list.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_workspace_list.yaml @@ -76,6 +76,12 @@ interactions: body: string: data: + - id: demo + type: workspace + attributes: + name: Demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo - id: demo_west type: workspace attributes: @@ -98,12 +104,6 @@ interactions: type: workspace links: self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california - - id: demo - type: workspace - attributes: - name: Demo - links: - self: http://localhost:3000/api/v1/entities/workspaces/demo included: - id: demo type: workspace diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/user_data_filters_life_cycle.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/user_data_filters_life_cycle.yaml index e4de78b26..9d0103851 100644 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/user_data_filters_life_cycle.yaml +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/user_data_filters_life_cycle.yaml @@ -156,7 +156,7 @@ interactions: to access it. status: 404 title: Not Found - traceId: 38b0b8e1fd159ca7 + traceId: 6fdf955a518c7a09 - request: method: POST uri: http://localhost:3000/api/v1/entities/workspaces/demo/userDataFilters @@ -366,7 +366,7 @@ interactions: - id: demo type: user attributes: - authenticationId: CiQxYTMwZGVlZi0yNWY4LTQ2ZjgtOWE1YS0zMGU1ZGYzZWQwZTcSBWxvY2Fs + authenticationId: CiQ2ZWMzZmEzYi1kYmE4LTQ2ZjYtOTkyNy1hMDIxZTg5MGY4NTISBWxvY2Fs links: self: http://localhost:3000/api/v1/entities/workspaces/demo/users/demo links: @@ -469,7 +469,7 @@ interactions: - id: demo type: user attributes: - authenticationId: CiQxYTMwZGVlZi0yNWY4LTQ2ZjgtOWE1YS0zMGU1ZGYzZWQwZTcSBWxvY2Fs + authenticationId: CiQ2ZWMzZmEzYi1kYmE4LTQ2ZjYtOTkyNy1hMDIxZTg5MGY4NTISBWxvY2Fs links: self: http://localhost:3000/api/v1/entities/workspaces/demo/users/demo - id: order_status diff --git a/gooddata-sdk/tests/catalog/test_catalog_workspace.py b/gooddata-sdk/tests/catalog/test_catalog_workspace.py index bcb288e49..e9559006e 100644 --- a/gooddata-sdk/tests/catalog/test_catalog_workspace.py +++ b/gooddata-sdk/tests/catalog/test_catalog_workspace.py @@ -84,7 +84,7 @@ def test_load_and_put_declarative_workspaces(test_config): _empty_workspaces(sdk) sdk.catalog_workspace.load_and_put_declarative_workspaces(path) - workspaces_o = sdk.catalog_workspace.get_declarative_workspaces() + workspaces_o = sdk.catalog_workspace.get_declarative_workspaces(exclude=["ACTIVITY_INFO"]) assert workspaces_e == workspaces_o assert workspaces_e.to_dict(camel_case=True) == workspaces_o.to_dict(camel_case=True) finally: @@ -109,13 +109,13 @@ def test_store_declarative_workspaces(test_config): def test_put_declarative_workspaces(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "expected" / "declarative_workspaces.json" - workspaces_e = sdk.catalog_workspace.get_declarative_workspaces() + workspaces_e = sdk.catalog_workspace.get_declarative_workspaces(exclude=["ACTIVITY_INFO"]) try: _empty_workspaces(sdk) sdk.catalog_workspace.put_declarative_workspaces(workspaces_e) - workspaces_o = sdk.catalog_workspace.get_declarative_workspaces() + workspaces_o = sdk.catalog_workspace.get_declarative_workspaces(exclude=["ACTIVITY_INFO"]) assert workspaces_e == workspaces_o assert workspaces_e.to_dict(camel_case=True) == workspaces_o.to_dict(camel_case=True) finally: @@ -129,7 +129,7 @@ def test_put_declarative_workspaces(test_config): def test_get_declarative_workspaces_snake_case(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "expected" / "declarative_workspaces_snake_case.json" - workspaces_o = sdk.catalog_workspace.get_declarative_workspaces() + workspaces_o = sdk.catalog_workspace.get_declarative_workspaces(exclude=["ACTIVITY_INFO"]) with open(path) as f: data = json.load(f) @@ -144,7 +144,7 @@ def test_get_declarative_workspaces_snake_case(test_config): def test_get_declarative_workspaces(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "expected" / "declarative_workspaces.json" - workspaces_o = sdk.catalog_workspace.get_declarative_workspaces() + workspaces_o = sdk.catalog_workspace.get_declarative_workspaces(exclude=["ACTIVITY_INFO"]) with open(path) as f: data = json.load(f) @@ -161,12 +161,14 @@ def test_declarative_workspaces(test_config): client = GoodDataApiClient(host=test_config["host"], token=test_config["token"]) layout_api = client.layout_api - workspaces_o = sdk.catalog_workspace.get_declarative_workspaces() + workspaces_o = sdk.catalog_workspace.get_declarative_workspaces(exclude=["ACTIVITY_INFO"]) assert len(workspaces_o.workspaces) == 3 assert len(workspaces_o.workspace_data_filters) == 2 assert [workspace.id for workspace in workspaces_o.workspaces] == ["demo", "demo_west", "demo_west_california"] - assert workspaces_o.to_dict(camel_case=True) == layout_api.get_workspaces_layout().to_dict(camel_case=True) + assert workspaces_o.to_dict(camel_case=True) == layout_api.get_workspaces_layout(exclude=["ACTIVITY_INFO"]).to_dict( + camel_case=True + ) @gd_vcr.use_cassette(str(_fixtures_dir / "demo_update_workspace_invalid.yaml")) @@ -560,7 +562,9 @@ def test_get_declarative_workspace(test_config): client = GoodDataApiClient(host=test_config["host"], token=test_config["token"]) layout_api = client.layout_api - workspace = sdk.catalog_workspace.get_declarative_workspace(test_config["workspace"]) + workspace = sdk.catalog_workspace.get_declarative_workspace( + workspace_id=test_config["workspace"], exclude=["ACTIVITY_INFO"] + ) assert len(workspace.ldm.datasets) == 5 assert len(workspace.ldm.date_instances) == 1 @@ -570,7 +574,7 @@ def test_get_declarative_workspace(test_config): assert len(workspace.analytics.metrics) == 24 assert len(workspace.analytics.visualization_objects) == 15 assert workspace.to_dict(camel_case=True) == layout_api.get_workspace_layout( - workspace_id=test_config["workspace"] + workspace_id=test_config["workspace"], exclude=["ACTIVITY_INFO"] ).to_dict(camel_case=True) diff --git a/gooddata-sdk/tests/catalog/test_catalog_workspace_content.py b/gooddata-sdk/tests/catalog/test_catalog_workspace_content.py index 2694a4991..710a22db0 100644 --- a/gooddata-sdk/tests/catalog/test_catalog_workspace_content.py +++ b/gooddata-sdk/tests/catalog/test_catalog_workspace_content.py @@ -180,11 +180,15 @@ def test_load_and_put_declarative_analytics_model(test_config): workspace_id = test_config["workspace"] identifier = test_config["workspace_test"] _set_up_workspace_ldm(sdk, workspace_id, identifier) - analytics_model_e = sdk.catalog_workspace_content.get_declarative_analytics_model(workspace_id) + analytics_model_e = sdk.catalog_workspace_content.get_declarative_analytics_model( + workspace_id, exclude=["ACTIVITY_INFO"] + ) try: sdk.catalog_workspace_content.load_and_put_declarative_analytics_model(identifier, path) - analytics_model_o = sdk.catalog_workspace_content.get_declarative_analytics_model(identifier) + analytics_model_o = sdk.catalog_workspace_content.get_declarative_analytics_model( + identifier, exclude=["ACTIVITY_INFO"] + ) assert analytics_model_e == analytics_model_o assert analytics_model_e.to_api().to_dict() == analytics_model_o.to_api().to_dict() finally: @@ -228,7 +232,9 @@ def test_put_declarative_ldm(test_config): def test_get_declarative_analytics_model(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "expected" / "declarative_analytics_model.json" - analytics_model_o = sdk.catalog_workspace_content.get_declarative_analytics_model(test_config["workspace"]) + analytics_model_o = sdk.catalog_workspace_content.get_declarative_analytics_model( + test_config["workspace"], exclude=["ACTIVITY_INFO"] + ) with open(path) as f: data = json.load(f)