@or-sdk/permissions 2.3.1 → 2.3.2-beta.4019.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/dist/cjs/Permissions.js +86 -0
- 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 +50 -0
- 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 +112 -1
- 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 +2 -3
- package/src/Permissions.ts +75 -0
- package/src/types.ts +29 -0
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;
|
|
@@ -247,6 +263,76 @@ var Permissions = (function (_super) {
|
|
|
247
263
|
});
|
|
248
264
|
});
|
|
249
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
|
+
};
|
|
250
336
|
return Permissions;
|
|
251
337
|
}(base_1.Base));
|
|
252
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({
|
|
@@ -126,5 +135,46 @@ export class Permissions extends Base {
|
|
|
126
135
|
return response;
|
|
127
136
|
});
|
|
128
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
|
+
}
|
|
129
179
|
}
|
|
130
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>;
|
|
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
|
+
*/
|
|
13
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.
|
|
3
|
+
"version": "2.3.2-beta.4019.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -26,6 +26,5 @@
|
|
|
26
26
|
},
|
|
27
27
|
"publishConfig": {
|
|
28
28
|
"access": "public"
|
|
29
|
-
}
|
|
30
|
-
"gitHead": "7d3b49250a670964dfe9e8e50e95417761c5473f"
|
|
29
|
+
}
|
|
31
30
|
}
|
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
|
|
@@ -202,4 +218,63 @@ export class Permissions extends Base {
|
|
|
202
218
|
});
|
|
203
219
|
return response;
|
|
204
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
|
+
}
|
|
205
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[];
|