From 048ccdbfd6280aec2a567288d6298fa3c3aaa9fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Fra=C3=9F?= Date: Sun, 23 Jun 2024 11:44:05 +0200 Subject: [PATCH] [add] action:member-read --- source/backend.py | 15 +++++++++++++-- source/main.py | 26 ++++++++++++++++++++++---- 2 files changed, 35 insertions(+), 6 deletions(-) diff --git a/source/backend.py b/source/backend.py index 8d26ef9..d75e1fa 100644 --- a/source/backend.py +++ b/source/backend.py @@ -147,6 +147,17 @@ def backend_api_call_member_list( ) +def backend_api_call_member_read( + member_id : int +): + return backend_api_call_wrapped( + True, + "GET", + string_coin("/member/read/{{id}}", {"id": "%u" % member_id}), + None + ) + + def backend_api_call_member_project( membership_number : _typing.Optional[str], name_real_value : str, @@ -167,12 +178,12 @@ def backend_api_call_member_project( def backend_api_call_member_delete( - member_id + member_id : int ): return backend_api_call_wrapped( True, "DELETE", - string_coin("/member/{{id}}", {"id": member_id}), + string_coin("/member/delete/{{id}}", {"id": ("%u" % member_id)}), None ) diff --git a/source/main.py b/source/main.py index ad206f8..409b751 100644 --- a/source/main.py +++ b/source/main.py @@ -23,11 +23,12 @@ def main(): dest = "action", choices = [ "member-list", + "member-read", "member-project", - "member-delete" + "member-delete", ], metavar = "", - help = "auszuführende Aktion; Optionen: 'conf-schema' : JSON-Schema der Konfiguration ausgeben | 'conf-expose' : vervollständigte Konfiguration ausgegeben | 'member-list' : Liste der Mitglieder ausgeben | 'member-project' : ein Mitglied anlegen und die ID des erzeugten Datensatzes ausgeben | 'member-delete' : einer Mitglieder-Datensatz löschen", + help = "auszuführende Aktion; Optionen: 'conf-schema' : JSON-Schema der Konfiguration ausgeben | 'conf-expose' : vervollständigte Konfiguration ausgegeben | 'member-list' : Liste der Mitglieder ausgeben | 'member-read' : Daten eines Mitglieds ausgeben | 'member-project' : ein Mitglied anlegen und die ID des erzeugten Datensatzes ausgeben | 'member-delete' : einer Mitglieder-Datensatz löschen", ) argument_parser.add_argument( "-c", @@ -63,7 +64,7 @@ def main(): dest = "name", default = None, metavar = "", - help = "Name des Mitglieds", + help = "Name des Mitglieds; Leerzeichen sind durch '_' zu ersetzen", ) argument_parser.add_argument( "-e", @@ -101,6 +102,23 @@ def main(): data = backend_api_call_member_list( ) _sys.stdout.write(_json.dumps(data, indent = "\t") + "\n") + elif (args.action == "member-read"): + if ( + (args.id is None) + ): + log_error( + "mandatory_parameters_missing", + { + "parameters": [ + "id", + ] + } + ) + else: + data = backend_api_call_member_read( + args.id + ) + _sys.stdout.write(_json.dumps(data, indent = "\t") + "\n") elif (args.action == "member-project"): if ( (args.membership_number is None) @@ -122,7 +140,7 @@ def main(): else: member_id = backend_api_call_member_project( args.membership_number, - args.name, + args.name.replace("_", " "), args.email_address, None )