login si signin done

This commit is contained in:
andrei-mihnea-cerbu
2024-01-13 03:18:17 +02:00
parent 7eb9cdd70d
commit a6a228ded9
26 changed files with 278 additions and 63 deletions
@@ -0,0 +1,17 @@
from fastapi import APIRouter
from .login import login
from app.models import Login
from app.models import User
from .signup import signup
router = APIRouter()
@router.post("/login")
async def login_router(login_info: Login):
return await login(login_info)
@router.post("/sign_up")
async def signup_router(user: User):
return await signup(user)
+13 -1
View File
@@ -1 +1,13 @@
from app.models.login import Login
from fastapi import HTTPException
from app.models.login import Login
from database.queries.user import get_user_by_email
async def login(login_info: Login):
result = get_user_by_email(login_info.email)
if not result:
raise HTTPException(status_code=404, detail='User not in system.')
password, email = result[2], result[3]
if login_info.email != email or login_info.password != password:
raise HTTPException(status_code=401, detail="Invalid credentials.")
@@ -0,0 +1,13 @@
from fastapi import HTTPException
from app.models.user import User
from database.queries.user import get_user_by_email, create_user_db
async def signup(user: User):
result = get_user_by_email(user.email)
if result:
raise HTTPException(status_code=409, detail='User already exists.')
print(user.username, user.email, user.password)
create_user_db(username=user.username, password=user.password, email=user.email)
@@ -6,12 +6,13 @@ from database.queries.user import get_user_by_email, create_user_db
async def create_user(user: User):
result = get_user_by_email(user.email)
if result:
raise HTTPException(status_code=409, detail='User already exists')
raise HTTPException(status_code=409, detail='User already exists.')
print(user.username, user.email, user.password)
create_user_db(username=user.username, password=user.password, email=user.email)
created_user = get_user_by_email(user.email)
created_user_dict = {
"id": created_user[0],
"username": created_user[1],
"password": created_user[2],
"email": created_user[3],
Binary file not shown.
+2
View File
@@ -1,8 +1,10 @@
from fastapi import FastAPI
from api.v1.endpoints.users import router as users_router
from api.v1.endpoints.messages import router as messages_router
from api.v1.endpoints.auth import router as auth_router
app = FastAPI()
app.include_router(users_router, tags=["Users"], prefix="/users")
app.include_router(messages_router, tags=["Messages"], prefix="/messages")
app.include_router(auth_router, tags=["Auth"], prefix="/auth")
+1
View File
@@ -1,2 +1,3 @@
from .user import User
from .message import Message
from .login import Login
-1
View File
@@ -2,7 +2,6 @@ from pydantic import BaseModel
class User(BaseModel):
id: int
username: str
password: str
email: str