Output user-specific associations for collections in the CLI (#10154)
Collection management permissions can be set for a group or a specific user. Currently the CLI only outputs group associations when it displays collection configuration information. This can cause bugs when piping commands together. This commit ensures that `user` associations also get output. In all cases this data was already available and just needed to be added to a response model.
This commit is contained in:
parent
577a3a720a
commit
3bfa024b87
|
@ -5,10 +5,12 @@ import { SelectionReadOnly } from "../selection-read-only";
|
||||||
|
|
||||||
export class OrganizationCollectionResponse extends CollectionResponse {
|
export class OrganizationCollectionResponse extends CollectionResponse {
|
||||||
groups: SelectionReadOnly[];
|
groups: SelectionReadOnly[];
|
||||||
|
users: SelectionReadOnly[];
|
||||||
|
|
||||||
constructor(o: CollectionView, groups: SelectionReadOnly[]) {
|
constructor(o: CollectionView, groups: SelectionReadOnly[], users: SelectionReadOnly[]) {
|
||||||
super(o);
|
super(o);
|
||||||
this.object = "org-collection";
|
this.object = "org-collection";
|
||||||
this.groups = groups;
|
this.groups = groups;
|
||||||
|
this.users = users;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -184,7 +184,7 @@ export class EditCommand {
|
||||||
const response = await this.apiService.putCollection(req.organizationId, id, request);
|
const response = await this.apiService.putCollection(req.organizationId, id, request);
|
||||||
const view = CollectionExport.toView(req);
|
const view = CollectionExport.toView(req);
|
||||||
view.id = response.id;
|
view.id = response.id;
|
||||||
const res = new OrganizationCollectionResponse(view, groups);
|
const res = new OrganizationCollectionResponse(view, groups, users);
|
||||||
return Response.success(res);
|
return Response.success(res);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return Response.error(e);
|
return Response.error(e);
|
||||||
|
|
|
@ -456,7 +456,13 @@ export class GetCommand extends DownloadCommand {
|
||||||
: response.groups.map(
|
: response.groups.map(
|
||||||
(g) => new SelectionReadOnly(g.id, g.readOnly, g.hidePasswords, g.manage),
|
(g) => new SelectionReadOnly(g.id, g.readOnly, g.hidePasswords, g.manage),
|
||||||
);
|
);
|
||||||
const res = new OrganizationCollectionResponse(decCollection, groups);
|
const users =
|
||||||
|
response.users == null
|
||||||
|
? null
|
||||||
|
: response.users.map(
|
||||||
|
(g) => new SelectionReadOnly(g.id, g.readOnly, g.hidePasswords, g.manage),
|
||||||
|
);
|
||||||
|
const res = new OrganizationCollectionResponse(decCollection, groups, users);
|
||||||
return Response.success(res);
|
return Response.success(res);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return Response.error(e);
|
return Response.error(e);
|
||||||
|
|
|
@ -208,7 +208,7 @@ export class CreateCommand {
|
||||||
const response = await this.apiService.postCollection(req.organizationId, request);
|
const response = await this.apiService.postCollection(req.organizationId, request);
|
||||||
const view = CollectionExport.toView(req);
|
const view = CollectionExport.toView(req);
|
||||||
view.id = response.id;
|
view.id = response.id;
|
||||||
const res = new OrganizationCollectionResponse(view, groups);
|
const res = new OrganizationCollectionResponse(view, groups, users);
|
||||||
return Response.success(res);
|
return Response.success(res);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return Response.error(e);
|
return Response.error(e);
|
||||||
|
|
Loading…
Reference in New Issue