@twinfinity/permission 6.0.0 → 6.0.1-ci.28952
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/BuildInfo.js +3 -3
- package/dist/PermissionClient.d.ts +13 -5
- package/dist/PermissionClient.d.ts.map +1 -1
- package/dist/PermissionClient.js +129 -9
- package/dist/PermissionClient.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +34 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/PermissionClient.html +6 -2
- package/docs/classes/PermissionConflictError.html +1 -1
- package/docs/classes/PermissionError.html +1 -1
- package/docs/classes/PermissionForbiddenError.html +1 -1
- package/docs/classes/PermissionNotFoundError.html +1 -1
- package/docs/classes/PermissionValidationError.html +1 -1
- package/docs/hierarchy.html +1 -1
- package/docs/index.html +1 -1
- package/docs/interfaces/Group.html +7 -2
- package/docs/interfaces/GroupMember.html +10 -0
- package/docs/interfaces/IPermissionClient.html +6 -2
- package/docs/interfaces/PaginatedResponse.html +8 -2
- package/docs/interfaces/PutGroupRequest.html +4 -3
- package/docs/interfaces/User.html +1 -1
- package/docs/types/PrincipalPermission.html +9 -0
- package/package.json +2 -2
- package/src/PermissionClient.ts +212 -10
- package/src/types.ts +36 -0
package/dist/BuildInfo.js
CHANGED
|
@@ -1,19 +1,27 @@
|
|
|
1
1
|
import { TwinfinityHttpClient } from '@twinfinity/authentication';
|
|
2
|
-
import type { PaginatedResponse, User, Group, PutGroupRequest, DeleteGroupRequest } from './types';
|
|
2
|
+
import type { PaginatedResponse, User, Group, GroupMember, PutGroupRequest, DeleteGroupRequest } from './types';
|
|
3
3
|
export interface IPermissionClient {
|
|
4
|
-
listUsers(page?: string, limit?: number, signal?: AbortSignal): Promise<PaginatedResponse<User>>;
|
|
5
|
-
listGroups(page?: string, limit?: number, signal?: AbortSignal): Promise<PaginatedResponse<Group>>;
|
|
4
|
+
listUsers(page?: string, limit?: number, q?: string, signal?: AbortSignal): Promise<PaginatedResponse<User>>;
|
|
5
|
+
listGroups(page?: string, limit?: number, q?: string, signal?: AbortSignal): Promise<PaginatedResponse<Group>>;
|
|
6
6
|
putGroup(id: string, request: PutGroupRequest, signal?: AbortSignal): Promise<Group>;
|
|
7
7
|
deleteGroup(id: string, request: DeleteGroupRequest, signal?: AbortSignal): Promise<Group>;
|
|
8
|
+
listGroupMembers(groupId: string, page?: string, limit?: number, signal?: AbortSignal): Promise<PaginatedResponse<User>>;
|
|
9
|
+
addGroupMember(groupId: string, userId: string, signal?: AbortSignal): Promise<GroupMember>;
|
|
10
|
+
removeGroupMember(groupId: string, userId: string, signal?: AbortSignal): Promise<GroupMember>;
|
|
11
|
+
listUserGroups(userId: string, page?: string, limit?: number, signal?: AbortSignal): Promise<PaginatedResponse<Group>>;
|
|
8
12
|
}
|
|
9
13
|
export declare class PermissionClient implements IPermissionClient {
|
|
10
14
|
private readonly _httpClient;
|
|
11
15
|
private readonly _usersUrl;
|
|
12
16
|
private readonly _groupsUrl;
|
|
13
17
|
constructor(baseUrl: string | URL, _httpClient: TwinfinityHttpClient);
|
|
14
|
-
listUsers(page?: string | undefined, limit?: number, signal?: AbortSignal): Promise<PaginatedResponse<User>>;
|
|
15
|
-
listGroups(page?: string | undefined, limit?: number, signal?: AbortSignal): Promise<PaginatedResponse<Group>>;
|
|
18
|
+
listUsers(page?: string | undefined, limit?: number, q?: string, signal?: AbortSignal): Promise<PaginatedResponse<User>>;
|
|
19
|
+
listGroups(page?: string | undefined, limit?: number, q?: string, signal?: AbortSignal): Promise<PaginatedResponse<Group>>;
|
|
16
20
|
putGroup(id: string, request: PutGroupRequest, signal?: AbortSignal): Promise<Group>;
|
|
21
|
+
listGroupMembers(groupId: string, page?: string | undefined, limit?: number, signal?: AbortSignal): Promise<PaginatedResponse<User>>;
|
|
22
|
+
addGroupMember(groupId: string, userId: string, signal?: AbortSignal): Promise<GroupMember>;
|
|
23
|
+
removeGroupMember(groupId: string, userId: string, signal?: AbortSignal): Promise<GroupMember>;
|
|
24
|
+
listUserGroups(userId: string, page?: string | undefined, limit?: number, signal?: AbortSignal): Promise<PaginatedResponse<Group>>;
|
|
17
25
|
deleteGroup(id: string, request: DeleteGroupRequest, signal?: AbortSignal): Promise<Group>;
|
|
18
26
|
}
|
|
19
27
|
//# sourceMappingURL=PermissionClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionClient.d.ts","sourceRoot":"","sources":["../src/PermissionClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAc,MAAM,4BAA4B,CAAC;AAC9E,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"PermissionClient.d.ts","sourceRoot":"","sources":["../src/PermissionClient.ts"],"names":[],"mappings":"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"}
|
package/dist/PermissionClient.js
CHANGED
|
@@ -8,10 +8,22 @@ async function readErrorBody(response) {
|
|
|
8
8
|
const json = await response.json();
|
|
9
9
|
return isErrorBody(json) ? json : undefined;
|
|
10
10
|
}
|
|
11
|
-
catch {
|
|
11
|
+
catch (err) {
|
|
12
|
+
if (err instanceof Error && err.name === 'AbortError')
|
|
13
|
+
throw err;
|
|
12
14
|
return undefined;
|
|
13
15
|
}
|
|
14
16
|
}
|
|
17
|
+
async function readBodyText(response) {
|
|
18
|
+
try {
|
|
19
|
+
return await response.text();
|
|
20
|
+
}
|
|
21
|
+
catch (err) {
|
|
22
|
+
if (err instanceof Error && err.name === 'AbortError')
|
|
23
|
+
throw err;
|
|
24
|
+
return '';
|
|
25
|
+
}
|
|
26
|
+
}
|
|
15
27
|
export class PermissionClient {
|
|
16
28
|
_httpClient;
|
|
17
29
|
_usersUrl;
|
|
@@ -22,11 +34,13 @@ export class PermissionClient {
|
|
|
22
34
|
this._usersUrl = `${base}/_ps/users`;
|
|
23
35
|
this._groupsUrl = `${base}/_ps/groups`;
|
|
24
36
|
}
|
|
25
|
-
async listUsers(page = undefined, limit = 500, signal) {
|
|
37
|
+
async listUsers(page = undefined, limit = 500, q, signal) {
|
|
26
38
|
const params = new URLSearchParams();
|
|
27
39
|
if (page !== undefined)
|
|
28
40
|
params.set('page', page);
|
|
29
41
|
params.set('limit', limit.toString());
|
|
42
|
+
if (q)
|
|
43
|
+
params.set('q', q);
|
|
30
44
|
const url = `${this._usersUrl}?${params}`;
|
|
31
45
|
const response = await this._httpClient.fetch(HttpMethod.Get, url, {
|
|
32
46
|
signal
|
|
@@ -42,14 +56,16 @@ export class PermissionClient {
|
|
|
42
56
|
const body = await readErrorBody(response);
|
|
43
57
|
throw new PermissionForbiddenError(body?.detail ?? 'Insufficient permissions to list users', body);
|
|
44
58
|
}
|
|
45
|
-
const errorText = await response
|
|
59
|
+
const errorText = await readBodyText(response);
|
|
46
60
|
throw new PermissionError(`Failed to list users: ${response.status} ${response.statusText} - ${errorText}`, response.status, response.statusText);
|
|
47
61
|
}
|
|
48
|
-
async listGroups(page = undefined, limit = 500, signal) {
|
|
62
|
+
async listGroups(page = undefined, limit = 500, q, signal) {
|
|
49
63
|
const params = new URLSearchParams();
|
|
50
64
|
if (page !== undefined)
|
|
51
65
|
params.set('page', page);
|
|
52
66
|
params.set('limit', limit.toString());
|
|
67
|
+
if (q)
|
|
68
|
+
params.set('q', q);
|
|
53
69
|
const url = `${this._groupsUrl}?${params}`;
|
|
54
70
|
const response = await this._httpClient.fetch(HttpMethod.Get, url, {
|
|
55
71
|
signal
|
|
@@ -65,7 +81,7 @@ export class PermissionClient {
|
|
|
65
81
|
const body = await readErrorBody(response);
|
|
66
82
|
throw new PermissionForbiddenError(body?.detail ?? 'Insufficient permissions to list groups', body);
|
|
67
83
|
}
|
|
68
|
-
const errorText = await response
|
|
84
|
+
const errorText = await readBodyText(response);
|
|
69
85
|
throw new PermissionError(`Failed to list groups: ${response.status} ${response.statusText} - ${errorText}`, response.status, response.statusText);
|
|
70
86
|
}
|
|
71
87
|
async putGroup(id, request, signal) {
|
|
@@ -87,7 +103,9 @@ export class PermissionClient {
|
|
|
87
103
|
try {
|
|
88
104
|
json = await response.json();
|
|
89
105
|
}
|
|
90
|
-
catch {
|
|
106
|
+
catch (err) {
|
|
107
|
+
if (err instanceof Error && err.name === 'AbortError')
|
|
108
|
+
throw err;
|
|
91
109
|
throw new PermissionConflictError('Group conflict', undefined);
|
|
92
110
|
}
|
|
93
111
|
const body = isErrorBody(json) ? json : undefined;
|
|
@@ -104,9 +122,109 @@ export class PermissionClient {
|
|
|
104
122
|
const body = await readErrorBody(response);
|
|
105
123
|
throw new PermissionValidationError(body?.detail ?? 'Group validation failed', body);
|
|
106
124
|
}
|
|
107
|
-
const errorText = await response
|
|
125
|
+
const errorText = await readBodyText(response);
|
|
108
126
|
throw new PermissionError(`Failed to put group: ${response.status} ${response.statusText} - ${errorText}`, response.status, response.statusText);
|
|
109
127
|
}
|
|
128
|
+
async listGroupMembers(groupId, page = undefined, limit = 500, signal) {
|
|
129
|
+
const params = new URLSearchParams();
|
|
130
|
+
if (page !== undefined)
|
|
131
|
+
params.set('page', page);
|
|
132
|
+
params.set('limit', limit.toString());
|
|
133
|
+
const url = `${this._groupsUrl}/${encodeURIComponent(groupId)}/members?${params}`;
|
|
134
|
+
const response = await this._httpClient.fetch(HttpMethod.Get, url, { signal });
|
|
135
|
+
if (response.ok) {
|
|
136
|
+
return (await response.json());
|
|
137
|
+
}
|
|
138
|
+
if (response.status === 404) {
|
|
139
|
+
const body = await readErrorBody(response);
|
|
140
|
+
throw new PermissionNotFoundError(body?.detail ?? `Group '${groupId}' not found`, body);
|
|
141
|
+
}
|
|
142
|
+
if (response.status === 400) {
|
|
143
|
+
const body = await readErrorBody(response);
|
|
144
|
+
throw new PermissionValidationError(body?.detail ?? 'Group member listing validation failed', body);
|
|
145
|
+
}
|
|
146
|
+
if (response.status === 403) {
|
|
147
|
+
const body = await readErrorBody(response);
|
|
148
|
+
throw new PermissionForbiddenError(body?.detail ?? 'Insufficient permissions to list group members', body);
|
|
149
|
+
}
|
|
150
|
+
const errorText = await readBodyText(response);
|
|
151
|
+
throw new PermissionError(`Failed to list group members: ${response.status} ${response.statusText} - ${errorText}`, response.status, response.statusText);
|
|
152
|
+
}
|
|
153
|
+
async addGroupMember(groupId, userId, signal) {
|
|
154
|
+
const url = `${this._groupsUrl}/${encodeURIComponent(groupId)}/members/${encodeURIComponent(userId)}`;
|
|
155
|
+
const response = await this._httpClient.fetch(HttpMethod.Put, url, { signal });
|
|
156
|
+
if (response.ok) {
|
|
157
|
+
return (await response.json());
|
|
158
|
+
}
|
|
159
|
+
if (response.status === 404) {
|
|
160
|
+
const body = await readErrorBody(response);
|
|
161
|
+
throw new PermissionNotFoundError(body?.detail ?? 'Group or user not found', body);
|
|
162
|
+
}
|
|
163
|
+
if (response.status === 400) {
|
|
164
|
+
const body = await readErrorBody(response);
|
|
165
|
+
throw new PermissionValidationError(body?.detail ?? 'Cannot modify this group', body);
|
|
166
|
+
}
|
|
167
|
+
if (response.status === 403) {
|
|
168
|
+
const body = await readErrorBody(response);
|
|
169
|
+
throw new PermissionForbiddenError(body?.detail ?? 'Insufficient permissions to add group member', body);
|
|
170
|
+
}
|
|
171
|
+
if (response.status === 409) {
|
|
172
|
+
const body = await readErrorBody(response);
|
|
173
|
+
throw new PermissionConflictError(body?.detail ?? 'Group membership was modified concurrently, please retry', undefined, body);
|
|
174
|
+
}
|
|
175
|
+
const errorText = await readBodyText(response);
|
|
176
|
+
throw new PermissionError(`Failed to add group member: ${response.status} ${response.statusText} - ${errorText}`, response.status, response.statusText);
|
|
177
|
+
}
|
|
178
|
+
async removeGroupMember(groupId, userId, signal) {
|
|
179
|
+
const url = `${this._groupsUrl}/${encodeURIComponent(groupId)}/members/${encodeURIComponent(userId)}`;
|
|
180
|
+
const response = await this._httpClient.fetch(HttpMethod.Delete, url, { signal });
|
|
181
|
+
if (response.ok) {
|
|
182
|
+
return (await response.json());
|
|
183
|
+
}
|
|
184
|
+
if (response.status === 404) {
|
|
185
|
+
const body = await readErrorBody(response);
|
|
186
|
+
throw new PermissionNotFoundError(body?.detail ?? 'Group, user, or membership not found', body);
|
|
187
|
+
}
|
|
188
|
+
if (response.status === 400) {
|
|
189
|
+
const body = await readErrorBody(response);
|
|
190
|
+
throw new PermissionValidationError(body?.detail ?? 'Cannot modify this group', body);
|
|
191
|
+
}
|
|
192
|
+
if (response.status === 403) {
|
|
193
|
+
const body = await readErrorBody(response);
|
|
194
|
+
throw new PermissionForbiddenError(body?.detail ?? 'Insufficient permissions to remove group member', body);
|
|
195
|
+
}
|
|
196
|
+
if (response.status === 409) {
|
|
197
|
+
const body = await readErrorBody(response);
|
|
198
|
+
throw new PermissionConflictError(body?.detail ?? 'Group membership was modified concurrently, please retry', undefined, body);
|
|
199
|
+
}
|
|
200
|
+
const errorText = await readBodyText(response);
|
|
201
|
+
throw new PermissionError(`Failed to remove group member: ${response.status} ${response.statusText} - ${errorText}`, response.status, response.statusText);
|
|
202
|
+
}
|
|
203
|
+
async listUserGroups(userId, page = undefined, limit = 500, signal) {
|
|
204
|
+
const params = new URLSearchParams();
|
|
205
|
+
if (page !== undefined)
|
|
206
|
+
params.set('page', page);
|
|
207
|
+
params.set('limit', limit.toString());
|
|
208
|
+
const url = `${this._usersUrl}/${encodeURIComponent(userId)}/groups?${params}`;
|
|
209
|
+
const response = await this._httpClient.fetch(HttpMethod.Get, url, { signal });
|
|
210
|
+
if (response.ok) {
|
|
211
|
+
return (await response.json());
|
|
212
|
+
}
|
|
213
|
+
if (response.status === 404) {
|
|
214
|
+
const body = await readErrorBody(response);
|
|
215
|
+
throw new PermissionNotFoundError(body?.detail ?? `User '${userId}' not found`, body);
|
|
216
|
+
}
|
|
217
|
+
if (response.status === 400) {
|
|
218
|
+
const body = await readErrorBody(response);
|
|
219
|
+
throw new PermissionValidationError(body?.detail ?? 'User group listing validation failed', body);
|
|
220
|
+
}
|
|
221
|
+
if (response.status === 403) {
|
|
222
|
+
const body = await readErrorBody(response);
|
|
223
|
+
throw new PermissionForbiddenError(body?.detail ?? 'Insufficient permissions to list user groups', body);
|
|
224
|
+
}
|
|
225
|
+
const errorText = await readBodyText(response);
|
|
226
|
+
throw new PermissionError(`Failed to list user groups: ${response.status} ${response.statusText} - ${errorText}`, response.status, response.statusText);
|
|
227
|
+
}
|
|
110
228
|
async deleteGroup(id, request, signal) {
|
|
111
229
|
const url = `${this._groupsUrl}/${encodeURIComponent(id)}`;
|
|
112
230
|
const response = await this._httpClient.fetch(HttpMethod.Delete, url, {
|
|
@@ -125,7 +243,9 @@ export class PermissionClient {
|
|
|
125
243
|
try {
|
|
126
244
|
json = await response.json();
|
|
127
245
|
}
|
|
128
|
-
catch {
|
|
246
|
+
catch (err) {
|
|
247
|
+
if (err instanceof Error && err.name === 'AbortError')
|
|
248
|
+
throw err;
|
|
129
249
|
throw new PermissionConflictError('Group was modified by another user', undefined);
|
|
130
250
|
}
|
|
131
251
|
const body = isErrorBody(json) ? json : undefined;
|
|
@@ -142,7 +262,7 @@ export class PermissionClient {
|
|
|
142
262
|
const body = await readErrorBody(response);
|
|
143
263
|
throw new PermissionValidationError(body?.detail ?? 'Group deletion validation failed', body);
|
|
144
264
|
}
|
|
145
|
-
const errorText = await response
|
|
265
|
+
const errorText = await readBodyText(response);
|
|
146
266
|
throw new PermissionError(`Failed to delete group: ${response.status} ${response.statusText} - ${errorText}`, response.status, response.statusText);
|
|
147
267
|
}
|
|
148
268
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionClient.js","sourceRoot":"","sources":["../src/PermissionClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PermissionClient.js","sourceRoot":"","sources":["../src/PermissionClient.ts"],"names":[],"mappings":"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"}
|