diff --git a/source/backend.py b/source/backend.py index cee588d..ce554d0 100644 --- a/source/backend.py +++ b/source/backend.py @@ -158,27 +158,6 @@ def backend_api_call_member_read( ) -def backend_api_call_member_project( - membership_number : _typing.Optional[str], - name_real_value : str, - email_address_private : _typing.Optional[str], - groups : list[str], - notification_target_url_template : _typing.Optional[str] -): - return backend_api_call_wrapped( - True, - "POST", - "/member/project", - { - "membership_number": membership_number, - "name_real_value": name_real_value, - "email_address_private": email_address_private, - "groups": groups, - "notification_target_url_template": notification_target_url_template, - } - ) - - def backend_api_call_member_delete( member_id : int ): @@ -189,3 +168,45 @@ def backend_api_call_member_delete( None ) + +def backend_api_call_invitation_create( + name_changeable, + name_value, + label_changeable, + label_value, + email_address_changeable, + email_address_value, + groups_changeable, + groups_value, + expiry +): + print({ + "name_changeable": name_changeable, + "name_value": name_value, + "label_changeable": label_changeable, + "label_value": label_value, + "email_address_changeable": email_address_changeable, + "email_address_value": email_address_value, + "groups_changeable": groups_changeable, + "groups_value": groups_value, + "expiry": expiry, + }) + return None + return backend_api_call_wrapped( + True, + "POST", + "/invitation/create", + { + "name_changeable": name_changeable, + "name_value": name_value, + "label_changeable": label_changeable, + "label_value": label_value, + "email_address_changeable": email_address_changeable, + "email_address_value": email_address_value, + "groups_changeable": groups_changeable, + "groups_value": groups_value, + "expiry": expiry, + } + ) + + diff --git a/source/main.py b/source/main.py index 4c4ad29..daf5dba 100644 --- a/source/main.py +++ b/source/main.py @@ -26,11 +26,11 @@ def main(): "conf-expose", "member-list", "member-read", - "member-project", "member-delete", + "invite", ], 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-read' : Daten eines Mitglieds 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-delete' : einer Mitglieder-Datensatz löschen | 'invite' : Einladung erstellen", ) argument_parser.add_argument( "-c", @@ -51,13 +51,10 @@ def main(): help = "ID des Mitglieds", ) argument_parser.add_argument( - "-m", - "--membership-number", - type = str, - dest = "membership_number", - default = None, - metavar = "", - help = "Mitglieds-Nummer des Mitglieds", + "-N", + "--fixed-name", + dest = "fixed_name", + action = 'store_true', ) argument_parser.add_argument( "-n", @@ -66,7 +63,28 @@ def main(): dest = "name", default = None, metavar = "", - help = "Name des Mitglieds; Leerzeichen sind durch '_' zu ersetzen", + help = "Anmelde-Name des Mitglieds; Leerzeichen sind durch '_' zu ersetzen", + ) + argument_parser.add_argument( + "-L", + "--fixed-label", + dest = "fixed_label", + action = 'store_true', + ) + argument_parser.add_argument( + "-l", + "--label", + type = str, + dest = "label", + default = None, + metavar = "