aio2o-fastapi-sample/api-server/app/main.py

39 lines
1.3 KiB
Python

from fastapi import FastAPI, status
from fastapi.responses import JSONResponse
from module.pydantic_models import *
import module.mysql_utils as sql
app = FastAPI()
@app.post("/user/create", status_code=status.HTTP_201_CREATED)
async def create_user(params: UserCreateForm):
user_id = await sql.create_user(params.user_name, params.phone_number)
return JSONResponse(content={'user_id' : user_id})
@app.post("/user/read", status_code=status.HTTP_200_OK)
async def read_user(params: UserReadFromIdForm):
user_info = await sql.get_user_info_from_id(params.user_id)
return JSONResponse(content=user_info)
@app.post("/user/update", status_code=status.HTTP_200_OK)
async def update_user(params: UserUpdatePhoneNumberFromIdForm):
updated_data = await sql.update_user_phone_from_id(params.user_id, params.phone_number)
return updated_data
@app.post("/user/delete", status_code=status.HTTP_204_NO_CONTENT)
async def delete_user(params: UserDeleteForm):
await sql.delete_user_from_id(params.user_id)
return
@app.post("/blog/create")
async def create_blog(params: BlogCreateForm):
pass
@app.post("/blog/read")
async def read_blog(params: BlogReadForm):
pass
@app.post("/blog/update")
async def update_blog(params: BlogUpdateForm):
pass
@app.post("/blog/delete")
async def delete_blog(params: BlogDeleteForm):
pass