first commit

This commit is contained in:
2025-07-24 20:13:47 +03:00
commit 94b7585f8b
175 changed files with 85264 additions and 0 deletions

View File

@ -0,0 +1,57 @@
from time import time
from fastapi import APIRouter
from app import mongo
from app.utils.response_util import response
router = APIRouter()
@router.post("/add")
async def add_product(params: dict):
start_time = time()
deal_id = params["dealId"]
product_data = {
"productId": params["product"]["product"]["id"],
"quantity": params["product"]["quantity"],
"services": [
{"serviceId": service["service"]["id"], "price": service["price"], "isFixedPrice": service.get("isFixedPrice", False), "quantity": 1}
for service in params["product"]["services"]
]
}
deal = await mongo.deals_collection.find_one({"id": deal_id})
if not deal:
return response({"message": "Сделка не найдена", "ok": False}, start_time=start_time)
products = deal.get("products", [])
products.append(product_data)
await mongo.deals_collection.update_one({"id": deal_id}, {"$set": {"products": products}})
return response({
"message": "Товар добавлен к сделке",
"ok": True
}, start_time=start_time)
@router.post("/delete")
async def delete_product(params: dict):
start_time = time()
deal_id = params["dealId"]
product_id = params["productId"]
deal = await mongo.deals_collection.find_one({"id": deal_id})
if not deal:
return response({"message": "Сделка не найдена", "ok": False}, start_time=start_time)
products = deal.get("products", [])
products = [product for product in products if product["productId"] != product_id]
await mongo.deals_collection.update_one({"id": deal_id}, {"$set": {"products": products}})
return response({
"message": "Товар удалён из сделки",
"ok": True
}, start_time=start_time)