From 8c20deb690c60af2d8f332df99a2f6d48a6dc769 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Trkan?= Date: Fri, 14 Nov 2025 16:42:35 +0100 Subject: [PATCH 1/2] refactor(core): simplify core module --- 7project/src/backend/app/core/queue.py | 6 ------ 7project/src/backend/app/core/security.py | 2 +- 7project/src/backend/app/services/user_service.py | 5 ++--- 3 files changed, 3 insertions(+), 10 deletions(-) delete mode 100644 7project/src/backend/app/core/queue.py diff --git a/7project/src/backend/app/core/queue.py b/7project/src/backend/app/core/queue.py deleted file mode 100644 index 1fd564e..0000000 --- a/7project/src/backend/app/core/queue.py +++ /dev/null @@ -1,6 +0,0 @@ -import app.celery_app # noqa: F401 -from app.workers.celery_tasks import send_email - - -def enqueue_email(to: str, subject: str, body: str) -> None: - send_email.delay(to, subject, body) diff --git a/7project/src/backend/app/core/security.py b/7project/src/backend/app/core/security.py index 2093cbb..d3b3079 100644 --- a/7project/src/backend/app/core/security.py +++ b/7project/src/backend/app/core/security.py @@ -49,4 +49,4 @@ def decode_and_verify_jwt(token: str, secret: str) -> dict: secret, algorithms=["HS256"], options={"verify_aud": False}, - ) # verify_exp is True by default \ No newline at end of file + ) # verify_exp is True by default diff --git a/7project/src/backend/app/services/user_service.py b/7project/src/backend/app/services/user_service.py index f46b39c..e8ab6d4 100644 --- a/7project/src/backend/app/services/user_service.py +++ b/7project/src/backend/app/services/user_service.py @@ -14,11 +14,10 @@ from httpx_oauth.oauth2 import BaseOAuth2 from app.models.user import User from app.oauth.bank_id import BankID -from app.oauth.csas import CSASOAuth +from app.workers.celery_tasks import send_email from app.oauth.custom_openid import CustomOpenID from app.oauth.moje_id import MojeIDOAuth from app.services.db import get_user_db -from app.core.queue import enqueue_email SECRET = os.getenv("SECRET", "CHANGE_ME_SECRET") @@ -87,7 +86,7 @@ class UserManager(UUIDIDMixin, BaseUserManager[User, uuid.UUID]): "Pokud jsi registraci neprováděl(a), tento email ignoruj.\n" ) try: - enqueue_email(to=user.email, subject=subject, body=body) + send_email.delay(user.email, subject, body) except Exception as e: print("[Email Fallback] To:", user.email) print("[Email Fallback] Subject:", subject) From c689caea8851f8e8e1c1642c5cc4968ca4e3198c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Trkan?= Date: Fri, 14 Nov 2025 16:51:21 +0100 Subject: [PATCH 2/2] refactor(core): fix tests --- .../src/backend/tests/test_unit_user_service.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/7project/src/backend/tests/test_unit_user_service.py b/7project/src/backend/tests/test_unit_user_service.py index 311404d..feef368 100644 --- a/7project/src/backend/tests/test_unit_user_service.py +++ b/7project/src/backend/tests/test_unit_user_service.py @@ -34,15 +34,16 @@ def test_authenticated_route_requires_auth(client): async def test_on_after_request_verify_enqueues_email(monkeypatch): calls = {} - def fake_enqueue_email(to: str, subject: str, body: str): - calls.setdefault("emails", []).append({ - "to": to, - "subject": subject, - "body": body, - }) + class FakeCeleryTask: + def delay(to: str, subject: str, body: str): + calls.setdefault("emails", []).append({ + "to": to, + "subject": subject, + "body": body, + }) # Patch the enqueue_email used inside user_service - monkeypatch.setattr(user_service, "enqueue_email", fake_enqueue_email) + monkeypatch.setattr(user_service, "send_email", FakeCeleryTask) class DummyUser: def __init__(self, email):