def delete(self, sale_id): try: products_from_sale = SoldProductModel.find_by_sale_id(sale_id) payments_from_sale = TransactionModel.find_by_sale_id(sale_id) for sold_product in products_from_sale: SoldProductModel.delete_from_db(sold_product.sold_product_id) for payment in payments_from_sale: TransactionModel.delete_from_db(payment.transaction_id) SaleModel.delete_from_db(sale_id) except: return {"message": "An error occurred deleting the sale"}, 500 return {"message": "Sale deleted"}, 200
def get(self, sale_id): sale = SaleModel.find_by_id(sale_id) if not sale: return {"message": "no sale with that id"}, 404 products_from_sale = SoldProductModel.find_by_sale_id(sale_id) payments_from_sale = TransactionModel.find_by_sale_id(sale_id) return {"sale_id": sale.sale_id, "date": str(sale.date)[:19], "client": sale.client.json(), "total": sale.total, "discount": sale.discount, "user_commission": sale.user_commission, "promoter_commission": sale.promoter_commission, "payments": [payment.json() for payment in payments_from_sale], "products": [product.json() for product in products_from_sale], "deleted": sale.deleted}, 200