Skip to content

Commit fa8c43b

Browse files
authored
feat: add option to list groups to user cmd (#258)
1 parent 1c0bda6 commit fa8c43b

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

alertaclient/commands/cmd_user.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,17 @@ def parse_args(self, ctx, args):
2828
@click.option('--role', 'roles', multiple=True, help='List of roles')
2929
@click.option('--text', help='Description of user')
3030
@click.option('--email-verified/--email-not-verified', default=None, help='Email address verified flag')
31+
@click.option('--groups', '-g', is_flag=True, help='Get list of user groups')
3132
@click.option('--delete', '-D', metavar='ID', help='Delete user using ID')
3233
@click.pass_obj
33-
def cli(obj, id, name, email, password, status, roles, text, email_verified, delete):
34-
"""Create user, show or update user details, including password reset."""
34+
def cli(obj, id, name, email, password, status, roles, text, email_verified, groups, delete):
35+
"""Create user, show or update user details, including password reset, list user groups and delete user."""
3536
client = obj['client']
36-
if delete:
37+
if groups:
38+
user_groups = client.get_user_groups(id)
39+
headers = {'id': 'ID', 'name': 'USER', 'text': 'TEXT', 'count': 'COUNT'}
40+
click.echo(tabulate([ug.tabular() for ug in user_groups], headers=headers, tablefmt=obj['output']))
41+
elif delete:
3742
client.delete_user(delete)
3843
elif id:
3944
if not any([name, email, password, status, roles, text, (email_verified is not None)]):

0 commit comments

Comments
 (0)