Skip to content

Commit 21d985a

Browse files
authored
feat: add option to list users to group cmd (#259)
1 parent fa8c43b commit 21d985a

2 files changed

Lines changed: 13 additions & 3 deletions

File tree

alertaclient/commands/cmd_group.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,27 @@
11
import sys
22

33
import click
4+
from tabulate import tabulate
45

56

67
@click.command('group', short_help='Create user group')
8+
@click.option('--id', '-i', metavar='UUID', help='Group ID')
79
@click.option('--name', help='Group name')
810
@click.option('--text', help='Description of user group')
11+
@click.option('--users', '-U', is_flag=True, metavar='ID', help='Get list of group users')
912
@click.option('--delete', '-D', metavar='ID', help='Delete user group using ID')
1013
@click.pass_obj
11-
def cli(obj, name, text, delete):
14+
def cli(obj, id, name, text, users, delete):
1215
"""Create or delete a user group."""
1316
client = obj['client']
14-
if delete:
17+
if users:
18+
group_users = client.get_group_users(id)
19+
timezone = obj['timezone']
20+
headers = {'id': 'ID', 'name': 'USER', 'email': 'EMAIL', 'roles': 'ROLES', 'status': 'STATUS',
21+
'text': 'TEXT', 'createTime': 'CREATED', 'updateTime': 'LAST UPDATED',
22+
'lastLogin': 'LAST LOGIN', 'email_verified': 'VERIFIED'}
23+
click.echo(tabulate([gu.tabular(timezone) for gu in group_users], headers=headers, tablefmt=obj['output']))
24+
elif delete:
1525
client.delete_group(delete)
1626
else:
1727
try:

alertaclient/commands/cmd_user.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ 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')
31+
@click.option('--groups', '-G', is_flag=True, help='Get list of user groups')
3232
@click.option('--delete', '-D', metavar='ID', help='Delete user using ID')
3333
@click.pass_obj
3434
def cli(obj, id, name, email, password, status, roles, text, email_verified, groups, delete):

0 commit comments

Comments
 (0)