Update main users routs

This commit is contained in:
IgorVolochay
2025-02-19 16:21:06 +03:00
parent 014a523967
commit 834df9a283
2 changed files with 26 additions and 18 deletions
+24 -16
View File
@@ -4,34 +4,42 @@ import asyncio
from schemas.api_schemas import *
from mongo_worker import MongoWorker
from typing import Annotated
from fastapi import FastAPI, Depends, UploadFile, File
from fastapi import FastAPI, Depends, Response, status
app = FastAPI()
@app.get("/check_user")
async def check_user(user_id: int,
@app.get("/check_user", status_code=200)
async def check_user(user_id: NonNegativeInt,
mongo: MongoWorker = Depends(MongoWorker)) -> BaseResponse:
result = mongo.check_user(user_id)
return BaseResponse(result=result)
@app.get("/get_user")
async def get_user(user_id: int,
@app.get("/get_user", status_code=200)
async def get_user(user_id: NonNegativeInt,
response: Response,
mongo: MongoWorker = Depends(MongoWorker)) -> BaseResponse:
result = mongo.get_user(user_id)
return BaseResponse(result=result)
if mongo.check_user(user_id):
result = mongo.get_user(user_id)
return BaseResponse(result=result)
else:
response.status_code = status.HTTP_404_NOT_FOUND
return BaseResponse(result="User doesn't exist", error=True)
@app.post("/add_user")
@app.post("/add_user", status_code=201)
async def add_user(new_user: AddUserBody,
response: Response,
mongo: MongoWorker = Depends(MongoWorker)) -> BaseResponse:
result = mongo.add_user(new_user.user_id,
new_user.username,
new_user.first_name,
new_user.last_name,
new_user.photo_url)
return BaseResponse(result=result)
if not mongo.check_user(new_user.user_id):
result = mongo.add_user(new_user.user_id,
new_user.username,
new_user.first_name,
new_user.last_name,
new_user.photo_url)
return BaseResponse(result=result)
else:
response.status_code = status.HTTP_409_CONFLICT
return BaseResponse(result="User already exist", error=True)
async def main():
+2 -2
View File
@@ -1,6 +1,6 @@
import typing
from pydantic import BaseModel
from pydantic import BaseModel, NonNegativeInt
class BaseResponse(BaseModel):
@@ -8,7 +8,7 @@ class BaseResponse(BaseModel):
error: bool = False
class AddUserBody(BaseModel):
user_id: int
user_id: NonNegativeInt
username: str
first_name: str