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 {
|
||||
groups: SelectionReadOnly[];
|
||||
users: SelectionReadOnly[];
|
||||
|
||||
constructor(o: CollectionView, groups: SelectionReadOnly[]) {
|
||||
constructor(o: CollectionView, groups: SelectionReadOnly[], users: SelectionReadOnly[]) {
|
||||
super(o);
|
||||
this.object = "org-collection";
|
||||
this.groups = groups;
|
||||
this.users = users;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -184,7 +184,7 @@ export class EditCommand {
|
|||
const response = await this.apiService.putCollection(req.organizationId, id, request);
|
||||
const view = CollectionExport.toView(req);
|
||||
view.id = response.id;
|
||||
const res = new OrganizationCollectionResponse(view, groups);
|
||||
const res = new OrganizationCollectionResponse(view, groups, users);
|
||||
return Response.success(res);
|
||||
} catch (e) {
|
||||
return Response.error(e);
|
||||
|
|
|
@ -456,7 +456,13 @@ export class GetCommand extends DownloadCommand {
|
|||
: response.groups.map(
|
||||
(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);
|
||||
} catch (e) {
|
||||
return Response.error(e);
|
||||
|
|
|
@ -208,7 +208,7 @@ export class CreateCommand {
|
|||
const response = await this.apiService.postCollection(req.organizationId, request);
|
||||
const view = CollectionExport.toView(req);
|
||||
view.id = response.id;
|
||||
const res = new OrganizationCollectionResponse(view, groups);
|
||||
const res = new OrganizationCollectionResponse(view, groups, users);
|
||||
return Response.success(res);
|
||||
} catch (e) {
|
||||
return Response.error(e);
|
||||
|
|
Loading…
Reference in New Issue