Skip to content

Claude task no tuning#1884

Closed
vodkar wants to merge 13 commits intofastapi:masterfrom
vodkar:claude-task-no-tuning
Closed

Claude task no tuning#1884
vodkar wants to merge 13 commits intofastapi:masterfrom
vodkar:claude-task-no-tuning

Conversation

@vodkar
Copy link
Copy Markdown

@vodkar vodkar commented Sep 12, 2025

Implementation time: 5.47

Copilot AI review requested due to automatic review settings September 12, 2025 22:07
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR implements significant changes including configuration updates, linting tool configuration, model validation improvements, and introduces wallet functionality for currency exchange operations.

  • Adds comprehensive flake8 and Ruff configuration with strict linting rules
  • Implements wallet and transaction entities with currency conversion and fee handling
  • Improves code quality with docstrings, type hints, and better error handling

Reviewed Changes

Copilot reviewed 42 out of 46 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
setup.cfg Adds flake8 configuration with code style ignores
pyproject.toml Adds comprehensive mypy and Ruff linting configuration
backend/pyproject.toml Removes old tool configurations
backend/app/models.py Adds wallet/transaction models and improves existing models
backend/app/crud.py Implements wallet/transaction CRUD operations
backend/app/api/routes/wallets.py New wallet management API endpoints
backend/app/constants.py Adds application constants

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment thread backend/app/models.py
password: str | None = Field(default=None, min_length=8, max_length=40)
"""User update model."""

email: EmailStr | None = Field(default=None, max_length=STRING_MAX_LENGTH) # type: ignore[assignment]
Copy link

Copilot AI Sep 12, 2025

Choose a reason for hiding this comment

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

The max_length parameter should use EMAIL_MAX_LENGTH constant instead of STRING_MAX_LENGTH for email fields to maintain consistency with other email field definitions.

Copilot uses AI. Check for mistakes.

user = crud.create_user(session=session, user_create=user_in)
if settings.emails_enabled and user_in.email:
if not settings.emails_enabled and user_in.email:
Copy link

Copilot AI Sep 12, 2025

Choose a reason for hiding this comment

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

The condition should be if settings.emails_enabled and user_in.email: to send emails when enabled, not when disabled.

Suggested change
if not settings.emails_enabled and user_in.email:
if settings.emails_enabled and user_in.email:

Copilot uses AI. Check for mistakes.
raise HTTPException(
status_code=409, detail="User with this email already exists"
status_code=CONFLICT_CODE,
detail="models.User with this email already exists",
Copy link

Copilot AI Sep 12, 2025

Choose a reason for hiding this comment

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

The error message should say 'User with this email already exists' instead of 'models.User' to maintain consistency with user-facing messages.

Suggested change
detail="models.User with this email already exists",
detail="User with this email already exists",

Copilot uses AI. Check for mistakes.
password: str,
) -> dict[str, str]:
"""Authenticate a user and return headers."""
login_data = {"username": username, USER_PASSWORD_KEY: password}
Copy link

Copilot AI Sep 12, 2025

Choose a reason for hiding this comment

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

The key should be 'password' instead of USER_PASSWORD_KEY constant which evaluates to 'password'. Using the constant here creates inconsistent dictionary key usage.

Suggested change
login_data = {"username": username, USER_PASSWORD_KEY: password}
login_data = {"username": username, "password": password}

Copilot uses AI. Check for mistakes.
@vodkar vodkar closed this Sep 12, 2025
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.

3 participants