Files
CRM-OLD-API/app/api/v1/board.py
2025-07-24 20:13:47 +03:00

83 lines
1.8 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("/{board_id}", tags=[""])
async def get(board_id: int):
start_time = time()
boards = await mongo.boards_collection.find({
"projectId": board_id
}, {
"_id": False
}).to_list()
for board in boards:
board["project"] = await mongo.projects_collection.find({
"id": board["projectId"]
}, {
"_id": False
}).to_list()
board["dealStatuses"] = await mongo.statuses_collection.find({
"boardId": board["id"]
}, {
"_id": False
}).to_list()
return response({
"boards": boards
}, start_time=start_time)
@router.post("/", tags=[""])
async def post(params: dict):
start_time = time()
data = params["board"]
data["id"] = await mongo.get_next_id(mongo.boards_collection)
await mongo.boards_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["board"]
await mongo.boards_collection.update_one({
"id": data["id"]
}, {
"$set": data
})
return response({
"message": "Доска обновлена",
"ok": True
}, start_time=start_time)
@router.delete("/{board_id}", tags=[""])
async def delete(board_id: int):
start_time = time()
await mongo.boards_collection.delete_one({
"id": board_id
})
return response({
"message": "Доска удален",
"ok": True
}, start_time=start_time)