Update main users routs
This commit is contained in:
+24
-16
@@ -4,34 +4,42 @@ import asyncio
|
|||||||
from schemas.api_schemas import *
|
from schemas.api_schemas import *
|
||||||
from mongo_worker import MongoWorker
|
from mongo_worker import MongoWorker
|
||||||
|
|
||||||
from typing import Annotated
|
from fastapi import FastAPI, Depends, Response, status
|
||||||
|
|
||||||
from fastapi import FastAPI, Depends, UploadFile, File
|
|
||||||
|
|
||||||
|
|
||||||
app = FastAPI()
|
app = FastAPI()
|
||||||
|
|
||||||
@app.get("/check_user")
|
@app.get("/check_user", status_code=200)
|
||||||
async def check_user(user_id: int,
|
async def check_user(user_id: NonNegativeInt,
|
||||||
mongo: MongoWorker = Depends(MongoWorker)) -> BaseResponse:
|
mongo: MongoWorker = Depends(MongoWorker)) -> BaseResponse:
|
||||||
result = mongo.check_user(user_id)
|
result = mongo.check_user(user_id)
|
||||||
return BaseResponse(result=result)
|
return BaseResponse(result=result)
|
||||||
|
|
||||||
@app.get("/get_user")
|
@app.get("/get_user", status_code=200)
|
||||||
async def get_user(user_id: int,
|
async def get_user(user_id: NonNegativeInt,
|
||||||
|
response: Response,
|
||||||
mongo: MongoWorker = Depends(MongoWorker)) -> BaseResponse:
|
mongo: MongoWorker = Depends(MongoWorker)) -> BaseResponse:
|
||||||
result = mongo.get_user(user_id)
|
if mongo.check_user(user_id):
|
||||||
return BaseResponse(result=result)
|
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,
|
async def add_user(new_user: AddUserBody,
|
||||||
|
response: Response,
|
||||||
mongo: MongoWorker = Depends(MongoWorker)) -> BaseResponse:
|
mongo: MongoWorker = Depends(MongoWorker)) -> BaseResponse:
|
||||||
result = mongo.add_user(new_user.user_id,
|
if not mongo.check_user(new_user.user_id):
|
||||||
new_user.username,
|
result = mongo.add_user(new_user.user_id,
|
||||||
new_user.first_name,
|
new_user.username,
|
||||||
new_user.last_name,
|
new_user.first_name,
|
||||||
new_user.photo_url)
|
new_user.last_name,
|
||||||
return BaseResponse(result=result)
|
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():
|
async def main():
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import typing
|
import typing
|
||||||
|
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel, NonNegativeInt
|
||||||
|
|
||||||
|
|
||||||
class BaseResponse(BaseModel):
|
class BaseResponse(BaseModel):
|
||||||
@@ -8,7 +8,7 @@ class BaseResponse(BaseModel):
|
|||||||
error: bool = False
|
error: bool = False
|
||||||
|
|
||||||
class AddUserBody(BaseModel):
|
class AddUserBody(BaseModel):
|
||||||
user_id: int
|
user_id: NonNegativeInt
|
||||||
username: str
|
username: str
|
||||||
|
|
||||||
first_name: str
|
first_name: str
|
||||||
|
|||||||
Reference in New Issue
Block a user