@gooddata/sdk-backend-spi 11.40.0-alpha.3 → 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/index.d.ts
CHANGED
|
@@ -51,6 +51,7 @@ export type { IOrganizationSettingsService } from "./organization/settings/index
|
|
|
51
51
|
export type { IOrganizationExportTemplatesService } from "./organization/exportTemplates/index.js";
|
|
52
52
|
export type { IWorkspaceUserGroupsQuery, IWorkspaceUserGroupsQueryOptions, IWorkspaceUserGroupsQueryResult, } from "./workspace/userGroups/index.js";
|
|
53
53
|
export type { IWorkspaceAccessControlService } from "./workspace/accessControl/index.js";
|
|
54
|
+
export type { IObjectPermissionsObject, IWorkspaceObjectPermissionsService, } from "./workspace/objectPermissions/index.js";
|
|
54
55
|
export type { IOrganizationUserService, IOrganizationUsersQuery, IOrganizationUsersQueryResult, IOrganizationUserGroupsQuery, IOrganizationUserGroupsQueryResult, } from "./organization/users/index.js";
|
|
55
56
|
export type { IOrganizationPermissionService, IPermissionsAssignment, } from "./organization/permissions/index.js";
|
|
56
57
|
export type { IOrganizationNotificationChannelService } from "./organization/notificationChannels/index.js";
|
package/esm/sdk-backend-spi.d.ts
CHANGED
|
@@ -117,6 +117,7 @@ import { INotificationChannelMetadataObject } from '@gooddata/sdk-model';
|
|
|
117
117
|
import { INotificationChannelMetadataObjectDefinition } from '@gooddata/sdk-model';
|
|
118
118
|
import { INotificationChannelTestResponse } from '@gooddata/sdk-model';
|
|
119
119
|
import { INullableFilter } from '@gooddata/sdk-model';
|
|
120
|
+
import { IObjectAccessList } from '@gooddata/sdk-model';
|
|
120
121
|
import type { IObjectCertificationWrite } from '@gooddata/sdk-model';
|
|
121
122
|
import { IOpenAiConfig } from '@gooddata/sdk-model';
|
|
122
123
|
import { IOrganizationAssignee } from '@gooddata/sdk-model';
|
|
@@ -166,6 +167,7 @@ import { LlmProviderTestResults } from '@gooddata/sdk-model';
|
|
|
166
167
|
import type { MemoryItemStrategy } from '@gooddata/sdk-model';
|
|
167
168
|
import { NotificationChannelDestinationType } from '@gooddata/sdk-model';
|
|
168
169
|
import { ObjectOrigin } from '@gooddata/sdk-model';
|
|
170
|
+
import { ObjectPermissionsObjectKind } from '@gooddata/sdk-model';
|
|
169
171
|
import { ObjectType } from '@gooddata/sdk-model';
|
|
170
172
|
import { ObjRef } from '@gooddata/sdk-model';
|
|
171
173
|
import { OrganizationPermissionAssignment } from '@gooddata/sdk-model';
|
|
@@ -722,6 +724,11 @@ export declare interface IAnalyticalWorkspace {
|
|
|
722
724
|
* Returns service that can be used to manage access control records for the workspace.
|
|
723
725
|
*/
|
|
724
726
|
accessControl(): IWorkspaceAccessControlService;
|
|
727
|
+
/**
|
|
728
|
+
* Returns service that manages per-object access for catalog attributes, facts and labels.
|
|
729
|
+
* @alpha
|
|
730
|
+
*/
|
|
731
|
+
objectPermissions(): IWorkspaceObjectPermissionsService;
|
|
725
732
|
/**
|
|
726
733
|
* Returns service that operates over attribute hierarchies
|
|
727
734
|
* @alpha
|
|
@@ -5102,6 +5109,17 @@ export declare interface IObjectExpressionToken {
|
|
|
5102
5109
|
ref: ObjRef;
|
|
5103
5110
|
}
|
|
5104
5111
|
|
|
5112
|
+
/**
|
|
5113
|
+
* Identifies an object whose access is being managed. The `kind` lets the backend
|
|
5114
|
+
* route to the right endpoint without an extra lookup to resolve the ref.
|
|
5115
|
+
*
|
|
5116
|
+
* @alpha
|
|
5117
|
+
*/
|
|
5118
|
+
export declare interface IObjectPermissionsObject {
|
|
5119
|
+
readonly kind: ObjectPermissionsObjectKind;
|
|
5120
|
+
readonly ref: ObjRef;
|
|
5121
|
+
}
|
|
5122
|
+
|
|
5105
5123
|
/**
|
|
5106
5124
|
* Represents an organization that services analytical workspaces.
|
|
5107
5125
|
*
|
|
@@ -8565,6 +8583,38 @@ export declare interface IWorkspaceMeasuresService {
|
|
|
8565
8583
|
getConnectedAttributes(definition: IMeasure, auxMeasures?: IMeasure[]): Promise<ObjRef[]>;
|
|
8566
8584
|
}
|
|
8567
8585
|
|
|
8586
|
+
/**
|
|
8587
|
+
* Reads and updates who has access to a single catalog object. The grantee
|
|
8588
|
+
* types are shared with the dashboard share service so the same UI primitives
|
|
8589
|
+
* work for both flows.
|
|
8590
|
+
*
|
|
8591
|
+
* @alpha
|
|
8592
|
+
*/
|
|
8593
|
+
export declare interface IWorkspaceObjectPermissionsService {
|
|
8594
|
+
/**
|
|
8595
|
+
* Returns the current list of grants for the given object.
|
|
8596
|
+
*
|
|
8597
|
+
* @param target - the object whose access to read
|
|
8598
|
+
*/
|
|
8599
|
+
getAccessList(target: IObjectPermissionsObject): Promise<IObjectAccessList>;
|
|
8600
|
+
/**
|
|
8601
|
+
* Applies the given grants. Grantees not included in `grantees` are left
|
|
8602
|
+
* unchanged; a grantee with an empty `permissions` array is removed.
|
|
8603
|
+
*
|
|
8604
|
+
* @param target - the object whose access to change
|
|
8605
|
+
* @param grantees - grants to apply
|
|
8606
|
+
*/
|
|
8607
|
+
manageObjectPermissions(target: IObjectPermissionsObject, grantees: IGranularAccessGrantee[]): Promise<void>;
|
|
8608
|
+
/**
|
|
8609
|
+
* Returns the users and groups in the workspace that can be granted access.
|
|
8610
|
+
* Excludes the current user. Whether organization admins are excluded
|
|
8611
|
+
* depends on the backend.
|
|
8612
|
+
*
|
|
8613
|
+
* @param target - the object to find available assignees for
|
|
8614
|
+
*/
|
|
8615
|
+
getAvailableAssignees(target: IObjectPermissionsObject): Promise<IAvailableAccessGrantee[]>;
|
|
8616
|
+
}
|
|
8617
|
+
|
|
8568
8618
|
/**
|
|
8569
8619
|
* Service for querying additional parameter data.
|
|
8570
8620
|
*
|
package/esm/workspace/index.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ import { type IWorkspaceCatalogFactory } from "./ldm/catalog.js";
|
|
|
16
16
|
import { type IWorkspaceDatasetsService } from "./ldm/datasets.js";
|
|
17
17
|
import { type IWorkspaceLogicalModelService } from "./ldm/model.js";
|
|
18
18
|
import { type IWorkspaceMeasuresService } from "./measures/index.js";
|
|
19
|
+
import { type IWorkspaceObjectPermissionsService } from "./objectPermissions/index.js";
|
|
19
20
|
import { type IWorkspaceParametersService } from "./parameters/index.js";
|
|
20
21
|
import { type IWorkspacePermissionsService } from "./permissions/index.js";
|
|
21
22
|
import { type IReferencesService } from "./references/index.js";
|
|
@@ -128,6 +129,11 @@ export interface IAnalyticalWorkspace {
|
|
|
128
129
|
* Returns service that can be used to manage access control records for the workspace.
|
|
129
130
|
*/
|
|
130
131
|
accessControl(): IWorkspaceAccessControlService;
|
|
132
|
+
/**
|
|
133
|
+
* Returns service that manages per-object access for catalog attributes, facts and labels.
|
|
134
|
+
* @alpha
|
|
135
|
+
*/
|
|
136
|
+
objectPermissions(): IWorkspaceObjectPermissionsService;
|
|
131
137
|
/**
|
|
132
138
|
* Returns service that operates over attribute hierarchies
|
|
133
139
|
* @alpha
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { type IAvailableAccessGrantee, type IGranularAccessGrantee, type IObjectAccessList, type ObjRef, type ObjectPermissionsObjectKind } from "@gooddata/sdk-model";
|
|
2
|
+
/**
|
|
3
|
+
* Identifies an object whose access is being managed. The `kind` lets the backend
|
|
4
|
+
* route to the right endpoint without an extra lookup to resolve the ref.
|
|
5
|
+
*
|
|
6
|
+
* @alpha
|
|
7
|
+
*/
|
|
8
|
+
export interface IObjectPermissionsObject {
|
|
9
|
+
readonly kind: ObjectPermissionsObjectKind;
|
|
10
|
+
readonly ref: ObjRef;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Reads and updates who has access to a single catalog object. The grantee
|
|
14
|
+
* types are shared with the dashboard share service so the same UI primitives
|
|
15
|
+
* work for both flows.
|
|
16
|
+
*
|
|
17
|
+
* @alpha
|
|
18
|
+
*/
|
|
19
|
+
export interface IWorkspaceObjectPermissionsService {
|
|
20
|
+
/**
|
|
21
|
+
* Returns the current list of grants for the given object.
|
|
22
|
+
*
|
|
23
|
+
* @param target - the object whose access to read
|
|
24
|
+
*/
|
|
25
|
+
getAccessList(target: IObjectPermissionsObject): Promise<IObjectAccessList>;
|
|
26
|
+
/**
|
|
27
|
+
* Applies the given grants. Grantees not included in `grantees` are left
|
|
28
|
+
* unchanged; a grantee with an empty `permissions` array is removed.
|
|
29
|
+
*
|
|
30
|
+
* @param target - the object whose access to change
|
|
31
|
+
* @param grantees - grants to apply
|
|
32
|
+
*/
|
|
33
|
+
manageObjectPermissions(target: IObjectPermissionsObject, grantees: IGranularAccessGrantee[]): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Returns the users and groups in the workspace that can be granted access.
|
|
36
|
+
* Excludes the current user. Whether organization admins are excluded
|
|
37
|
+
* depends on the backend.
|
|
38
|
+
*
|
|
39
|
+
* @param target - the object to find available assignees for
|
|
40
|
+
*/
|
|
41
|
+
getAvailableAssignees(target: IObjectPermissionsObject): Promise<IAvailableAccessGrantee[]>;
|
|
42
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-backend-spi",
|
|
3
|
-
"version": "11.40.0-alpha.
|
|
3
|
+
"version": "11.40.0-alpha.4",
|
|
4
4
|
"description": "GoodData Backend SPI abstraction interfaces",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "GoodData",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"lodash-es": "^4.17.23",
|
|
25
25
|
"ts-invariant": "0.10.3",
|
|
26
26
|
"tslib": "2.8.1",
|
|
27
|
-
"@gooddata/sdk-model": "11.40.0-alpha.
|
|
27
|
+
"@gooddata/sdk-model": "11.40.0-alpha.4"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@microsoft/api-documenter": "^7.17.0",
|
|
@@ -43,13 +43,13 @@
|
|
|
43
43
|
"eslint-plugin-no-barrel-files": "1.2.2",
|
|
44
44
|
"eslint-plugin-sonarjs": "3.0.6",
|
|
45
45
|
"npm-run-all": "^4.1.5",
|
|
46
|
-
"oxfmt": "0.
|
|
47
|
-
"oxlint": "
|
|
48
|
-
"oxlint-tsgolint": "0.
|
|
46
|
+
"oxfmt": "0.52.0",
|
|
47
|
+
"oxlint": "1.51.0",
|
|
48
|
+
"oxlint-tsgolint": "0.15.0",
|
|
49
49
|
"typescript": "5.9.3",
|
|
50
|
-
"vitest": "4.1.
|
|
51
|
-
"@gooddata/oxlint-config": "11.40.0-alpha.
|
|
52
|
-
"@gooddata/eslint-config": "11.40.0-alpha.
|
|
50
|
+
"vitest": "4.1.8",
|
|
51
|
+
"@gooddata/oxlint-config": "11.40.0-alpha.4",
|
|
52
|
+
"@gooddata/eslint-config": "11.40.0-alpha.4"
|
|
53
53
|
},
|
|
54
54
|
"scripts": {
|
|
55
55
|
"_phase:build": "npm run build",
|