proiect finalizat

This commit is contained in:
andrei-mihnea-cerbu
2024-01-13 12:59:19 +02:00
parent 54542da299
commit 67b7a241d7
53 changed files with 321 additions and 19 deletions
+3
View File
@@ -0,0 +1,3 @@
"""
The 'api' package contains the logic behind the endpoints of the backend. The main version of the api is 'v1'.
"""
@@ -6,6 +6,10 @@ from .signup import signup
router = APIRouter()
"""
The 'auth' packages contains the router configuration for the 'Authentication' endpoints.
"""
@router.post("/login")
async def login_router(login_info: Login):
@@ -4,6 +4,15 @@ from database.queries.user import get_user_by_email
async def login(login_info: Login):
"""
Verify user credentials
Args:
login_info (Login)
Returns:
dict : full user information besides password
"""
result = get_user_by_email(login_info.email)
if not result:
raise HTTPException(status_code=404, detail='User not in system.')
@@ -4,6 +4,15 @@ from database.queries.user import get_user_by_email, create_user_db
async def signup(user: User):
"""
Verify user credentials
Args:
user (User)
Returns:
dict : full user information besides password
"""
result = get_user_by_email(user.email)
if result:
raise HTTPException(status_code=409, detail='User already exists.')
@@ -4,6 +4,10 @@ from .get_conversation import get_conversation
from .get_conversation_url import get_conversation_url
from app.models import Message
'''
The 'messages' packages contains the router configuration for the 'Messages' endpoints.
'''
router = APIRouter()
@@ -3,6 +3,15 @@ from database.queries.messages import find_conversation_db
async def get_conversation(conversation_url: str):
"""
Retrieves the full context of the conversation
Args:
conversation_url (str)
Returns:
HTTP Status
"""
conversation = find_conversation_db(conversation_url)
if conversation is None:
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="Conversation not found")
@@ -4,6 +4,16 @@ from fastapi import HTTPException
async def get_conversation_url(id_user1: str, id_user2: str):
"""
Retrieves the conversation identifier
Args:
id_user1 (str)
id_user2 (str)
Returns:
(str) : conversation_url
"""
if get_user_by_id(id_user1) is None or get_user_by_id(id_user2) is None:
raise HTTPException(status_code=404, detail="Users not in the system.")
@@ -4,6 +4,15 @@ from database.queries.messages import send_message_db
async def send(message: Message):
"""
Stores message in MongoDB
Args:
message (Message)
Returns:
HTTP Status
"""
success = send_message_db(message)
if success:
@@ -5,6 +5,10 @@ from .update import update_user
from .delete import delete_user
from .get_all import get_all_users
'''
The 'messages' packages contains the router configuration for the 'Messages' endpoints.
'''
router = APIRouter()
@@ -4,6 +4,15 @@ from database.queries.user import get_user_by_email, create_user_db
async def create_user(user: User):
"""
Creates a user
Args:
user (User)
Returns:
complete user information, including id, if successful
"""
result = get_user_by_email(user.email)
if result:
raise HTTPException(status_code=409, detail='User already exists.')
+10 -1
View File
@@ -2,7 +2,16 @@ from fastapi import HTTPException
from database.queries.user import get_user_by_id, delete_user_db
async def delete_user(user_id: int):
async def delete_user(user_id):
"""
Deletes a user
Args:
user_id (str)
Returns:
complete user information, including id, if successful
"""
user = get_user_by_id(user_id)
if user is None:
raise HTTPException(status_code=404, detail='User not found')
@@ -3,4 +3,13 @@ from database.queries.user import get_all_users_db
async def get_all_users():
users = get_all_users_db()
"""
Gets all users from database
Args:
Nan
Returns:
A list of users, if exists
"""
return users