68 lines
1.4 KiB
Python
68 lines
1.4 KiB
Python
from time import time
|
|
|
|
from fastapi import APIRouter
|
|
|
|
from app import mongo
|
|
from app.utils.response_util import response
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
@router.get("/", tags=[""])
|
|
async def get():
|
|
start_time = time()
|
|
|
|
projects = await mongo.projects_collection.find({}, {
|
|
"_id": False
|
|
}).to_list()
|
|
|
|
return response({
|
|
"projects": projects
|
|
}, start_time=start_time)
|
|
|
|
|
|
@router.post("/", tags=[""])
|
|
async def post(params: dict):
|
|
start_time = time()
|
|
data = params["project"]
|
|
|
|
data["id"] = await mongo.get_next_id(mongo.projects_collection)
|
|
|
|
await mongo.projects_collection.insert_one(data)
|
|
|
|
return response({
|
|
"message": "Проект создан",
|
|
"ok": True
|
|
}, start_time=start_time)
|
|
|
|
|
|
@router.patch("/", tags=[""])
|
|
async def patch(params: dict):
|
|
start_time = time()
|
|
data = params["project"]
|
|
|
|
await mongo.projects_collection.update_one({
|
|
"id": data["id"]
|
|
}, {
|
|
"$set": data
|
|
})
|
|
|
|
return response({
|
|
"message": "Проект обновлен",
|
|
"ok": True
|
|
}, start_time=start_time)
|
|
|
|
|
|
@router.delete("/{project_id}", tags=[""])
|
|
async def delete(project_id: int):
|
|
start_time = time()
|
|
|
|
await mongo.projects_collection.delete_one({
|
|
"id": project_id
|
|
})
|
|
|
|
return response({
|
|
"message": "Проект удален",
|
|
"ok": True
|
|
}, start_time=start_time)
|