make format
This commit is contained in:
parent
f429037d63
commit
418cc7bf86
5 changed files with 25 additions and 18 deletions
|
|
@ -274,27 +274,32 @@ async def get_diagonalley_order(order_id: str) -> Optional[Orders]:
|
||||||
)
|
)
|
||||||
return Orders(**row) if row else None
|
return Orders(**row) if row else None
|
||||||
|
|
||||||
|
|
||||||
async def get_diagonalley_order_invoiceid(invoice_id: str) -> Optional[Orders]:
|
async def get_diagonalley_order_invoiceid(invoice_id: str) -> Optional[Orders]:
|
||||||
row = await db.fetchone(
|
row = await db.fetchone(
|
||||||
"SELECT * FROM diagonalley.orders WHERE invoiceid = ?", (invoice_id,)
|
"SELECT * FROM diagonalley.orders WHERE invoiceid = ?", (invoice_id,)
|
||||||
)
|
)
|
||||||
return Orders(**row) if row else None
|
return Orders(**row) if row else None
|
||||||
|
|
||||||
|
|
||||||
async def set_diagonalley_order_paid(payment_hash: str) -> Orders:
|
async def set_diagonalley_order_paid(payment_hash: str) -> Orders:
|
||||||
await db.execute(
|
await db.execute(
|
||||||
"""
|
"""
|
||||||
UPDATE diagonalley.orders
|
UPDATE diagonalley.orders
|
||||||
SET paid = true
|
SET paid = true
|
||||||
WHERE invoiceid = ?
|
WHERE invoiceid = ?
|
||||||
""",
|
""",
|
||||||
(payment_hash,),
|
(payment_hash,),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def update_diagonalley_product_stock(products):
|
async def update_diagonalley_product_stock(products):
|
||||||
|
|
||||||
q = "\n".join([f"""WHEN id='{p.product_id}' THEN quantity - {p.quantity}""" for p in products])
|
q = "\n".join(
|
||||||
|
[f"""WHEN id='{p.product_id}' THEN quantity - {p.quantity}""" for p in products]
|
||||||
|
)
|
||||||
v = ",".join(["?"] * len(products))
|
v = ",".join(["?"] * len(products))
|
||||||
|
|
||||||
await db.execute(
|
await db.execute(
|
||||||
f"""
|
f"""
|
||||||
UPDATE diagonalley.products
|
UPDATE diagonalley.products
|
||||||
|
|
@ -303,9 +308,10 @@ async def update_diagonalley_product_stock(products):
|
||||||
END)
|
END)
|
||||||
WHERE id IN ({v});
|
WHERE id IN ({v});
|
||||||
""",
|
""",
|
||||||
(*[p.product_id for p in products],)
|
(*[p.product_id for p in products],),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def get_diagonalley_orders(wallet_ids: Union[str, List[str]]) -> List[Orders]:
|
async def get_diagonalley_orders(wallet_ids: Union[str, List[str]]) -> List[Orders]:
|
||||||
if isinstance(wallet_ids, str):
|
if isinstance(wallet_ids, str):
|
||||||
wallet_ids = [wallet_ids]
|
wallet_ids = [wallet_ids]
|
||||||
|
|
@ -344,20 +350,21 @@ async def get_diagonalley_market_stalls(market_id: str):
|
||||||
|
|
||||||
return [{**row} for row in rows]
|
return [{**row} for row in rows]
|
||||||
|
|
||||||
|
|
||||||
async def create_diagonalley_market(data: CreateMarket):
|
async def create_diagonalley_market(data: CreateMarket):
|
||||||
market_id = urlsafe_short_hash()
|
market_id = urlsafe_short_hash()
|
||||||
|
|
||||||
await db.execute(
|
await db.execute(
|
||||||
"""
|
"""
|
||||||
INSERT INTO diagonalley.markets (id, usr, name)
|
INSERT INTO diagonalley.markets (id, usr, name)
|
||||||
VALUES (?, ?, ?)
|
VALUES (?, ?, ?)
|
||||||
""",
|
""",
|
||||||
(
|
(
|
||||||
market_id,
|
market_id,
|
||||||
data.usr,
|
data.usr,
|
||||||
data.name,
|
data.name,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
market = await get_diagonalley_market(market_id)
|
market = await get_diagonalley_market(market_id)
|
||||||
assert market, "Newly created market couldn't be retrieved"
|
assert market, "Newly created market couldn't be retrieved"
|
||||||
return market
|
return market
|
||||||
|
|
|
||||||
|
|
@ -104,5 +104,6 @@ class Market(BaseModel):
|
||||||
usr: str
|
usr: str
|
||||||
name: Optional[str]
|
name: Optional[str]
|
||||||
|
|
||||||
|
|
||||||
class CreateMarketStalls(BaseModel):
|
class CreateMarketStalls(BaseModel):
|
||||||
stallid: str
|
stallid: str
|
||||||
|
|
|
||||||
|
|
@ -33,9 +33,7 @@ async def on_invoice_paid(payment: Payment) -> None:
|
||||||
|
|
||||||
# set order as paid
|
# set order as paid
|
||||||
await set_diagonalley_order_paid(payment.payment_hash)
|
await set_diagonalley_order_paid(payment.payment_hash)
|
||||||
|
|
||||||
# deduct items sold from stock
|
# deduct items sold from stock
|
||||||
details = await get_diagonalley_order_details(order.id)
|
details = await get_diagonalley_order_details(order.id)
|
||||||
await update_diagonalley_product_stock(details)
|
await update_diagonalley_product_stock(details)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ async def display(request: Request, stall_id):
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
status_code=HTTPStatus.NOT_FOUND, detail="Stall does not exist."
|
status_code=HTTPStatus.NOT_FOUND, detail="Stall does not exist."
|
||||||
)
|
)
|
||||||
|
|
||||||
stall = stall.dict()
|
stall = stall.dict()
|
||||||
del stall["privatekey"]
|
del stall["privatekey"]
|
||||||
stall["zones"] = zones
|
stall["zones"] = zones
|
||||||
|
|
|
||||||
|
|
@ -290,6 +290,7 @@ async def api_diagonalley_check_payment(payment_hash: str):
|
||||||
return {"paid": False}
|
return {"paid": False}
|
||||||
return status
|
return status
|
||||||
|
|
||||||
|
|
||||||
@diagonalley_ext.delete("/api/v1/orders/{order_id}")
|
@diagonalley_ext.delete("/api/v1/orders/{order_id}")
|
||||||
async def api_diagonalley_order_delete(
|
async def api_diagonalley_order_delete(
|
||||||
order_id: str, wallet: WalletTypeInfo = Depends(get_key_type)
|
order_id: str, wallet: WalletTypeInfo = Depends(get_key_type)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue