base model

This commit is contained in:
bdrtr 2025-05-06 14:06:15 +03:00
parent 83389e0c10
commit 36da53a562
4 changed files with 105 additions and 69 deletions

View file

@ -1,15 +1,10 @@
from fastapi import APIRouter, Depends, HTTPException, status
from .models import Token, UserPublic
from .models import authenticate_user, create_access_token
from .models import Token, UserPublic, authenticate_user, create_access_token, UserCreate, register_user
from datetime import timedelta
from ..auth.models import get_password_hash, verify_password
from typing import Annotated
from sqlmodel import Session
from ..config import get_session_db
from fastapi import Depends
from fastapi.security import OAuth2PasswordRequestForm
from .models import UserCreate, DBUser
from sqlalchemy.orm import Session
router = APIRouter(
prefix="/auth",
@ -38,21 +33,12 @@ async def login_for_access_token(
return Token(access_token=access_token, token_type="bearer")
@router.post('/register', response_model=UserPublic)
@router.post('/register', response_model=UserPublic) #userPublic güvenli bir model
async def create_user(
session : Annotated[Session, Depends(get_session_db)],
user : Annotated[UserCreate, Depends()]
):
user_dict = user.dict()
print(user.password)
user_dict['hashed_password'] = get_password_hash(user.password)
print (user_dict['hashed_password'])
return register_user(session, user)
if not verify_password(user.password, user_dict['hashed_password']):
raise HTTPException(status_code=400, detail="Password hashing failed")
db_user = DBUser.model_validate(user_dict)
session.add(db_user)
session.commit()
session.refresh(db_user)
return db_user