@gooddata/sdk-model 11.40.0-alpha.2 → 11.40.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/accessControl/index.d.ts +16 -0
- package/esm/accessControl/index.js +1 -1
- package/esm/accessControl/objectPermissions.d.ts +23 -0
- package/esm/accessControl/objectPermissions.js +10 -0
- package/esm/dataSources/index.d.ts +1 -1
- package/esm/index.d.ts +2 -1
- package/esm/index.js +1 -0
- package/esm/sdk-model.d.ts +54 -1
- package/esm/settings/settings.d.ts +11 -0
- package/package.json +7 -7
|
@@ -163,6 +163,13 @@ export declare const isUserGroupAccessGrantee: (obj: unknown) => obj is IUserGro
|
|
|
163
163
|
* @public
|
|
164
164
|
*/
|
|
165
165
|
export type AccessGranularPermission = "VIEW" | "EDIT" | "SHARE";
|
|
166
|
+
/**
|
|
167
|
+
* Provenance of a granted permission — granted directly to the grantee,
|
|
168
|
+
* or inherited from a group or rule.
|
|
169
|
+
*
|
|
170
|
+
* @alpha
|
|
171
|
+
*/
|
|
172
|
+
export type PermissionSource = "direct" | "indirect";
|
|
166
173
|
/**
|
|
167
174
|
* Access grantee specification with granular permissions.
|
|
168
175
|
*
|
|
@@ -177,6 +184,15 @@ export interface IGranteeGranularity {
|
|
|
177
184
|
* Permissions granted by inheritance
|
|
178
185
|
*/
|
|
179
186
|
inheritedPermissions: AccessGranularPermission[];
|
|
187
|
+
/**
|
|
188
|
+
* Optional per-permission provenance, positionally aligned with
|
|
189
|
+
* {@link IGranteeGranularity.permissions}. When present, entry `i` describes
|
|
190
|
+
* how `permissions[i]` was granted. Backends that don't track this omit
|
|
191
|
+
* the field.
|
|
192
|
+
*
|
|
193
|
+
* @alpha
|
|
194
|
+
*/
|
|
195
|
+
permissionSources?: PermissionSource[];
|
|
180
196
|
}
|
|
181
197
|
/**
|
|
182
198
|
* User access grantee specification with granular permissions.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type AccessGranteeDetail } from "./index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Catalog object kinds that support per-object access management.
|
|
4
|
+
*
|
|
5
|
+
* @alpha
|
|
6
|
+
*/
|
|
7
|
+
export type ObjectPermissionsObjectKind = "attribute" | "fact" | "label";
|
|
8
|
+
/**
|
|
9
|
+
* Tests whether the provided value is an {@link ObjectPermissionsObjectKind}.
|
|
10
|
+
*
|
|
11
|
+
* @param k - value to test
|
|
12
|
+
* @alpha
|
|
13
|
+
*/
|
|
14
|
+
export declare const isObjectPermissionsObjectKind: (k: unknown) => k is ObjectPermissionsObjectKind;
|
|
15
|
+
/**
|
|
16
|
+
* Current access state for a single object: a flat list of grants. Grants reuse
|
|
17
|
+
* the shared {@link AccessGranteeDetail} union.
|
|
18
|
+
*
|
|
19
|
+
* @alpha
|
|
20
|
+
*/
|
|
21
|
+
export interface IObjectAccessList {
|
|
22
|
+
grants: AccessGranteeDetail[];
|
|
23
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// (C) 2026 GoodData Corporation
|
|
2
|
+
/**
|
|
3
|
+
* Tests whether the provided value is an {@link ObjectPermissionsObjectKind}.
|
|
4
|
+
*
|
|
5
|
+
* @param k - value to test
|
|
6
|
+
* @alpha
|
|
7
|
+
*/
|
|
8
|
+
export const isObjectPermissionsObjectKind = (k) => {
|
|
9
|
+
return k === "attribute" || k === "fact" || k === "label";
|
|
10
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @alpha
|
|
3
3
|
*/
|
|
4
|
-
export type DataSourceType = "POSTGRESQL" | "REDSHIFT" | "VERTICA" | "SNOWFLAKE" | "ADS" | "BIGQUERY" | "MSSQL" | "PRESTO" | "DREMIO" | "DRILL" | "GREENPLUM" | "AZURESQL" | "SYNAPSESQL" | "DATABRICKS" | "GDSTORAGE" | "CLICKHOUSE" | "CRATEDB" | "MYSQL" | "MARIADB" | "ORACLE" | "PINOT" | "STARROCKS" | "ATHENA" | "SINGLESTORE" | "MOTHERDUCK" | "MONGODB" | "FLEXCONNECT" | "AILAKEHOUSE";
|
|
4
|
+
export type DataSourceType = "POSTGRESQL" | "REDSHIFT" | "VERTICA" | "SNOWFLAKE" | "ADS" | "BIGQUERY" | "MSSQL" | "PRESTO" | "DREMIO" | "DRILL" | "GREENPLUM" | "AZURESQL" | "SYNAPSESQL" | "DATABRICKS" | "GDSTORAGE" | "CLICKHOUSE" | "CRATEDB" | "MYSQL" | "MARIADB" | "ORACLE" | "PINOT" | "DENODO" | "STARROCKS" | "ATHENA" | "SINGLESTORE" | "MOTHERDUCK" | "MONGODB" | "FLEXCONNECT" | "AILAKEHOUSE";
|
|
5
5
|
/**
|
|
6
6
|
* @alpha
|
|
7
7
|
*/
|
package/esm/index.d.ts
CHANGED
|
@@ -83,7 +83,8 @@ export type { IWorkspaceUserGroup } from "./userGroup/index.js";
|
|
|
83
83
|
export type { ThemeFontUri, ThemeColor, IThemeColorFamily, IThemeComplementaryPalette, IThemeWidgetTitle, IThemeTypography, IThemeFontsDef, IThemePalette, IThemeKpi, IThemeKpiValue, IThemeChart, IThemeTable, ITheme, IThemeAnalyticalDesigner, IThemeAnalyticalDesignerTitle, IThemeButton, IThemeDashboard, IThemeDashboardContent, IThemeDashboardContentKpi, IThemeDashboardContentWidget, IThemeDashboardEditPanel, IThemeDashboardFilterBar, IThemeDashboardFilterBarButton, IThemeDashboardNavigation, IThemeDashboardNavigationItem, IThemeDashboardNavigationTitle, IThemeDashboardSection, IThemeDashboardSectionDescription, IThemeDashboardSectionTitle, IThemeDashboardTitle, IThemeMetadataObject, IThemeDefinition, IThemeModal, IThemeModalTitle, IThemeTooltip, IThemeImages, IThemeMessage, IThemeMessageVariant, IThemeToastMessage, IThemeToastMessageVariant, IThemeHeader, ImageUri, IThemeAxis, IThemeChartTooltip, IThemeDataLabel, ThemeDashboardDensity, } from "./theme/index.js";
|
|
84
84
|
export type { IWorkspacePermissions, WorkspacePermission } from "./permissions/index.js";
|
|
85
85
|
export { type DataValue, type ForecastDataValue, type IGeoJsonFeature, type IMeasureDescriptor, type IMeasureDescriptorObject, type IMeasureDescriptorItem, type IDimensionItemDescriptor, type IDimensionDescriptor, type IAttributeHeaderFormOf, type IAttributeDescriptorBody, type IAttributeDescriptor, type IMeasureGroupDescriptor, type IResultAttributeHeader, type IResultHeader, type IResultMeasureHeader, type IResultAttributeHeaderItem, type IResultMeasureHeaderItem, type IResultTotalHeader, type IResultTotalHeaderItem, type ITotalDescriptor, type ITotalDescriptorItem, type IResultWarning, type IColorDescriptor, type IColorDescriptorItem, isColorDescriptor, isAttributeDescriptor, isMeasureGroupDescriptor, isTotalDescriptor, isMeasureDescriptor, isResultAttributeHeader, isResultMeasureHeader, isResultTotalHeader, resultHeaderName, attributeDescriptorLocalId, attributeDescriptorName, geoFeatureId, } from "./execution/results/index.js";
|
|
86
|
-
export { type AccessGranteeDetail, type IAccessGrantee, type IUserAccess, type IUserAccessGrantee, type IUserGroupAccess, type IUserGroupAccessGrantee, type IGranularAccessGrantee, type AccessGranularPermission, type IGranteeGranularity, type IAvailableAccessGrantee, type IAvailableUserAccessGrantee, type IAvailableUserGroupAccessGrantee, type IGranularUserAccess, type IGranularUserGroupAccess, type IGranularRulesAccess, type IGranularUserAccessGrantee, type IGranularUserGroupAccessGrantee, type IGranularRulesAccessGrantee, type WorkspaceAccessPermission, type IWorkspaceAccess, type IUserWorkspaceAccessGrantee, type IUserGroupWorkspaceAccessGrantee, isUserAccess, isUserAccessGrantee, isUserGroupAccess, isUserGroupAccessGrantee, isGranularAccess, isAvailableUserGroupAccessGrantee, isAvailableUserAccessGrantee, isGranularAccessGrantee, isGranularUserAccessGrantee, isGranularUserGroupAccessGrantee, isGranularUserAccess, isGranularUserGroupAccess, isGranularRulesAccessGrantee, isUserWorkspaceAccessGrantee, isUserGroupWorkspaceAccessGrantee, } from "./accessControl/index.js";
|
|
86
|
+
export { type AccessGranteeDetail, type IAccessGrantee, type IUserAccess, type IUserAccessGrantee, type IUserGroupAccess, type IUserGroupAccessGrantee, type IGranularAccessGrantee, type AccessGranularPermission, type PermissionSource, type IGranteeGranularity, type IAvailableAccessGrantee, type IAvailableUserAccessGrantee, type IAvailableUserGroupAccessGrantee, type IGranularUserAccess, type IGranularUserGroupAccess, type IGranularRulesAccess, type IGranularUserAccessGrantee, type IGranularUserGroupAccessGrantee, type IGranularRulesAccessGrantee, type WorkspaceAccessPermission, type IWorkspaceAccess, type IUserWorkspaceAccessGrantee, type IUserGroupWorkspaceAccessGrantee, isUserAccess, isUserAccessGrantee, isUserGroupAccess, isUserGroupAccessGrantee, isGranularAccess, isAvailableUserGroupAccessGrantee, isAvailableUserAccessGrantee, isGranularAccessGrantee, isGranularUserAccessGrantee, isGranularUserGroupAccessGrantee, isGranularUserAccess, isGranularUserGroupAccess, isGranularRulesAccessGrantee, isUserWorkspaceAccessGrantee, isUserGroupWorkspaceAccessGrantee, } from "./accessControl/index.js";
|
|
87
|
+
export { type ObjectPermissionsObjectKind, isObjectPermissionsObjectKind, type IObjectAccessList, } from "./accessControl/objectPermissions.js";
|
|
87
88
|
export { type IOrganizationDescriptor, type IOrganizationDescriptorUpdate, type IWorkspacePermissionAssignment, type IAssignedWorkspace, type AssignedWorkspacePermission, type IOrganizationPermissionAssignment, type OrganizationPermissionAssignment, type IOrganizationAssignee, type AssignedDataSourcePermission, type IAssignedDataSource, type IDataSourcePermissionAssignment, AssignedWorkspacePermissionValue, OrganizationPermissionAssignmentValue, AssignedDataSourcePermissionValue, isAssignedWorkspacePermission, } from "./organization/index.js";
|
|
88
89
|
export type { IEntitlementsName, IEntitlementDescriptor } from "./entitlements/index.js";
|
|
89
90
|
export type { DataSourceType, IDataSourceIdentifierDescriptor } from "./dataSources/index.js";
|
package/esm/index.js
CHANGED
|
@@ -72,6 +72,7 @@ export { DashboardParameterModeValues, isDashboardParameter, } from "./dashboard
|
|
|
72
72
|
export { isSeparators, } from "./settings/settings.js";
|
|
73
73
|
export { isColorDescriptor, isAttributeDescriptor, isMeasureGroupDescriptor, isTotalDescriptor, isMeasureDescriptor, isResultAttributeHeader, isResultMeasureHeader, isResultTotalHeader, resultHeaderName, attributeDescriptorLocalId, attributeDescriptorName, geoFeatureId, } from "./execution/results/index.js";
|
|
74
74
|
export { isUserAccess, isUserAccessGrantee, isUserGroupAccess, isUserGroupAccessGrantee, isGranularAccess, isAvailableUserGroupAccessGrantee, isAvailableUserAccessGrantee, isGranularAccessGrantee, isGranularUserAccessGrantee, isGranularUserGroupAccessGrantee, isGranularUserAccess, isGranularUserGroupAccess, isGranularRulesAccessGrantee, isUserWorkspaceAccessGrantee, isUserGroupWorkspaceAccessGrantee, } from "./accessControl/index.js";
|
|
75
|
+
export { isObjectPermissionsObjectKind, } from "./accessControl/objectPermissions.js";
|
|
75
76
|
export { AssignedWorkspacePermissionValue, OrganizationPermissionAssignmentValue, AssignedDataSourcePermissionValue, isAssignedWorkspacePermission, } from "./organization/index.js";
|
|
76
77
|
export { exportDefinitionTitle, exportDefinitionCreated, exportDefinitionUpdated, isExportDefinitionDashboardRequestPayload, isExportDefinitionVisualizationObjectRequestPayload, } from "./exports/index.js";
|
|
77
78
|
export { CSV_DELIMITER_PRESETS, DEFAULT_CSV_DELIMITER, DEFAULT_CSV_DELIMITER_PRESET_ID, getCsvDelimiterValidationError, getCsvDelimiterPreset, getCsvDelimiterValue, getCsvDelimiterState, } from "./exports/csvDelimiter.js";
|
package/esm/sdk-model.d.ts
CHANGED
|
@@ -1269,7 +1269,7 @@ export declare type DatasetLoadStatus = "RUNNING" | "OK" | "ERROR" | "CANCELLED"
|
|
|
1269
1269
|
/**
|
|
1270
1270
|
* @alpha
|
|
1271
1271
|
*/
|
|
1272
|
-
export declare type DataSourceType = "POSTGRESQL" | "REDSHIFT" | "VERTICA" | "SNOWFLAKE" | "ADS" | "BIGQUERY" | "MSSQL" | "PRESTO" | "DREMIO" | "DRILL" | "GREENPLUM" | "AZURESQL" | "SYNAPSESQL" | "DATABRICKS" | "GDSTORAGE" | "CLICKHOUSE" | "CRATEDB" | "MYSQL" | "MARIADB" | "ORACLE" | "PINOT" | "STARROCKS" | "ATHENA" | "SINGLESTORE" | "MOTHERDUCK" | "MONGODB" | "FLEXCONNECT" | "AILAKEHOUSE";
|
|
1272
|
+
export declare type DataSourceType = "POSTGRESQL" | "REDSHIFT" | "VERTICA" | "SNOWFLAKE" | "ADS" | "BIGQUERY" | "MSSQL" | "PRESTO" | "DREMIO" | "DRILL" | "GREENPLUM" | "AZURESQL" | "SYNAPSESQL" | "DATABRICKS" | "GDSTORAGE" | "CLICKHOUSE" | "CRATEDB" | "MYSQL" | "MARIADB" | "ORACLE" | "PINOT" | "DENODO" | "STARROCKS" | "ATHENA" | "SINGLESTORE" | "MOTHERDUCK" | "MONGODB" | "FLEXCONNECT" | "AILAKEHOUSE";
|
|
1273
1273
|
|
|
1274
1274
|
/**
|
|
1275
1275
|
* Single calculated data value.
|
|
@@ -6978,6 +6978,17 @@ export declare interface IFeatureFlags {
|
|
|
6978
6978
|
* Enables Metric Editor loading as a remote module in the host application.
|
|
6979
6979
|
*/
|
|
6980
6980
|
enableShellApplication_metricEditor?: boolean;
|
|
6981
|
+
/**
|
|
6982
|
+
* Per-app sub-flag under enableShellApplication. When true (and
|
|
6983
|
+
* enableShellApplication is also true), Analytical Designer runs as a
|
|
6984
|
+
* pluggable app inside the host. When false, the legacy standalone AD
|
|
6985
|
+
* served at the /analyze hash route is rendered instead.
|
|
6986
|
+
*/
|
|
6987
|
+
enableShellApplication_analyticalDesigner?: boolean;
|
|
6988
|
+
/**
|
|
6989
|
+
* Enables Resizable Dashboard sidebar in edit mode.
|
|
6990
|
+
*/
|
|
6991
|
+
enableDashboardSidebarResize?: boolean;
|
|
6981
6992
|
}
|
|
6982
6993
|
|
|
6983
6994
|
/**
|
|
@@ -7672,6 +7683,15 @@ export declare interface IGranteeGranularity {
|
|
|
7672
7683
|
* Permissions granted by inheritance
|
|
7673
7684
|
*/
|
|
7674
7685
|
inheritedPermissions: AccessGranularPermission[];
|
|
7686
|
+
/**
|
|
7687
|
+
* Optional per-permission provenance, positionally aligned with
|
|
7688
|
+
* {@link IGranteeGranularity.permissions}. When present, entry `i` describes
|
|
7689
|
+
* how `permissions[i]` was granted. Backends that don't track this omit
|
|
7690
|
+
* the field.
|
|
7691
|
+
*
|
|
7692
|
+
* @alpha
|
|
7693
|
+
*/
|
|
7694
|
+
permissionSources?: PermissionSource[];
|
|
7675
7695
|
}
|
|
7676
7696
|
|
|
7677
7697
|
/**
|
|
@@ -9824,6 +9844,16 @@ export declare interface INumberParameterDefinition {
|
|
|
9824
9844
|
constraints?: INumberParameterConstraints;
|
|
9825
9845
|
}
|
|
9826
9846
|
|
|
9847
|
+
/**
|
|
9848
|
+
* Current access state for a single object: a flat list of grants. Grants reuse
|
|
9849
|
+
* the shared {@link AccessGranteeDetail} union.
|
|
9850
|
+
*
|
|
9851
|
+
* @alpha
|
|
9852
|
+
*/
|
|
9853
|
+
export declare interface IObjectAccessList {
|
|
9854
|
+
grants: AccessGranteeDetail[];
|
|
9855
|
+
}
|
|
9856
|
+
|
|
9827
9857
|
/**
|
|
9828
9858
|
* Object certification data.
|
|
9829
9859
|
*
|
|
@@ -12408,6 +12438,14 @@ export declare function isNotificationChannelMetadataObjectDefinition(obj: unkno
|
|
|
12408
12438
|
*/
|
|
12409
12439
|
export declare function isNumberParameterDefinition(def: IParameterDefinition): def is INumberParameterDefinition;
|
|
12410
12440
|
|
|
12441
|
+
/**
|
|
12442
|
+
* Tests whether the provided value is an {@link ObjectPermissionsObjectKind}.
|
|
12443
|
+
*
|
|
12444
|
+
* @param k - value to test
|
|
12445
|
+
* @alpha
|
|
12446
|
+
*/
|
|
12447
|
+
export declare const isObjectPermissionsObjectKind: (k: unknown) => k is ObjectPermissionsObjectKind;
|
|
12448
|
+
|
|
12411
12449
|
/**
|
|
12412
12450
|
* Type guard checking whether object is an Identifier Reference or an URI reference.
|
|
12413
12451
|
*
|
|
@@ -16211,6 +16249,13 @@ export declare type NotificationType = "alertNotification" | "scheduleNotificati
|
|
|
16211
16249
|
*/
|
|
16212
16250
|
export declare type ObjectOrigin = "ALL" | "PARENTS" | "NATIVE";
|
|
16213
16251
|
|
|
16252
|
+
/**
|
|
16253
|
+
* Catalog object kinds that support per-object access management.
|
|
16254
|
+
*
|
|
16255
|
+
* @alpha
|
|
16256
|
+
*/
|
|
16257
|
+
export declare type ObjectPermissionsObjectKind = "attribute" | "fact" | "label";
|
|
16258
|
+
|
|
16214
16259
|
/**
|
|
16215
16260
|
* Metadata object types
|
|
16216
16261
|
*
|
|
@@ -16268,6 +16313,14 @@ export declare const OrganizationPermissionAssignmentValue: {
|
|
|
16268
16313
|
readonly BASE_UI_ACCESS: "BASE_UI_ACCESS";
|
|
16269
16314
|
};
|
|
16270
16315
|
|
|
16316
|
+
/**
|
|
16317
|
+
* Provenance of a granted permission — granted directly to the grantee,
|
|
16318
|
+
* or inherited from a group or rule.
|
|
16319
|
+
*
|
|
16320
|
+
* @alpha
|
|
16321
|
+
*/
|
|
16322
|
+
export declare type PermissionSource = "direct" | "indirect";
|
|
16323
|
+
|
|
16271
16324
|
/**
|
|
16272
16325
|
* Indicates current platform edition.
|
|
16273
16326
|
*
|
|
@@ -1018,4 +1018,15 @@ export interface IFeatureFlags {
|
|
|
1018
1018
|
* Enables Metric Editor loading as a remote module in the host application.
|
|
1019
1019
|
*/
|
|
1020
1020
|
enableShellApplication_metricEditor?: boolean;
|
|
1021
|
+
/**
|
|
1022
|
+
* Per-app sub-flag under enableShellApplication. When true (and
|
|
1023
|
+
* enableShellApplication is also true), Analytical Designer runs as a
|
|
1024
|
+
* pluggable app inside the host. When false, the legacy standalone AD
|
|
1025
|
+
* served at the /analyze hash route is rendered instead.
|
|
1026
|
+
*/
|
|
1027
|
+
enableShellApplication_analyticalDesigner?: boolean;
|
|
1028
|
+
/**
|
|
1029
|
+
* Enables Resizable Dashboard sidebar in edit mode.
|
|
1030
|
+
*/
|
|
1031
|
+
enableDashboardSidebarResize?: boolean;
|
|
1021
1032
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-model",
|
|
3
|
-
"version": "11.40.0-alpha.
|
|
3
|
+
"version": "11.40.0-alpha.4",
|
|
4
4
|
"description": "GoodData Model definitions used by UI components and Backend SPI",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "GoodData",
|
|
@@ -52,13 +52,13 @@
|
|
|
52
52
|
"eslint-plugin-no-barrel-files": "1.2.2",
|
|
53
53
|
"eslint-plugin-sonarjs": "3.0.6",
|
|
54
54
|
"npm-run-all": "^4.1.5",
|
|
55
|
-
"oxfmt": "0.
|
|
56
|
-
"oxlint": "
|
|
57
|
-
"oxlint-tsgolint": "0.
|
|
55
|
+
"oxfmt": "0.52.0",
|
|
56
|
+
"oxlint": "1.51.0",
|
|
57
|
+
"oxlint-tsgolint": "0.15.0",
|
|
58
58
|
"typescript": "5.9.3",
|
|
59
|
-
"vitest": "4.1.
|
|
60
|
-
"@gooddata/eslint-config": "11.40.0-alpha.
|
|
61
|
-
"@gooddata/oxlint-config": "11.40.0-alpha.
|
|
59
|
+
"vitest": "4.1.8",
|
|
60
|
+
"@gooddata/eslint-config": "11.40.0-alpha.4",
|
|
61
|
+
"@gooddata/oxlint-config": "11.40.0-alpha.4"
|
|
62
62
|
},
|
|
63
63
|
"scripts": {
|
|
64
64
|
"_phase:build": "npm run build",
|