92 lines
1.9 KiB
Python
92 lines
1.9 KiB
Python
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)
|