working auto

This commit is contained in:
2025-09-26 20:30:42 -04:00
parent 569e76f21e
commit 4f24570d3c
7 changed files with 146 additions and 5 deletions

45
app/routers/auto.py Normal file
View File

@@ -0,0 +1,45 @@
from fastapi import APIRouter, Depends, HTTPException
from sqlalchemy.orm import Session
from app import crud, database
# Create a router for auto-specific transaction endpoints
auto_router = APIRouter(
prefix="/auto/transaction",
tags=["auto_transaction"],
responses={404: {"description": "Not found"}},
)
@auto_router.get("/delivery/{auto_id}", summary="Get pre-authorization transaction for auto delivery")
def get_auto_delivery_transaction(auto_id: int, db: Session = Depends(database.get_db)):
"""
Get the pre-authorization transaction for an auto ticket delivery.
Used by the capture page for auto deliveries.
"""
transaction = crud.get_transaction_by_auto_id(db, auto_id=auto_id)
if not transaction:
raise HTTPException(status_code=404, detail="No pre-authorization transaction found for this auto delivery")
return {
"id": transaction.id,
"transaction_type": transaction.transaction_type,
"status": transaction.status,
"auth_net_transaction_id": transaction.auth_net_transaction_id,
"preauthorize_amount": transaction.preauthorize_amount
}
@auto_router.put("/delivery/{current_auto_id}/update/{new_auto_id}", summary="Update auto_id for transaction")
def update_transaction_auto_id(current_auto_id: int, new_auto_id: int, db: Session = Depends(database.get_db)):
"""
Update the auto_id of a transaction based on the current auto_id.
Used to change transaction from auto_delivery.id to auto_ticket.id
"""
transaction = crud.get_transaction_by_auto_id(db, auto_id=current_auto_id)
if not transaction:
raise HTTPException(status_code=404, detail="No transaction found for this auto delivery")
transaction.delivery_id = new_auto_id
transaction.auto_id = new_auto_id
db.commit()
return {"message": "Transaction auto_id updated"}