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() templates = await mongo.templates_collection.find({}, { "_id": False }).sort("id", mongo.desc).to_list() return response({ "templates": templates }, start_time=start_time) @router.post("/create", tags=[""]) async def create(data: dict): start_time = time() data["id"] = await mongo.get_next_id(mongo.templates_collection) logger.json(data) try: await mongo.templates_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(data: dict): start_time = time() logger.json(data) try: await mongo.templates_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() id = params["id"] logger.json(id) try: await mongo.templates_collection.delete_one({ "id": 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)