From db286b98e45ab23355362e7bd4ba656153e4cd20 Mon Sep 17 00:00:00 2001 From: Goffi Date: Thu, 13 Aug 2020 23:46:18 +0200 Subject: [PATCH] jp (invitation): `delete` implementation --- doc/jp/invitation.rst | 13 +++++++++++++ sat_frontends/jp/cmd_invitation.py | 29 ++++++++++++++++++++++++++++- 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/doc/jp/invitation.rst b/doc/jp/invitation.rst index 05e9e83b..688cf670 100644 --- a/doc/jp/invitation.rst +++ b/doc/jp/invitation.rst @@ -81,6 +81,19 @@ Slovak:: $ jp invitation modify -l sk okFec4gDz75My7iQAVTmsc +delete +====== + +Delete XMPP account created for an invitation and invitation data + +example +------- + +Delete invitation with id ``okFec4gDz75My7iQAVTmsc``:: + + $ jp invitation delete okFec4gDz75My7iQAVTmsc + + list ==== diff --git a/sat_frontends/jp/cmd_invitation.py b/sat_frontends/jp/cmd_invitation.py index 4676d090..aef4be54 100644 --- a/sat_frontends/jp/cmd_invitation.py +++ b/sat_frontends/jp/cmd_invitation.py @@ -213,6 +213,33 @@ class Get(base.CommandBase): await self.output_data(invitation_data, jid_) +class Delete(base.CommandBase): + def __init__(self, host): + base.CommandBase.__init__( + self, + host, + "delete", + use_profile=False, + help=_("delete guest account"), + ) + + def add_parser_options(self): + self.parser.add_argument( + "id", help=_("invitation UUID") + ) + + async def start(self): + try: + await self.host.bridge.invitationDelete( + self.args.id, + ) + except Exception as e: + self.disp(msg=_(f"can't delete guest account: {e}"), error=True) + self.host.quit(C.EXIT_BRIDGE_ERRBACK) + + self.host.quit() + + class Modify(base.CommandBase): def __init__(self, host): base.CommandBase.__init__( @@ -339,7 +366,7 @@ class List(base.CommandBase): class Invitation(base.CommandBase): - subcommands = (Create, Get, Modify, List) + subcommands = (Create, Get, Delete, Modify, List) def __init__(self, host): super(Invitation, self).__init__(