@or-sdk/permissions-lambda 2.1.0 → 2.1.1-beta.4010.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/PermissionsLambda.js +65 -0
- package/dist/cjs/PermissionsLambda.js.map +1 -1
- package/dist/esm/PermissionsLambda.js +40 -0
- package/dist/esm/PermissionsLambda.js.map +1 -1
- package/dist/types/PermissionsLambda.d.ts +8 -66
- package/dist/types/PermissionsLambda.d.ts.map +1 -1
- package/dist/types/types.d.ts +26 -0
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +2 -3
- package/src/PermissionsLambda.ts +69 -0
- package/src/types.ts +34 -0
|
@@ -80,6 +80,19 @@ var PermissionsLambda = (function () {
|
|
|
80
80
|
});
|
|
81
81
|
});
|
|
82
82
|
};
|
|
83
|
+
PermissionsLambda.prototype.getAllAvailablePermissions = function () {
|
|
84
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
85
|
+
return __generator(this, function (_a) {
|
|
86
|
+
switch (_a.label) {
|
|
87
|
+
case 0: return [4, this.invoke({
|
|
88
|
+
action: 'get-all-available-permissions',
|
|
89
|
+
payload: {},
|
|
90
|
+
})];
|
|
91
|
+
case 1: return [2, _a.sent()];
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
};
|
|
83
96
|
PermissionsLambda.prototype.getByService = function (data) {
|
|
84
97
|
return __awaiter(this, void 0, void 0, function () {
|
|
85
98
|
return __generator(this, function (_a) {
|
|
@@ -158,6 +171,58 @@ var PermissionsLambda = (function () {
|
|
|
158
171
|
});
|
|
159
172
|
});
|
|
160
173
|
};
|
|
174
|
+
PermissionsLambda.prototype.getApiTokenPermissions = function (data) {
|
|
175
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
176
|
+
return __generator(this, function (_a) {
|
|
177
|
+
switch (_a.label) {
|
|
178
|
+
case 0: return [4, this.invoke({
|
|
179
|
+
action: 'get-api-token-permissions',
|
|
180
|
+
payload: data,
|
|
181
|
+
})];
|
|
182
|
+
case 1: return [2, _a.sent()];
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
};
|
|
187
|
+
PermissionsLambda.prototype.getBulkApiTokenPermissions = function (data) {
|
|
188
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
189
|
+
return __generator(this, function (_a) {
|
|
190
|
+
switch (_a.label) {
|
|
191
|
+
case 0: return [4, this.invoke({
|
|
192
|
+
action: 'get-bulk-api-token-permissions',
|
|
193
|
+
payload: data,
|
|
194
|
+
})];
|
|
195
|
+
case 1: return [2, _a.sent()];
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
});
|
|
199
|
+
};
|
|
200
|
+
PermissionsLambda.prototype.setApiTokenPermissions = function (data) {
|
|
201
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
202
|
+
return __generator(this, function (_a) {
|
|
203
|
+
switch (_a.label) {
|
|
204
|
+
case 0: return [4, this.invoke({
|
|
205
|
+
action: 'set-api-token-permissions',
|
|
206
|
+
payload: data,
|
|
207
|
+
})];
|
|
208
|
+
case 1: return [2, _a.sent()];
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
});
|
|
212
|
+
};
|
|
213
|
+
PermissionsLambda.prototype.deleteApiTokenPermissions = function (tokenId) {
|
|
214
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
215
|
+
return __generator(this, function (_a) {
|
|
216
|
+
switch (_a.label) {
|
|
217
|
+
case 0: return [4, this.invoke({
|
|
218
|
+
action: 'delete-api-token-permissions',
|
|
219
|
+
payload: { tokenId: tokenId },
|
|
220
|
+
})];
|
|
221
|
+
case 1: return [2, _a.sent()];
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
});
|
|
225
|
+
};
|
|
161
226
|
return PermissionsLambda;
|
|
162
227
|
}());
|
|
163
228
|
exports.PermissionsLambda = PermissionsLambda;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionsLambda.js","sourceRoot":"","sources":["../../src/PermissionsLambda.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAgD;
|
|
1
|
+
{"version":3,"file":"PermissionsLambda.js","sourceRoot":"","sources":["../../src/PermissionsLambda.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,14 @@ export class PermissionsLambda {
|
|
|
38
38
|
});
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
|
+
getAllAvailablePermissions() {
|
|
42
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
return yield this.invoke({
|
|
44
|
+
action: 'get-all-available-permissions',
|
|
45
|
+
payload: {},
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
}
|
|
41
49
|
getByService(data) {
|
|
42
50
|
return __awaiter(this, void 0, void 0, function* () {
|
|
43
51
|
return yield this.invoke({
|
|
@@ -86,5 +94,37 @@ export class PermissionsLambda {
|
|
|
86
94
|
});
|
|
87
95
|
});
|
|
88
96
|
}
|
|
97
|
+
getApiTokenPermissions(data) {
|
|
98
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
99
|
+
return yield this.invoke({
|
|
100
|
+
action: 'get-api-token-permissions',
|
|
101
|
+
payload: data,
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
getBulkApiTokenPermissions(data) {
|
|
106
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
107
|
+
return yield this.invoke({
|
|
108
|
+
action: 'get-bulk-api-token-permissions',
|
|
109
|
+
payload: data,
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
setApiTokenPermissions(data) {
|
|
114
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
115
|
+
return yield this.invoke({
|
|
116
|
+
action: 'set-api-token-permissions',
|
|
117
|
+
payload: data,
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
deleteApiTokenPermissions(tokenId) {
|
|
122
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
123
|
+
return yield this.invoke({
|
|
124
|
+
action: 'delete-api-token-permissions',
|
|
125
|
+
payload: { tokenId },
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
}
|
|
89
129
|
}
|
|
90
130
|
//# sourceMappingURL=PermissionsLambda.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionsLambda.js","sourceRoot":"","sources":["../../src/PermissionsLambda.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"PermissionsLambda.js","sourceRoot":"","sources":["../../src/PermissionsLambda.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,80 +1,22 @@
|
|
|
1
|
-
import { AllPermissionsResponse, GetAllPayload, GetByAccountUserPayload, GetByServicePayload, LambdaConfig, Permission, PermissionsByServiceResponse, RegisterServiceDto, UpdateEntityDto, UserPermissionsResponse } from './types';
|
|
2
|
-
/**
|
|
3
|
-
* Client for interacting with the Permissions Lambda function
|
|
4
|
-
* ## Installation:
|
|
5
|
-
* ```
|
|
6
|
-
* $ npm i @or-sdk/permissions-lambda
|
|
7
|
-
* ```
|
|
8
|
-
*/
|
|
1
|
+
import { AllPermissionsResponse, AvailablePermissionsResponse, ApiTokenPermissionsResponse, BulkApiTokenPermissionsResponse, GetAllPayload, GetApiTokenPayload, GetBulkApiTokenPayload, GetByAccountUserPayload, GetByServicePayload, LambdaConfig, Permission, PermissionsByServiceResponse, RegisterServiceDto, SetApiTokenPermissionsPayload, UpdateEntityDto, UserPermissionsResponse } from './types';
|
|
9
2
|
export declare class PermissionsLambda {
|
|
10
|
-
/**
|
|
11
|
-
* ```typescript
|
|
12
|
-
* import { PermissionsLambda } from '@or-sdk/permissions-lambda'
|
|
13
|
-
* const permissionsLambda = new PermissionsLambda({
|
|
14
|
-
* isLocal: false,
|
|
15
|
-
* functionName: permissions-core-function-name
|
|
16
|
-
* });
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
3
|
private readonly lambda;
|
|
20
4
|
private readonly functionName;
|
|
21
5
|
constructor(params: LambdaConfig);
|
|
22
6
|
private invoke;
|
|
23
|
-
/**
|
|
24
|
-
* Registers a new service with its permissions
|
|
25
|
-
* @param {RegisterServiceParams} data - Service registration data
|
|
26
|
-
* @param {string} data.service - Service identifier
|
|
27
|
-
* @param {string} data.serviceLabel - Human-readable service name
|
|
28
|
-
* @param {Permission[]} data.permissions - List of permissions to register
|
|
29
|
-
* @returns {Promise<Permission[]>} Registered permissions
|
|
30
|
-
*/
|
|
31
7
|
registerService(data: RegisterServiceDto): Promise<Permission[]>;
|
|
32
|
-
|
|
33
|
-
* Gets user permissions for a specific service
|
|
34
|
-
* @param {GetUserPermissionsParams} data - Request parameters
|
|
35
|
-
* @param {string} data.multiUserId - Multi-user identifier
|
|
36
|
-
* @param {string} data.userId - Single-user identifier
|
|
37
|
-
* @param {string} data.service - Service identifier
|
|
38
|
-
* @returns {Promise<GetPermissionByServiceResponse>} Map of permission names to their effects
|
|
39
|
-
*/
|
|
8
|
+
getAllAvailablePermissions(): Promise<AvailablePermissionsResponse>;
|
|
40
9
|
getByService(data: GetByServicePayload): Promise<PermissionsByServiceResponse>;
|
|
41
|
-
/**
|
|
42
|
-
* Gets all permissions for a user across all services
|
|
43
|
-
* @param {GetAllUserPermissionsParams} data - Request parameters
|
|
44
|
-
* @param {string} data.multiUserId - Multi-user identifier
|
|
45
|
-
* @param {string} data.userId - Single-user identifier, optional (will return only multi user level if not present)
|
|
46
|
-
* @returns {Promise<GetAllPermissionsResponse>} List of services with their permissions
|
|
47
|
-
*/
|
|
48
10
|
getAll(data: GetAllPayload): Promise<AllPermissionsResponse>;
|
|
49
|
-
/**
|
|
50
|
-
* Gets permissions for a specific user within an account
|
|
51
|
-
* @param {UserPermissionByAccountParams} data - Request parameters
|
|
52
|
-
* @param {string} data.userId - User identifier
|
|
53
|
-
* @param {string} data.accountId - Account identifier
|
|
54
|
-
* @returns {Promise<UserPermissionsResponse>} List of services with detailed permissions
|
|
55
|
-
*/
|
|
56
11
|
getByUserIdAndAccount(data: GetByAccountUserPayload): Promise<UserPermissionsResponse>;
|
|
57
|
-
/**
|
|
58
|
-
* Updates permissions for a SingleUser
|
|
59
|
-
* @param {UpdateEntityDto} data - Update parameters
|
|
60
|
-
* @param {string} data.userId - Single User Id
|
|
61
|
-
* @param {Object} data.permissions - Map of service names to permission overrides
|
|
62
|
-
* @returns {Promise<AllPermissionsResponse>}
|
|
63
|
-
*/
|
|
64
12
|
updateSingleUser(data: UpdateEntityDto): Promise<AllPermissionsResponse>;
|
|
65
|
-
/**
|
|
66
|
-
* Updates permissions for a MultiUser
|
|
67
|
-
* @param {UpdateEntityDto} data - Update parameters
|
|
68
|
-
* @param {string} data.userId - Multi User Id
|
|
69
|
-
* @param {Object} data.permissions - Map of service names to permission overrides
|
|
70
|
-
* @returns {Promise<AllPermissionsResponse>}
|
|
71
|
-
*/
|
|
72
13
|
updateMultiUser(data: UpdateEntityDto): Promise<AllPermissionsResponse>;
|
|
73
|
-
/**
|
|
74
|
-
* Checks if user has the specified permission scopes
|
|
75
|
-
* @param {string[]} scope - List of permission scopes to check
|
|
76
|
-
* @returns {Promise<boolean>} True if user has all specified scopes, false otherwise
|
|
77
|
-
*/
|
|
78
14
|
checkScope(scope: string[]): Promise<boolean>;
|
|
15
|
+
getApiTokenPermissions(data: GetApiTokenPayload): Promise<ApiTokenPermissionsResponse>;
|
|
16
|
+
getBulkApiTokenPermissions(data: GetBulkApiTokenPayload): Promise<BulkApiTokenPermissionsResponse>;
|
|
17
|
+
setApiTokenPermissions(data: SetApiTokenPermissionsPayload): Promise<ApiTokenPermissionsResponse>;
|
|
18
|
+
deleteApiTokenPermissions(tokenId: string): Promise<{
|
|
19
|
+
success: boolean;
|
|
20
|
+
}>;
|
|
79
21
|
}
|
|
80
22
|
//# sourceMappingURL=PermissionsLambda.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionsLambda.d.ts","sourceRoot":"","sources":["../../src/PermissionsLambda.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,uBAAuB,EACvB,mBAAmB,EACnB,YAAY,EAEZ,UAAU,EACV,4BAA4B,EAC5B,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACxB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"PermissionsLambda.d.ts","sourceRoot":"","sources":["../../src/PermissionsLambda.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,2BAA2B,EAC3B,+BAA+B,EAC/B,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,YAAY,EAEZ,UAAU,EACV,4BAA4B,EAC5B,kBAAkB,EAClB,6BAA6B,EAC7B,eAAe,EACf,uBAAuB,EACxB,MAAM,SAAS,CAAC;AASjB,qBAAa,iBAAiB;IAU5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,MAAM,EAAE,YAAY;YAQlB,MAAM;IAwBd,eAAe,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAWhE,0BAA0B,IAAI,OAAO,CAAC,4BAA4B,CAAC;IAenE,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAc9E,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAc5D,qBAAqB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IActF,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAcxE,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAYvE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAa7C,sBAAsB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAatF,0BAA0B,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAclG,sBAAsB,CAAC,IAAI,EAAE,6BAA6B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAYjG,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CAMhF"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -61,4 +61,30 @@ export type DetailedPermissionGroup = {
|
|
|
61
61
|
};
|
|
62
62
|
export type AllPermissionsResponse = PermissionGroup[];
|
|
63
63
|
export type UserPermissionsResponse = DetailedPermissionGroup[];
|
|
64
|
+
export type GetApiTokenPayload = {
|
|
65
|
+
tokenId: string;
|
|
66
|
+
};
|
|
67
|
+
export type SetApiTokenPermissionsPayload = {
|
|
68
|
+
tokenId: string;
|
|
69
|
+
permissions: {
|
|
70
|
+
[serviceName: string]: PermissionOverride[];
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
export type ApiTokenPermissionsResponse = PermissionGroup[];
|
|
74
|
+
export type GetBulkApiTokenPayload = {
|
|
75
|
+
tokenIds: string[];
|
|
76
|
+
};
|
|
77
|
+
export type BulkApiTokenPermissionsResponse = Record<string, PermissionGroup[]>;
|
|
78
|
+
export type AvailablePermission = {
|
|
79
|
+
name: string;
|
|
80
|
+
description: string;
|
|
81
|
+
defaultEffect: boolean;
|
|
82
|
+
metadata?: unknown;
|
|
83
|
+
};
|
|
84
|
+
export type AvailablePermissionGroup = {
|
|
85
|
+
serviceName: string;
|
|
86
|
+
serviceLabel?: string;
|
|
87
|
+
permissions: AvailablePermission[];
|
|
88
|
+
};
|
|
89
|
+
export type AvailablePermissionsResponse = AvailablePermissionGroup[];
|
|
64
90
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,GAAG,CAAC;CACd,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;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAGF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAGF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE;QACX,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAAC;KAC7C,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAGF,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;CACrB,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,sBAAsB,GAAG,eAAe,EAAE,CAAC;AACvD,MAAM,MAAM,uBAAuB,GAAG,uBAAuB,EAAE,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-lambda",
|
|
3
|
-
"version": "2.1.0",
|
|
3
|
+
"version": "2.1.1-beta.4010.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": "ce62679c119c54ef41fd0d8f7084c563c3b21b24"
|
|
29
|
+
}
|
|
31
30
|
}
|
package/src/PermissionsLambda.ts
CHANGED
|
@@ -2,7 +2,12 @@ import { Lambda } from '@aws-sdk/client-lambda';
|
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
AllPermissionsResponse,
|
|
5
|
+
AvailablePermissionsResponse,
|
|
6
|
+
ApiTokenPermissionsResponse,
|
|
7
|
+
BulkApiTokenPermissionsResponse,
|
|
5
8
|
GetAllPayload,
|
|
9
|
+
GetApiTokenPayload,
|
|
10
|
+
GetBulkApiTokenPayload,
|
|
6
11
|
GetByAccountUserPayload,
|
|
7
12
|
GetByServicePayload,
|
|
8
13
|
LambdaConfig,
|
|
@@ -10,6 +15,7 @@ import {
|
|
|
10
15
|
Permission,
|
|
11
16
|
PermissionsByServiceResponse,
|
|
12
17
|
RegisterServiceDto,
|
|
18
|
+
SetApiTokenPermissionsPayload,
|
|
13
19
|
UpdateEntityDto,
|
|
14
20
|
UserPermissionsResponse,
|
|
15
21
|
} from './types';
|
|
@@ -73,6 +79,17 @@ export class PermissionsLambda {
|
|
|
73
79
|
});
|
|
74
80
|
}
|
|
75
81
|
|
|
82
|
+
/**
|
|
83
|
+
* Gets all available permissions across all services
|
|
84
|
+
* @returns {Promise<AvailablePermissionsResponse>} List of services with their available permissions
|
|
85
|
+
*/
|
|
86
|
+
async getAllAvailablePermissions(): Promise<AvailablePermissionsResponse> {
|
|
87
|
+
return await this.invoke({
|
|
88
|
+
action: 'get-all-available-permissions',
|
|
89
|
+
payload: {},
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
|
|
76
93
|
/**
|
|
77
94
|
* Gets user permissions for a specific service
|
|
78
95
|
* @param {GetUserPermissionsParams} data - Request parameters
|
|
@@ -155,4 +172,56 @@ export class PermissionsLambda {
|
|
|
155
172
|
payload: scope,
|
|
156
173
|
});
|
|
157
174
|
}
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Gets all permissions for an API token
|
|
178
|
+
* @param {GetApiTokenPayload} data - Request parameters
|
|
179
|
+
* @param {string} data.tokenId - API Token identifier
|
|
180
|
+
* @returns {Promise<ApiTokenPermissionsResponse>} List of services with their permissions
|
|
181
|
+
*/
|
|
182
|
+
async getApiTokenPermissions(data: GetApiTokenPayload): Promise<ApiTokenPermissionsResponse> {
|
|
183
|
+
return await this.invoke({
|
|
184
|
+
action: 'get-api-token-permissions',
|
|
185
|
+
payload: data,
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Gets permissions for multiple API tokens
|
|
191
|
+
* @param {GetBulkApiTokenPayload} data - Request parameters
|
|
192
|
+
* @param {string[]} data.tokenIds - List of API Token identifiers
|
|
193
|
+
* @returns {Promise<BulkApiTokenPermissionsResponse>} Map of token IDs to their permissions
|
|
194
|
+
*/
|
|
195
|
+
async getBulkApiTokenPermissions(data: GetBulkApiTokenPayload): Promise<BulkApiTokenPermissionsResponse> {
|
|
196
|
+
return await this.invoke({
|
|
197
|
+
action: 'get-bulk-api-token-permissions',
|
|
198
|
+
payload: data,
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Sets permissions for an API token
|
|
204
|
+
* @param {SetApiTokenPermissionsPayload} data - Update parameters
|
|
205
|
+
* @param {string} data.tokenId - API Token identifier
|
|
206
|
+
* @param {Object} data.permissions - Map of service names to permission overrides
|
|
207
|
+
* @returns {Promise<ApiTokenPermissionsResponse>} Updated permissions
|
|
208
|
+
*/
|
|
209
|
+
async setApiTokenPermissions(data: SetApiTokenPermissionsPayload): Promise<ApiTokenPermissionsResponse> {
|
|
210
|
+
return await this.invoke({
|
|
211
|
+
action: 'set-api-token-permissions',
|
|
212
|
+
payload: data,
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* Deletes all permissions for an API token
|
|
218
|
+
* @param {string} tokenId - API Token identifier
|
|
219
|
+
* @returns {Promise<{ success: boolean }>}
|
|
220
|
+
*/
|
|
221
|
+
async deleteApiTokenPermissions(tokenId: string): Promise<{ success: boolean }> {
|
|
222
|
+
return await this.invoke({
|
|
223
|
+
action: 'delete-api-token-permissions',
|
|
224
|
+
payload: { tokenId },
|
|
225
|
+
});
|
|
226
|
+
}
|
|
158
227
|
}
|
package/src/types.ts
CHANGED
|
@@ -78,3 +78,37 @@ export type DetailedPermissionGroup = {
|
|
|
78
78
|
|
|
79
79
|
export type AllPermissionsResponse = PermissionGroup[];
|
|
80
80
|
export type UserPermissionsResponse = DetailedPermissionGroup[];
|
|
81
|
+
|
|
82
|
+
export type GetApiTokenPayload = {
|
|
83
|
+
tokenId: string;
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export type SetApiTokenPermissionsPayload = {
|
|
87
|
+
tokenId: string;
|
|
88
|
+
permissions: {
|
|
89
|
+
[serviceName: string]: PermissionOverride[];
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
export type ApiTokenPermissionsResponse = PermissionGroup[];
|
|
94
|
+
|
|
95
|
+
export type GetBulkApiTokenPayload = {
|
|
96
|
+
tokenIds: string[];
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
export type BulkApiTokenPermissionsResponse = Record<string, PermissionGroup[]>;
|
|
100
|
+
|
|
101
|
+
export type AvailablePermission = {
|
|
102
|
+
name: string;
|
|
103
|
+
description: string;
|
|
104
|
+
defaultEffect: boolean;
|
|
105
|
+
metadata?: unknown;
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
export type AvailablePermissionGroup = {
|
|
109
|
+
serviceName: string;
|
|
110
|
+
serviceLabel?: string;
|
|
111
|
+
permissions: AvailablePermission[];
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
export type AvailablePermissionsResponse = AvailablePermissionGroup[];
|