From 45645728c7d0888841ef8e47b34e82ed1adf26f2 Mon Sep 17 00:00:00 2001 From: Chris Hill-Scott Date: Mon, 7 Jun 2021 13:51:39 +0100 Subject: [PATCH] Refactor into model MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It’s generally an antipattern for the view layer code to be calling the API client directly. --- app/main/views/webauthn_credentials.py | 4 +--- app/models/user.py | 5 +++++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/main/views/webauthn_credentials.py b/app/main/views/webauthn_credentials.py index d1b458da6..5f097c713 100644 --- a/app/main/views/webauthn_credentials.py +++ b/app/main/views/webauthn_credentials.py @@ -52,9 +52,7 @@ def webauthn_complete_register(): current_app.logger.info(f'User {current_user.id} could not register a new webauthn token - {e}') return cbor.encode(str(e)), 400 - user_api_client.create_webauthn_credential_for_user( - current_user.id, credential - ) + current_user.create_webauthn_credential(credential) flash(( 'Registration complete. Next time you sign in to Notify ' diff --git a/app/models/user.py b/app/models/user.py index 54fbb85d2..584938513 100644 --- a/app/models/user.py +++ b/app/models/user.py @@ -360,6 +360,11 @@ class User(JSONModel, UserMixin): for credential in self.webauthn_credentials ] + def create_webauthn_credential(self, credential): + user_api_client.create_webauthn_credential_for_user( + self.id, credential + ) + def serialize(self): dct = { "id": self.id,