@or-sdk/permissions 2.3.2-beta.4054.0 → 2.4.0
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/CHANGELOG.md +9 -0
- package/dist/cjs/Permissions.js +92 -8
- package/dist/cjs/Permissions.js.map +1 -1
- package/dist/cjs/types.js +1 -0
- package/dist/cjs/types.js.map +1 -1
- package/dist/esm/Permissions.js +52 -3
- package/dist/esm/Permissions.js.map +1 -1
- package/dist/esm/types.js +1 -0
- package/dist/esm/types.js.map +1 -1
- package/dist/types/Permissions.d.ts +113 -2
- package/dist/types/Permissions.d.ts.map +1 -1
- package/dist/types/types.d.ts +30 -1
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +3 -2
- package/src/Permissions.ts +77 -4
- package/src/types.ts +29 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,15 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [2.4.0](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/compare/@or-sdk/permissions@2.3.1...@or-sdk/permissions@2.4.0) (2026-03-23)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **permissions:** add api token support ([4abbf15](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/commit/4abbf15a567f94ddc8b3d9460693fa4f7ebc3fd2))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
6
15
|
## [2.3.1](https://gitlab.internal.onereach.io/onereach/platform/or-sdk-next/compare/@or-sdk/permissions@2.3.0...@or-sdk/permissions@2.3.1) (2026-02-25)
|
|
7
16
|
|
|
8
17
|
**Note:** Version bump only for package @or-sdk/permissions
|
package/dist/cjs/Permissions.js
CHANGED
|
@@ -82,6 +82,22 @@ var Permissions = (function (_super) {
|
|
|
82
82
|
});
|
|
83
83
|
});
|
|
84
84
|
};
|
|
85
|
+
Permissions.prototype.getAllAvailablePermissions = function () {
|
|
86
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
87
|
+
var data;
|
|
88
|
+
return __generator(this, function (_a) {
|
|
89
|
+
switch (_a.label) {
|
|
90
|
+
case 0: return [4, this.callApiV2({
|
|
91
|
+
method: 'GET',
|
|
92
|
+
route: '/v1/permissions/available',
|
|
93
|
+
})];
|
|
94
|
+
case 1:
|
|
95
|
+
data = _a.sent();
|
|
96
|
+
return [2, data];
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
};
|
|
85
101
|
Permissions.prototype.getCurrent = function () {
|
|
86
102
|
return __awaiter(this, void 0, void 0, function () {
|
|
87
103
|
var data;
|
|
@@ -214,17 +230,15 @@ var Permissions = (function (_super) {
|
|
|
214
230
|
});
|
|
215
231
|
});
|
|
216
232
|
};
|
|
217
|
-
Permissions.prototype.getByUserIdInCurrentAccount = function (userId
|
|
233
|
+
Permissions.prototype.getByUserIdInCurrentAccount = function (userId) {
|
|
218
234
|
return __awaiter(this, void 0, void 0, function () {
|
|
219
|
-
var
|
|
235
|
+
var response;
|
|
220
236
|
return __generator(this, function (_a) {
|
|
221
237
|
switch (_a.label) {
|
|
222
|
-
case 0:
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
route: "/v1/permissions/accounts/".concat(account, "/users/").concat(userId),
|
|
227
|
-
})];
|
|
238
|
+
case 0: return [4, this.callApiV2({
|
|
239
|
+
method: 'GET',
|
|
240
|
+
route: "/v1/permissions/accounts/current/users/".concat(userId),
|
|
241
|
+
})];
|
|
228
242
|
case 1:
|
|
229
243
|
response = _a.sent();
|
|
230
244
|
return [2, response];
|
|
@@ -249,6 +263,76 @@ var Permissions = (function (_super) {
|
|
|
249
263
|
});
|
|
250
264
|
});
|
|
251
265
|
};
|
|
266
|
+
Permissions.prototype.getApiTokenPermissions = function (tokenId) {
|
|
267
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
268
|
+
var response;
|
|
269
|
+
return __generator(this, function (_a) {
|
|
270
|
+
switch (_a.label) {
|
|
271
|
+
case 0: return [4, this.callApiV2({
|
|
272
|
+
method: 'GET',
|
|
273
|
+
route: "/v1/permissions/api-token/".concat(tokenId),
|
|
274
|
+
})];
|
|
275
|
+
case 1:
|
|
276
|
+
response = _a.sent();
|
|
277
|
+
return [2, response];
|
|
278
|
+
}
|
|
279
|
+
});
|
|
280
|
+
});
|
|
281
|
+
};
|
|
282
|
+
Permissions.prototype.getBulkApiTokenPermissions = function (tokenIds) {
|
|
283
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
284
|
+
var response;
|
|
285
|
+
return __generator(this, function (_a) {
|
|
286
|
+
switch (_a.label) {
|
|
287
|
+
case 0: return [4, this.callApiV2({
|
|
288
|
+
method: 'POST',
|
|
289
|
+
route: '/v1/permissions/api-token/bulk',
|
|
290
|
+
data: { tokenIds: tokenIds },
|
|
291
|
+
})];
|
|
292
|
+
case 1:
|
|
293
|
+
response = _a.sent();
|
|
294
|
+
return [2, response];
|
|
295
|
+
}
|
|
296
|
+
});
|
|
297
|
+
});
|
|
298
|
+
};
|
|
299
|
+
Permissions.prototype.setApiTokenPermissions = function (params) {
|
|
300
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
301
|
+
var data, response;
|
|
302
|
+
return __generator(this, function (_a) {
|
|
303
|
+
switch (_a.label) {
|
|
304
|
+
case 0:
|
|
305
|
+
data = {
|
|
306
|
+
permissions: params.permissions,
|
|
307
|
+
};
|
|
308
|
+
return [4, this.callApiV2({
|
|
309
|
+
method: 'PUT',
|
|
310
|
+
route: "/v1/permissions/api-token/".concat(params.tokenId),
|
|
311
|
+
data: data,
|
|
312
|
+
})];
|
|
313
|
+
case 1:
|
|
314
|
+
response = _a.sent();
|
|
315
|
+
return [2, response];
|
|
316
|
+
}
|
|
317
|
+
});
|
|
318
|
+
});
|
|
319
|
+
};
|
|
320
|
+
Permissions.prototype.deleteApiTokenPermissions = function (tokenId) {
|
|
321
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
322
|
+
var response;
|
|
323
|
+
return __generator(this, function (_a) {
|
|
324
|
+
switch (_a.label) {
|
|
325
|
+
case 0: return [4, this.callApiV2({
|
|
326
|
+
method: 'DELETE',
|
|
327
|
+
route: "/v1/permissions/api-token/".concat(tokenId, "/overrides"),
|
|
328
|
+
})];
|
|
329
|
+
case 1:
|
|
330
|
+
response = _a.sent();
|
|
331
|
+
return [2, response];
|
|
332
|
+
}
|
|
333
|
+
});
|
|
334
|
+
});
|
|
335
|
+
};
|
|
252
336
|
return Permissions;
|
|
253
337
|
}(base_1.Base));
|
|
254
338
|
exports.Permissions = Permissions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Permissions.js","sourceRoot":"","sources":["../../src/Permissions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAoC;AAEpC,yCAA0C;
|
|
1
|
+
{"version":3,"file":"Permissions.js","sourceRoot":"","sources":["../../src/Permissions.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/types.js
CHANGED
package/dist/cjs/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAEA,IAAY,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAEA,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,uCAAyB,CAAA;IACzB,qCAAuB,CAAA;IACvB,mCAAqB,CAAA;AACvB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB"}
|
package/dist/esm/Permissions.js
CHANGED
|
@@ -29,6 +29,15 @@ export class Permissions extends Base {
|
|
|
29
29
|
return data;
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
|
+
getAllAvailablePermissions() {
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
const data = yield this.callApiV2({
|
|
35
|
+
method: 'GET',
|
|
36
|
+
route: '/v1/permissions/available',
|
|
37
|
+
});
|
|
38
|
+
return data;
|
|
39
|
+
});
|
|
40
|
+
}
|
|
32
41
|
getCurrent() {
|
|
33
42
|
return __awaiter(this, void 0, void 0, function* () {
|
|
34
43
|
const data = yield this.callApiV2({
|
|
@@ -107,12 +116,11 @@ export class Permissions extends Base {
|
|
|
107
116
|
return response;
|
|
108
117
|
});
|
|
109
118
|
}
|
|
110
|
-
getByUserIdInCurrentAccount(userId
|
|
119
|
+
getByUserIdInCurrentAccount(userId) {
|
|
111
120
|
return __awaiter(this, void 0, void 0, function* () {
|
|
112
|
-
const account = accountId ? accountId : 'current';
|
|
113
121
|
const response = yield this.callApiV2({
|
|
114
122
|
method: 'GET',
|
|
115
|
-
route: `/v1/permissions/accounts
|
|
123
|
+
route: `/v1/permissions/accounts/current/users/${userId}`,
|
|
116
124
|
});
|
|
117
125
|
return response;
|
|
118
126
|
});
|
|
@@ -127,5 +135,46 @@ export class Permissions extends Base {
|
|
|
127
135
|
return response;
|
|
128
136
|
});
|
|
129
137
|
}
|
|
138
|
+
getApiTokenPermissions(tokenId) {
|
|
139
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
140
|
+
const response = yield this.callApiV2({
|
|
141
|
+
method: 'GET',
|
|
142
|
+
route: `/v1/permissions/api-token/${tokenId}`,
|
|
143
|
+
});
|
|
144
|
+
return response;
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
getBulkApiTokenPermissions(tokenIds) {
|
|
148
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
149
|
+
const response = yield this.callApiV2({
|
|
150
|
+
method: 'POST',
|
|
151
|
+
route: '/v1/permissions/api-token/bulk',
|
|
152
|
+
data: { tokenIds },
|
|
153
|
+
});
|
|
154
|
+
return response;
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
setApiTokenPermissions(params) {
|
|
158
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
159
|
+
const data = {
|
|
160
|
+
permissions: params.permissions,
|
|
161
|
+
};
|
|
162
|
+
const response = yield this.callApiV2({
|
|
163
|
+
method: 'PUT',
|
|
164
|
+
route: `/v1/permissions/api-token/${params.tokenId}`,
|
|
165
|
+
data,
|
|
166
|
+
});
|
|
167
|
+
return response;
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
deleteApiTokenPermissions(tokenId) {
|
|
171
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
172
|
+
const response = yield this.callApiV2({
|
|
173
|
+
method: 'DELETE',
|
|
174
|
+
route: `/v1/permissions/api-token/${tokenId}/overrides`,
|
|
175
|
+
});
|
|
176
|
+
return response;
|
|
177
|
+
});
|
|
178
|
+
}
|
|
130
179
|
}
|
|
131
180
|
//# sourceMappingURL=Permissions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Permissions.js","sourceRoot":"","sources":["../../src/Permissions.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"Permissions.js","sourceRoot":"","sources":["../../src/Permissions.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/types.js
CHANGED
package/dist/esm/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,uCAAyB,CAAA;IACzB,qCAAuB,CAAA;IACvB,mCAAqB,CAAA;AACvB,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB"}
|
|
@@ -1,16 +1,127 @@
|
|
|
1
1
|
import { Base } from '@or-sdk/base';
|
|
2
|
-
import { CurrentPermissionsResponse, Permission, PermissionsByServiceResponse, PermissionsConfig, RegisterServiceDto, UpdateMultiUserBySinglePermissionsDto, UpdateMultiUserPermissionsDto, UpdateSingleUserPermissionsDto, UserPermissionsResponse } from './types';
|
|
2
|
+
import { ApiTokenPermissionsResponse, AvailablePermissionsResponse, BulkApiTokenPermissionsResponse, CurrentPermissionsResponse, Permission, PermissionsByServiceResponse, PermissionsConfig, RegisterServiceDto, UpdateApiTokenPermissionsDto, UpdateMultiUserBySinglePermissionsDto, UpdateMultiUserPermissionsDto, UpdateSingleUserPermissionsDto, UserPermissionsResponse } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* OneReach Permissions service client
|
|
5
|
+
* ## Installation:
|
|
6
|
+
* ```
|
|
7
|
+
* $ npm i @or-sdk/permissions
|
|
8
|
+
* ```
|
|
9
|
+
*/
|
|
3
10
|
export declare class Permissions extends Base {
|
|
11
|
+
/**
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { Permissions } from '@or-sdk/permissions'
|
|
14
|
+
* const permissions = new Permissions({
|
|
15
|
+
* token: 'my-account-token-string',
|
|
16
|
+
* permissionsUrl: 'http://example.permissions/endpoint'
|
|
17
|
+
* });
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
4
20
|
constructor(params: PermissionsConfig);
|
|
21
|
+
/**
|
|
22
|
+
* Registers a new service with its permissions
|
|
23
|
+
* @param {RegisterServiceParams} params - Service registration data
|
|
24
|
+
* @param {string} params.service - Service identifier
|
|
25
|
+
* @param {string} params.serviceLabel - Human-readable service name
|
|
26
|
+
* @param {Permission[]} params.permissions - List of permissions to register
|
|
27
|
+
* @returns {Promise<Permission[]>} Registered permissions
|
|
28
|
+
*/
|
|
5
29
|
registerService(params: RegisterServiceDto): Promise<Permission[]>;
|
|
30
|
+
/**
|
|
31
|
+
* Gets all available permissions across all services
|
|
32
|
+
* @returns {Promise<AvailablePermissionsResponse>} List of services with their available permissions
|
|
33
|
+
*/
|
|
34
|
+
getAllAvailablePermissions(): Promise<AvailablePermissionsResponse>;
|
|
35
|
+
/**
|
|
36
|
+
* Gets all permissions for current user across all services
|
|
37
|
+
* @returns {Promise<CurrentPermissionsResponse>} List of services with their permissions
|
|
38
|
+
*/
|
|
6
39
|
getCurrent(): Promise<CurrentPermissionsResponse>;
|
|
40
|
+
/**
|
|
41
|
+
* Gets current user permissions for a specific service
|
|
42
|
+
* @param {string} service - Service identifier
|
|
43
|
+
* @returns {Promise<PermissionsByServiceResponse>} Map of permission names to their effects
|
|
44
|
+
*/
|
|
7
45
|
getCurrentForService(service: string): Promise<PermissionsByServiceResponse>;
|
|
46
|
+
/**
|
|
47
|
+
* Updates permissions for a SingleUser
|
|
48
|
+
* @param {UpdateSingleUserPermissionsDto} data - Update parameters
|
|
49
|
+
* @param {string} data.userId - Single User Id
|
|
50
|
+
* @param {string} data.accountId - Account id of single user, cross-account only for SUPER ADMIN. Optional, would use current account if not present
|
|
51
|
+
* @param {Object} data.permissions - Map of service names to permission overrides
|
|
52
|
+
* @returns {Promise<UserPermissionsResponse>}
|
|
53
|
+
*/
|
|
8
54
|
updateSingleUser(params: UpdateSingleUserPermissionsDto): Promise<UserPermissionsResponse>;
|
|
55
|
+
/**
|
|
56
|
+
* Updates permissions for a MultiUser
|
|
57
|
+
* @param {UpdateMultiUserPermissionsDto} data - Update parameters
|
|
58
|
+
* @param {string} data.userId - Multi User Id
|
|
59
|
+
* @param {Object} data.permissions - Map of service names to permission overrides
|
|
60
|
+
* @returns {Promise<UserPermissionsResponse>}
|
|
61
|
+
*/
|
|
9
62
|
updateMultiUser(params: UpdateMultiUserPermissionsDto): Promise<UserPermissionsResponse>;
|
|
63
|
+
/**
|
|
64
|
+
* Updates permissions for a MultiUser using accountId and singleUserId
|
|
65
|
+
* @param {UpdateMultiUserBySinglePermissionsDto} data - Update parameters
|
|
66
|
+
* @param {string} data.userId - Single User Id
|
|
67
|
+
* @param {string} data.accountId - Account Id, only for cross-account usage.
|
|
68
|
+
* @param {Object} data.permissions - Map of service names to permission overrides
|
|
69
|
+
* @returns {Promise<UserPermissionsResponse>}
|
|
70
|
+
*/
|
|
10
71
|
updateMultiUserByAccIdAndSingleId(params: UpdateMultiUserBySinglePermissionsDto): Promise<UserPermissionsResponse>;
|
|
72
|
+
/**
|
|
73
|
+
* Gets all permissions for a MultiUser using accountId and singleUserId
|
|
74
|
+
* @param {string} data.userId - Single User Id
|
|
75
|
+
* @param {string} data.accountId - Account Id, only for cross-account usage.
|
|
76
|
+
* @returns {Promise<UserPermissionsResponse>}
|
|
77
|
+
*/
|
|
11
78
|
getMultiUserByAccIdAndSingleId(userId: string, accountId?: string): Promise<UserPermissionsResponse>;
|
|
79
|
+
/**
|
|
80
|
+
* Resets all single user permissions, so they will no longer override multiuser permissions.
|
|
81
|
+
* @param {string} data.userId - Single User Id
|
|
82
|
+
* @param {string} data.accountId - Account Id, only for cross-account usage.
|
|
83
|
+
* @returns {Promise<UserPermissionsResponse>}
|
|
84
|
+
*/
|
|
12
85
|
resetSingleUserPermissions(userId: string, accountId?: string): Promise<UserPermissionsResponse>;
|
|
13
|
-
|
|
86
|
+
/**
|
|
87
|
+
* Gets permissions for a specific user within an account
|
|
88
|
+
* @param {string} userId - User identifier
|
|
89
|
+
* @returns {Promise<UserPermissionsResponse>} List of services with detailed permissions
|
|
90
|
+
*/
|
|
91
|
+
getByUserIdInCurrentAccount(userId: string): Promise<UserPermissionsResponse>;
|
|
92
|
+
/**
|
|
93
|
+
* Checks if user has the specified permission scopes
|
|
94
|
+
* @param {string[]} scope - List of permission scopes to check
|
|
95
|
+
* @returns {Promise<boolean>} True if user has all specified scopes, false otherwise
|
|
96
|
+
*/
|
|
14
97
|
checkScope(scope: string[]): Promise<boolean>;
|
|
98
|
+
/**
|
|
99
|
+
* Gets all permissions for an API token
|
|
100
|
+
* @param {string} tokenId - API Token identifier
|
|
101
|
+
* @returns {Promise<ApiTokenPermissionsResponse>} List of services with their permissions
|
|
102
|
+
*/
|
|
103
|
+
getApiTokenPermissions(tokenId: string): Promise<ApiTokenPermissionsResponse>;
|
|
104
|
+
/**
|
|
105
|
+
* Gets permissions for multiple API tokens
|
|
106
|
+
* @param {string[]} tokenIds - List of API Token identifiers
|
|
107
|
+
* @returns {Promise<BulkApiTokenPermissionsResponse>} Map of token IDs to their permissions
|
|
108
|
+
*/
|
|
109
|
+
getBulkApiTokenPermissions(tokenIds: string[]): Promise<BulkApiTokenPermissionsResponse>;
|
|
110
|
+
/**
|
|
111
|
+
* Sets permissions for an API token
|
|
112
|
+
* @param {UpdateApiTokenPermissionsDto} params - Update parameters
|
|
113
|
+
* @param {string} params.tokenId - API Token identifier
|
|
114
|
+
* @param {Object} params.permissions - Map of service names to permission overrides
|
|
115
|
+
* @returns {Promise<ApiTokenPermissionsResponse>} Updated permissions
|
|
116
|
+
*/
|
|
117
|
+
setApiTokenPermissions(params: UpdateApiTokenPermissionsDto): Promise<ApiTokenPermissionsResponse>;
|
|
118
|
+
/**
|
|
119
|
+
* Deletes all permissions for an API token
|
|
120
|
+
* @param {string} tokenId - API Token identifier
|
|
121
|
+
* @returns {Promise<{ success: boolean }>}
|
|
122
|
+
*/
|
|
123
|
+
deleteApiTokenPermissions(tokenId: string): Promise<{
|
|
124
|
+
success: boolean;
|
|
125
|
+
}>;
|
|
15
126
|
}
|
|
16
127
|
//# sourceMappingURL=Permissions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Permissions.d.ts","sourceRoot":"","sources":["../../src/Permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,OAAO,EACL,0BAA0B,EAC1B,UAAU,EACV,4BAA4B,EAC5B,iBAAiB,EACjB,kBAAkB,EAClB,qCAAqC,EACrC,6BAA6B,EAC7B,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Permissions.d.ts","sourceRoot":"","sources":["../../src/Permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,+BAA+B,EAC/B,0BAA0B,EAC1B,UAAU,EACV,4BAA4B,EAC5B,iBAAiB,EACjB,kBAAkB,EAClB,4BAA4B,EAC5B,qCAAqC,EACrC,6BAA6B,EAC7B,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAEjB;;;;;;GAMG;AACH,qBAAa,WAAY,SAAQ,IAAI;IACnC;;;;;;;;OAQG;gBACS,MAAM,EAAE,iBAAiB;IAUrC;;;;;;;MAOE;IACI,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IASxE;;;MAGE;IACI,0BAA0B,IAAI,OAAO,CAAC,4BAA4B,CAAC;IAQzE;;;MAGE;IAEI,UAAU,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAQvD;;;;MAIE;IACI,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAQlF;;;;;;;MAOE;IACI,gBAAgB,CAAC,MAAM,EAAE,8BAA8B,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAYhG;;;;;;MAME;IACI,eAAe,CAAC,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAY9F;;;;;;;MAOE;IACI,iCAAiC,CAAC,MAAM,EAAE,qCAAqC,GACrF,OAAO,CAAC,uBAAuB,CAAC;IAahC;;;;;MAKE;IACI,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GACvE,OAAO,CAAC,uBAAuB,CAAC;IAShC;;;;;MAKE;IACI,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GACnE,OAAO,CAAC,uBAAuB,CAAC;IAShC;;;;MAIE;IACI,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAQnF;;;;MAIE;IACI,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IASnD;;;;MAIE;IACI,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAQnF;;;;MAIE;IACI,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAS9F;;;;;;MAME;IACI,sBAAsB,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAYxG;;;;MAIE;IACI,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CAOhF"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import { Token } from '@or-sdk/base';
|
|
2
2
|
export declare enum EntityType {
|
|
3
3
|
SingleUser = "SingleUser",
|
|
4
|
-
MultiUser = "MultiUser"
|
|
4
|
+
MultiUser = "MultiUser",
|
|
5
|
+
ApiToken = "ApiToken"
|
|
5
6
|
}
|
|
6
7
|
export type PermissionsConfig = {
|
|
8
|
+
/**
|
|
9
|
+
* token
|
|
10
|
+
*/
|
|
7
11
|
token: Token;
|
|
12
|
+
/**
|
|
13
|
+
* function which return token
|
|
14
|
+
*/
|
|
8
15
|
permissionsUrl: string;
|
|
9
16
|
discoveryUrl?: string;
|
|
10
17
|
};
|
|
@@ -67,4 +74,26 @@ export type RegisterServiceDto = {
|
|
|
67
74
|
serviceLabel: string;
|
|
68
75
|
permissions: Permission[];
|
|
69
76
|
};
|
|
77
|
+
export type UpdateApiTokenPermissionsDto = {
|
|
78
|
+
tokenId: string;
|
|
79
|
+
permissions: {
|
|
80
|
+
[serviceName: string]: PermissionOverride[];
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
export type ApiTokenPermissionsResponse = PermissionGroup[];
|
|
84
|
+
export type BulkApiTokenPermissionsResponse = Record<string, PermissionGroup[]>;
|
|
85
|
+
export type AvailablePermission = {
|
|
86
|
+
name: string;
|
|
87
|
+
description: string;
|
|
88
|
+
defaultEffect: boolean;
|
|
89
|
+
metadata?: {
|
|
90
|
+
[key: string]: unknown;
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
export type AvailablePermissionGroup = {
|
|
94
|
+
serviceName: string;
|
|
95
|
+
serviceLabel?: string;
|
|
96
|
+
permissions: AvailablePermission[];
|
|
97
|
+
};
|
|
98
|
+
export type AvailablePermissionsResponse = AvailablePermissionGroup[];
|
|
70
99
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,oBAAY,UAAU;IACpB,UAAU,eAAe;IACzB,SAAS,cAAc;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@or-sdk/permissions",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -26,5 +26,6 @@
|
|
|
26
26
|
},
|
|
27
27
|
"publishConfig": {
|
|
28
28
|
"access": "public"
|
|
29
|
-
}
|
|
29
|
+
},
|
|
30
|
+
"gitHead": "ec3215fa15ebe430b6e90d3c0e926db4ced3ac3a"
|
|
30
31
|
}
|
package/src/Permissions.ts
CHANGED
|
@@ -2,11 +2,15 @@ import { Base } from '@or-sdk/base';
|
|
|
2
2
|
|
|
3
3
|
import { SERVICE_KEY } from './constants';
|
|
4
4
|
import {
|
|
5
|
+
ApiTokenPermissionsResponse,
|
|
6
|
+
AvailablePermissionsResponse,
|
|
7
|
+
BulkApiTokenPermissionsResponse,
|
|
5
8
|
CurrentPermissionsResponse,
|
|
6
9
|
Permission,
|
|
7
10
|
PermissionsByServiceResponse,
|
|
8
11
|
PermissionsConfig,
|
|
9
12
|
RegisterServiceDto,
|
|
13
|
+
UpdateApiTokenPermissionsDto,
|
|
10
14
|
UpdateMultiUserBySinglePermissionsDto,
|
|
11
15
|
UpdateMultiUserPermissionsDto,
|
|
12
16
|
UpdateSingleUserPermissionsDto,
|
|
@@ -57,6 +61,18 @@ export class Permissions extends Base {
|
|
|
57
61
|
return data;
|
|
58
62
|
}
|
|
59
63
|
|
|
64
|
+
/**
|
|
65
|
+
* Gets all available permissions across all services
|
|
66
|
+
* @returns {Promise<AvailablePermissionsResponse>} List of services with their available permissions
|
|
67
|
+
*/
|
|
68
|
+
async getAllAvailablePermissions(): Promise<AvailablePermissionsResponse> {
|
|
69
|
+
const data = await this.callApiV2<AvailablePermissionsResponse>({
|
|
70
|
+
method: 'GET',
|
|
71
|
+
route: '/v1/permissions/available',
|
|
72
|
+
});
|
|
73
|
+
return data;
|
|
74
|
+
}
|
|
75
|
+
|
|
60
76
|
/**
|
|
61
77
|
* Gets all permissions for current user across all services
|
|
62
78
|
* @returns {Promise<CurrentPermissionsResponse>} List of services with their permissions
|
|
@@ -179,14 +195,12 @@ export class Permissions extends Base {
|
|
|
179
195
|
/**
|
|
180
196
|
* Gets permissions for a specific user within an account
|
|
181
197
|
* @param {string} userId - User identifier
|
|
182
|
-
* @param {string} data.accountId - Account Id, only for cross-account usage.
|
|
183
198
|
* @returns {Promise<UserPermissionsResponse>} List of services with detailed permissions
|
|
184
199
|
*/
|
|
185
|
-
async getByUserIdInCurrentAccount(userId: string
|
|
186
|
-
const account = accountId ? accountId : 'current';
|
|
200
|
+
async getByUserIdInCurrentAccount(userId: string): Promise<UserPermissionsResponse> {
|
|
187
201
|
const response = await this.callApiV2<UserPermissionsResponse>({
|
|
188
202
|
method: 'GET',
|
|
189
|
-
route: `/v1/permissions/accounts
|
|
203
|
+
route: `/v1/permissions/accounts/current/users/${userId}`,
|
|
190
204
|
});
|
|
191
205
|
return response;
|
|
192
206
|
}
|
|
@@ -204,4 +218,63 @@ export class Permissions extends Base {
|
|
|
204
218
|
});
|
|
205
219
|
return response;
|
|
206
220
|
}
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* Gets all permissions for an API token
|
|
224
|
+
* @param {string} tokenId - API Token identifier
|
|
225
|
+
* @returns {Promise<ApiTokenPermissionsResponse>} List of services with their permissions
|
|
226
|
+
*/
|
|
227
|
+
async getApiTokenPermissions(tokenId: string): Promise<ApiTokenPermissionsResponse> {
|
|
228
|
+
const response = await this.callApiV2<ApiTokenPermissionsResponse>({
|
|
229
|
+
method: 'GET',
|
|
230
|
+
route: `/v1/permissions/api-token/${tokenId}`,
|
|
231
|
+
});
|
|
232
|
+
return response;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
/**
|
|
236
|
+
* Gets permissions for multiple API tokens
|
|
237
|
+
* @param {string[]} tokenIds - List of API Token identifiers
|
|
238
|
+
* @returns {Promise<BulkApiTokenPermissionsResponse>} Map of token IDs to their permissions
|
|
239
|
+
*/
|
|
240
|
+
async getBulkApiTokenPermissions(tokenIds: string[]): Promise<BulkApiTokenPermissionsResponse> {
|
|
241
|
+
const response = await this.callApiV2<BulkApiTokenPermissionsResponse>({
|
|
242
|
+
method: 'POST',
|
|
243
|
+
route: '/v1/permissions/api-token/bulk',
|
|
244
|
+
data: { tokenIds },
|
|
245
|
+
});
|
|
246
|
+
return response;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
* Sets permissions for an API token
|
|
251
|
+
* @param {UpdateApiTokenPermissionsDto} params - Update parameters
|
|
252
|
+
* @param {string} params.tokenId - API Token identifier
|
|
253
|
+
* @param {Object} params.permissions - Map of service names to permission overrides
|
|
254
|
+
* @returns {Promise<ApiTokenPermissionsResponse>} Updated permissions
|
|
255
|
+
*/
|
|
256
|
+
async setApiTokenPermissions(params: UpdateApiTokenPermissionsDto): Promise<ApiTokenPermissionsResponse> {
|
|
257
|
+
const data = {
|
|
258
|
+
permissions: params.permissions,
|
|
259
|
+
};
|
|
260
|
+
const response = await this.callApiV2<ApiTokenPermissionsResponse>({
|
|
261
|
+
method: 'PUT',
|
|
262
|
+
route: `/v1/permissions/api-token/${params.tokenId}`,
|
|
263
|
+
data,
|
|
264
|
+
});
|
|
265
|
+
return response;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* Deletes all permissions for an API token
|
|
270
|
+
* @param {string} tokenId - API Token identifier
|
|
271
|
+
* @returns {Promise<{ success: boolean }>}
|
|
272
|
+
*/
|
|
273
|
+
async deleteApiTokenPermissions(tokenId: string): Promise<{ success: boolean }> {
|
|
274
|
+
const response = await this.callApiV2<{ success: boolean }>({
|
|
275
|
+
method: 'DELETE',
|
|
276
|
+
route: `/v1/permissions/api-token/${tokenId}/overrides`,
|
|
277
|
+
});
|
|
278
|
+
return response;
|
|
279
|
+
}
|
|
207
280
|
}
|
package/src/types.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { Token } from '@or-sdk/base';
|
|
|
3
3
|
export enum EntityType {
|
|
4
4
|
SingleUser = 'SingleUser',
|
|
5
5
|
MultiUser = 'MultiUser',
|
|
6
|
+
ApiToken = 'ApiToken',
|
|
6
7
|
}
|
|
7
8
|
|
|
8
9
|
export type PermissionsConfig = {
|
|
@@ -87,3 +88,31 @@ export type RegisterServiceDto = {
|
|
|
87
88
|
serviceLabel: string;
|
|
88
89
|
permissions: Permission[];
|
|
89
90
|
};
|
|
91
|
+
|
|
92
|
+
export type UpdateApiTokenPermissionsDto = {
|
|
93
|
+
tokenId: string;
|
|
94
|
+
permissions: {
|
|
95
|
+
[serviceName: string]: PermissionOverride[];
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
export type ApiTokenPermissionsResponse = PermissionGroup[];
|
|
100
|
+
|
|
101
|
+
export type BulkApiTokenPermissionsResponse = Record<string, PermissionGroup[]>;
|
|
102
|
+
|
|
103
|
+
export type AvailablePermission = {
|
|
104
|
+
name: string;
|
|
105
|
+
description: string;
|
|
106
|
+
defaultEffect: boolean;
|
|
107
|
+
metadata?: {
|
|
108
|
+
[key: string]: unknown;
|
|
109
|
+
};
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
export type AvailablePermissionGroup = {
|
|
113
|
+
serviceName: string;
|
|
114
|
+
serviceLabel?: string;
|
|
115
|
+
permissions: AvailablePermission[];
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
export type AvailablePermissionsResponse = AvailablePermissionGroup[];
|