Update main users routs
This commit is contained in:
+16
-8
@@ -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:
|
||||
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:
|
||||
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():
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user