Skip to content

Fix/put things in order#20

Merged
Fl1riX merged 2 commits into
mainfrom
fix/put-things-in-order
May 23, 2026
Merged

Fix/put things in order#20
Fl1riX merged 2 commits into
mainfrom
fix/put-things-in-order

Conversation

@Fl1riX
Copy link
Copy Markdown
Owner

@Fl1riX Fl1riX commented May 23, 2026

Summary by Sourcery

Согласовать обработку datetime и очистить устаревшие служебные утилиты базы данных.

Исправления ошибок:

  • Использовать временные метки UTC с учётом часового пояса при установке срока действия JWT access token, чтобы избежать проблем со смешением naive/aware datetime.

Улучшения:

  • Отключить отладочное логирование SQLAlchemy engine, убрав флаг echo при создании асинхронного engine.

Обслуживание:

  • Удалить неиспользуемый модуль задачи get_db из инфраструктурного слоя.
Original summary in English

Summary by Sourcery

Align datetime handling and clean up obsolete database utilities.

Bug Fixes:

  • Use timezone-aware UTC timestamps when setting JWT access token expiration to avoid naive/aware datetime issues.

Enhancements:

  • Disable SQLAlchemy engine debug logging by removing the echo flag from async engine creation.

Chores:

  • Remove the unused get_db task module from the infrastructure layer.

@sourcery-ai
Copy link
Copy Markdown
Contributor

sourcery-ai Bot commented May 23, 2026

Руководство для ревьюера (свернуто для небольших PR)

Руководство для ревьюера

Удаляет отладочную конфигурацию и неиспользуемый инфраструктурный код и исправляет истечение срока действия JWT, чтобы использовать осведомлённые о временной зоне даты и время в UTC.

Изменения на уровне файлов

Изменение Подробности Файлы
Отключить отладочное логирование движка SQLAlchemy в production‑конфигурации.
  • Удалить флаг echo=True при создании асинхронного движка, чтобы SQL‑запросы больше не логировались по умолчанию
  • Оставить URL базы данных и конфигурацию движка/сессии без изменений
src/infrastructure/db/database.py
Сделать так, чтобы истечение срока действия JWT‑токена использовало осведомлённую о временной зоне метку времени в UTC.
  • Заменить datetime.utcnow() на datetime.now(timezone.utc) при вычислении срока действия токена
  • Убедиться, что поле exp устанавливается с датой и временем, осведомлёнными о временной зоне, чтобы избежать проблем с наивными/осведомлёнными датами и временем
src/presentation/api/v1/auth/jwt_handler.py
Удалить устаревший вспомогательный модуль для задач базы данных.
  • Удалить вспомогательный модуль задач get_db.py из инфраструктурных задач, так как он больше не используется и не нужен
src/infrastructure/tasks/get_db.py

Подсказки и команды

Взаимодействие с Sourcery

  • Запустить новое ревью: Оставьте комментарий @sourcery-ai review в pull request.
  • Продолжить обсуждения: Отвечайте напрямую на комментарии с ревью от Sourcery.
  • Создать задачу GitHub из комментария ревью: Попросите Sourcery создать
    issue из комментария ревью, ответив на него. Также можно ответить на
    комментарий ревью @sourcery-ai issue, чтобы создать из него issue.
  • Сгенерировать заголовок pull request: Напишите @sourcery-ai в любом месте
    заголовка pull request, чтобы сгенерировать заголовок в любое время. Также можно
    оставить комментарий @sourcery-ai title в pull request, чтобы (пере)сгенерировать заголовок в любое время.
  • Сгенерировать описание pull request: Напишите @sourcery-ai summary в любом
    месте тела pull request, чтобы сгенерировать краткое описание PR в любом месте,
    где вы хотите. Также можно оставить комментарий @sourcery-ai summary в pull request,
    чтобы (пере)сгенерировать краткое описание в любое время.
  • Сгенерировать руководство для ревьюера: Оставьте комментарий @sourcery-ai guide в pull request,
    чтобы (пере)сгенерировать руководство для ревьюера в любое время.
  • Закрыть все комментарии Sourcery: Оставьте комментарий @sourcery-ai resolve в
    pull request, чтобы закрыть все комментарии Sourcery. Полезно, если вы уже
    учли все комментарии и больше не хотите их видеть.
  • Отклонить все ревью Sourcery: Оставьте комментарий @sourcery-ai dismiss в
    pull request, чтобы отклонить все существующие ревью Sourcery. Особенно полезно,
    если вы хотите начать заново с новым ревью — не забудьте оставить комментарий
    @sourcery-ai review, чтобы запустить новое ревью!

Настройка работы

Перейдите в вашу панель управления, чтобы:

  • Включать или отключать функции ревью, такие как автоматически сгенерированное
    Sourcery описание pull request, руководство для ревьюера и другие.
  • Изменить язык ревью.
  • Добавить, удалить или отредактировать собственные инструкции для ревью.
  • Настроить другие параметры ревью.

Получение помощи

Original review guide in English
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Removes debugging configuration and unused infrastructure code and fixes JWT expiration to use timezone-aware UTC datetimes.

File-Level Changes

Change Details Files
Disable SQLAlchemy engine debug logging in production configuration.
  • Remove echo=True flag from async engine creation so SQL queries are no longer logged by default
  • Keep database URL and engine/session configuration otherwise unchanged
src/infrastructure/db/database.py
Make JWT token expiration use a timezone-aware UTC timestamp.
  • Replace datetime.utcnow() with datetime.now(timezone.utc) when computing token expiration
  • Ensure the exp claim is set with a timezone-aware datetime to avoid naive/aware datetime issues
src/presentation/api/v1/auth/jwt_handler.py
Remove obsolete database task helper module.
  • Delete get_db.py task helper module from infrastructure tasks as it is no longer used or needed
src/infrastructure/tasks/get_db.py

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Copy Markdown
Contributor

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Привет — я оставил несколько общих замечаний:

  • Вместо того чтобы жёстко убирать echo=True из движка SQLAlchemy, рассмотрите возможность привязать его к флагу конфигурации или переменной окружения, чтобы можно было легко включать и выключать логирование SQL-запросов в разных средах.
  • Теперь, когда время истечения срока действия JWT использует осведомлённый о временной зоне объект datetime (datetime.now(timezone.utc)), имеет смысл стандартизировать использование таких «осведомлённых» datetime по всему слою аутентификации, чтобы избежать смешивания «наивных» и «осведомлённых» временных меток.
Подсказка для AI-агентов
Please address the comments from this code review:

## Overall Comments
- Instead of hard-removing `echo=True` from the SQLAlchemy engine, consider wiring it to a configuration flag or environment variable so you can easily toggle SQL query logging in different environments.
- Now that JWT expiration uses a timezone-aware `datetime` (`datetime.now(timezone.utc)`), consider standardizing on timezone-aware datetimes across the auth layer to avoid mixing naive and aware timestamps.

Sourcery бесплатен для open source — если вам нравятся наши ревью, пожалуйста, расскажите о них ✨
Помогите мне стать полезнее! Пожалуйста, нажимайте 👍 или 👎 на каждом комментарии — я использую этот фидбек, чтобы улучшать ваши ревью.
Original comment in English

Hey - I've left some high level feedback:

  • Instead of hard-removing echo=True from the SQLAlchemy engine, consider wiring it to a configuration flag or environment variable so you can easily toggle SQL query logging in different environments.
  • Now that JWT expiration uses a timezone-aware datetime (datetime.now(timezone.utc)), consider standardizing on timezone-aware datetimes across the auth layer to avoid mixing naive and aware timestamps.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- Instead of hard-removing `echo=True` from the SQLAlchemy engine, consider wiring it to a configuration flag or environment variable so you can easily toggle SQL query logging in different environments.
- Now that JWT expiration uses a timezone-aware `datetime` (`datetime.now(timezone.utc)`), consider standardizing on timezone-aware datetimes across the auth layer to avoid mixing naive and aware timestamps.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@Fl1riX Fl1riX merged commit 4c556aa into main May 23, 2026
4 checks passed
@Fl1riX Fl1riX deleted the fix/put-things-in-order branch May 23, 2026 12:20
@coveralls
Copy link
Copy Markdown

coveralls commented May 23, 2026

Coverage Report for CI Build 26332470097

Coverage increased (+0.2%) to 28.248%

Details

  • Coverage increased (+0.2%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 2 coverage regressions across 1 file.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

2 previously-covered lines in 1 file lost coverage.

File Lines Losing Coverage Coverage
infrastructure/db/database.py 2 66.67%

Coverage Stats

Coverage Status
Relevant Lines: 1147
Covered Lines: 324
Line Coverage: 28.25%
Coverage Strength: 0.56 hits per line

💛 - Coveralls

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants