@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 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
@@ -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, accountId) {
233
+ Permissions.prototype.getByUserIdInCurrentAccount = function (userId) {
218
234
  return __awaiter(this, void 0, void 0, function () {
219
- var account, response;
235
+ var response;
220
236
  return __generator(this, function (_a) {
221
237
  switch (_a.label) {
222
- case 0:
223
- account = accountId ? accountId : 'current';
224
- return [4, this.callApiV2({
225
- method: 'GET',
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":"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"}
1
+ {"version":3,"file":"Permissions.js","sourceRoot":"","sources":["../../src/Permissions.ts"],"names":[],"mappings":"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"}
package/dist/cjs/types.js CHANGED
@@ -5,5 +5,6 @@ var EntityType;
5
5
  (function (EntityType) {
6
6
  EntityType["SingleUser"] = "SingleUser";
7
7
  EntityType["MultiUser"] = "MultiUser";
8
+ EntityType["ApiToken"] = "ApiToken";
8
9
  })(EntityType || (exports.EntityType = EntityType = {}));
9
10
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAEA,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,uCAAyB,CAAA;IACzB,qCAAuB,CAAA;AACzB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB"}
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"}
@@ -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, accountId) {
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/${account}/users/${userId}`,
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":"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"}
1
+ {"version":3,"file":"Permissions.js","sourceRoot":"","sources":["../../src/Permissions.ts"],"names":[],"mappings":"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"}
package/dist/esm/types.js CHANGED
@@ -2,5 +2,6 @@ export var EntityType;
2
2
  (function (EntityType) {
3
3
  EntityType["SingleUser"] = "SingleUser";
4
4
  EntityType["MultiUser"] = "MultiUser";
5
+ EntityType["ApiToken"] = "ApiToken";
5
6
  })(EntityType || (EntityType = {}));
6
7
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,uCAAyB,CAAA;IACzB,qCAAuB,CAAA;AACzB,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB"}
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
- getByUserIdInCurrentAccount(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
+ */
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;AASjB,qBAAa,WAAY,SAAQ,IAAI;gBAUvB,MAAM,EAAE,iBAAiB;IAkB/B,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAclE,UAAU,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAajD,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAgB5E,gBAAgB,CAAC,MAAM,EAAE,8BAA8B,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAmB1F,eAAe,CAAC,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAoBxF,iCAAiC,CAAC,MAAM,EAAE,qCAAqC,GACrF,OAAO,CAAC,uBAAuB,CAAC;IAmB1B,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GACvE,OAAO,CAAC,uBAAuB,CAAC;IAe1B,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GACnE,OAAO,CAAC,uBAAuB,CAAC;IAe1B,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAcjG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAQpD"}
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"}
@@ -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;CACxB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAI9B,KAAK,EAAE,KAAK,CAAC;IAIb,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE;QACT,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,eAAe,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,kBAAkB,EAAE,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,eAAe,EAAE,CAAC;AAC3D,MAAM,MAAM,uBAAuB,GAAG,uBAAuB,EAAE,CAAC;AAEhE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE;QACX,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAAC;KAC7C,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE;QACX,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAAC;KAC7C,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,qCAAqC,GAAG;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE;QACX,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAAC;KAC7C,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B,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.2-beta.4054.0",
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
  }
@@ -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, accountId?: string): Promise<UserPermissionsResponse> {
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/${account}/users/${userId}`,
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[];