add OAuth2PasswordRequestForm

This commit is contained in:
IluaAir
2025-07-14 12:08:50 +03:00
parent dd6f06cd12
commit 19a9b36173
4 changed files with 27 additions and 7 deletions

14
poetry.lock generated
View File

@@ -590,6 +590,18 @@ files = [
[package.extras] [package.extras]
cli = ["click (>=5.0)"] cli = ["click (>=5.0)"]
[[package]]
name = "python-multipart"
version = "0.0.20"
description = "A streaming multipart parser for Python"
optional = false
python-versions = ">=3.8"
groups = ["main"]
files = [
{file = "python_multipart-0.0.20-py3-none-any.whl", hash = "sha256:8a62d3a8335e06589fe01f2a3e178cdcc632f3fbe0d492ad9ee0ec35aab1f104"},
{file = "python_multipart-0.0.20.tar.gz", hash = "sha256:8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13"},
]
[[package]] [[package]]
name = "ruff" name = "ruff"
version = "0.11.12" version = "0.11.12"
@@ -793,4 +805,4 @@ standard = ["colorama (>=0.4) ; sys_platform == \"win32\"", "httptools (>=0.6.3)
[metadata] [metadata]
lock-version = "2.1" lock-version = "2.1"
python-versions = ">=3.12" python-versions = ">=3.12"
content-hash = "bddd2102f9e1901ece4bcffde03bc1512cf4319a897a0f14444236d5e0cb8401" content-hash = "7f9ca5ce7505707747e59087ccbb804dc0fef135c963fd2d2ebc8c91285ec188"

View File

@@ -23,6 +23,7 @@ dependencies = [
"passlib (>=1.7.4,<2.0.0)", "passlib (>=1.7.4,<2.0.0)",
"email-validator (>=2.2.0,<3.0.0)", "email-validator (>=2.2.0,<3.0.0)",
"bcrypt (==4.0.1)", "bcrypt (==4.0.1)",
"python-multipart (>=0.0.20,<0.0.21)",
] ]

View File

@@ -1,7 +1,10 @@
from fastapi import APIRouter from typing import Annotated
from fastapi import APIRouter, Depends
from fastapi.security import OAuth2PasswordRequestForm
from src.api.dependacies.db_dep import sessionDep from src.api.dependacies.db_dep import sessionDep
from src.schemas.users import UserRequestADD, UserRequest from src.schemas.users import UserRequestADD
from src.core.settings import settings from src.core.settings import settings
from src.services.auth import AuthService from src.services.auth import AuthService
@@ -15,6 +18,8 @@ async def registration(session: sessionDep, credential: UserRequestADD):
@router.post(path="/login") @router.post(path="/login")
async def login(session: sessionDep, credential: UserRequest): async def login(
session: sessionDep,
... credential: Annotated[OAuth2PasswordRequestForm, Depends()],
):
user = AuthService(session).login(credential.username, credential.password)

View File

@@ -14,6 +14,8 @@ class AuthService(BaseService):
is_superuser=False, is_superuser=False,
) )
result = await self.session.user.create_one(user_to_insert) result = await self.session.user.create_one(user_to_insert)
print(result)
await self.session.commit() await self.session.commit()
return User.model_validate(result) return User.model_validate(result)
async def login(self, username: str, password: str):
...