import json from time import time from fastapi import APIRouter from app.config import config from app.utils.logger_util import logger from app.utils.response_util import response from app import mongo router = APIRouter() @router.get("/get-all", tags=[""]) async def get_all(): start_time = time() sizes = await mongo.template_sizes_collection.find({}, { "_id": False }).sort("id", mongo.asc).to_list() return response({ "sizes": sizes }, start_time=start_time) @router.post("/create", tags=[""]) async def create(params: dict): start_time = time() data = params["size"] data["id"] = await mongo.get_next_id(mongo.template_sizes_collection) logger.json(data) try: await mongo.template_sizes_collection.insert_one(data) return response({ "message": "Размер создан", "ok": True }, start_time=start_time) except Exception as e: return response({ "message": str(e), "ok": False }, start_time=start_time, code=400) @router.post("/update", tags=[""]) async def update(params: dict): start_time = time() data = params["data"] logger.json(data) try: await mongo.template_sizes_collection.update_one({ "id": data["id"] }, { "$set": data }) return response({ "message": "Данные размера обновлены", "ok": True }, start_time=start_time) except Exception as e: return response({ "message": str(e), "ok": False }, start_time=start_time, code=400) @router.post("/delete", tags=[""]) async def delete(params: dict): start_time = time() size_id = params["templateId"] logger.json(size_id) try: await mongo.template_sizes_collection.delete_one({ "id": size_id }) return response({ "message": "Размер удален", "ok": True }, start_time=start_time) except Exception as e: return response({ "message": str(e), "ok": False }, start_time=start_time, code=400)