major claude changes

This commit is contained in:
2026-01-28 21:55:10 -05:00
parent 3f311980db
commit 2dbd3ea53f
41 changed files with 1235 additions and 278 deletions

View File

@@ -1,3 +1,4 @@
import logging
from flask import jsonify, request
from app.payment import payment
from app import db
@@ -6,6 +7,9 @@ from app.classes.cards import Card_Card, Card_Card_schema
from app.classes.transactions import Transaction
from app.classes.delivery import Delivery_Delivery
from app.classes.service import Service_Service, Service_Service_schema
from flask_login import login_required
logger = logging.getLogger(__name__)
@@ -52,10 +56,12 @@ def set_card_main(user_id, card_id):
@payment.route("/cards/<int:user_id>", methods=["GET"])
@login_required
def get_user_cards(user_id):
"""
gets all cards of a user
"""
logger.info(f"GET /payment/cards/{user_id} - Fetching user cards")
get_u_cards = (db.session
.query(Card_Card)
.filter(Card_Card.user_id == user_id)
@@ -66,11 +72,12 @@ def get_user_cards(user_id):
@payment.route("/cards/onfile/<int:user_id>", methods=["GET"])
@login_required
def get_user_cards_count(user_id):
"""
gets all cards of a user
"""
logger.info(f"GET /payment/cards/onfile/{user_id} - Getting card count")
get_u_cards = (db.session
.query(Card_Card)
.filter(Card_Card.user_id == user_id)
@@ -83,6 +90,7 @@ def get_user_cards_count(user_id):
@payment.route("/card/<int:card_id>", methods=["GET"])
@login_required
def get_user_specific_card(card_id):
"""
gets a specific card of a user
@@ -99,6 +107,7 @@ def get_user_specific_card(card_id):
@payment.route("/card/main/<int:card_id>/<int:user_id>", methods=["PUT"])
@login_required
def set_main_card(user_id, card_id):
"""
updates a card of a user
@@ -130,11 +139,12 @@ def set_main_card(user_id, card_id):
@payment.route("/card/remove/<int:card_id>", methods=["DELETE"])
@login_required
def remove_user_card(card_id):
"""
removes a card
removes a card
"""
logger.info(f"DELETE /payment/card/remove/{card_id} - Removing card")
get_card = (db.session
.query(Card_Card)
.filter(Card_Card.id == card_id)
@@ -151,6 +161,7 @@ def remove_user_card(card_id):
# ... (your existing imports: jsonify, request, db, Customer_Customer, Card_Card) ...
@payment.route("/card/create/<int:user_id>", methods=["POST"])
@login_required
def create_user_card(user_id):
"""
Adds a card for a user to the local database. This is its only job.
@@ -196,17 +207,18 @@ def create_user_card(user_id):
set_card_main(user_id=get_customer.id, card_id=create_new_card.id)
db.session.commit()
print(f"SUCCESS: Card saved locally for user {user_id} with new ID {create_new_card.id}")
logger.info(f"Card saved locally for user {user_id} with ID {create_new_card.id}")
except Exception as e:
db.session.rollback()
print(f"DATABASE ERROR: Could not save card for user {user_id}. Error: {e}")
logger.error(f"Database error saving card for user {user_id}: {e}")
return jsonify({"ok": False, "error": "Failed to save card information."}), 500
# Return a success response with the card_id
return jsonify({"ok": True, "card_id": create_new_card.id}), 200
@payment.route("/card/update_payment_profile/<int:card_id>", methods=["PUT"])
@login_required
def update_card_payment_profile(card_id):
"""
Updates the auth_net_payment_profile_id for a card
@@ -230,6 +242,7 @@ def update_card_payment_profile(card_id):
@payment.route("/card/edit/<int:card_id>", methods=["PUT"])
@login_required
def update_user_card(card_id):
"""
edits a card
@@ -277,6 +290,7 @@ def update_user_card(card_id):
@payment.route("/transactions/authorize/<int:page>", methods=["GET"])
@login_required
def get_authorize_transactions(page):
"""
Gets transactions with transaction_type = 0 (charge), for the authorize page
@@ -320,6 +334,7 @@ def get_authorize_transactions(page):
@payment.route("/authorize/cleanup/<int:customer_id>", methods=["POST"])
@login_required
def cleanup_authorize_profile(customer_id):
"""
Clean up Authorize.Net profile data in local database when API check fails.
@@ -349,6 +364,7 @@ def cleanup_authorize_profile(customer_id):
@payment.route("/authorize/<int:delivery_id>", methods=["PUT"])
@login_required
def update_delivery_payment_authorize(delivery_id):
"""
Update a delivery's payment_type to 11 (CC - Authorize API) after successful preauthorization
@@ -370,6 +386,7 @@ def update_delivery_payment_authorize(delivery_id):
@payment.route("/transaction/delivery/<int:delivery_id>", methods=["GET"])
@login_required
def get_transaction_by_delivery(delivery_id):
"""
Get a single transaction by delivery_id for Authorize.net payments
@@ -403,6 +420,7 @@ def get_transaction_by_delivery(delivery_id):
@payment.route("/transactions/customer/<int:customer_id>/<int:page>", methods=["GET"])
@login_required
def get_customer_transactions(customer_id, page):
"""
Gets transactions for a specific customer
@@ -445,6 +463,7 @@ def get_customer_transactions(customer_id, page):
@payment.route("/service/payment/<int:service_id>/<int:payment_type>", methods=["PUT"])
@login_required
def process_service_payment_tiger(service_id, payment_type):
service = db.session.query(Service_Service).filter(Service_Service.id == service_id).first()
if not service:
@@ -464,6 +483,7 @@ def process_service_payment_tiger(service_id, payment_type):
@payment.route("/authorize/service/<int:service_id>", methods=["PUT"])
@login_required
def update_service_payment_authorize(service_id):
service = db.session.query(Service_Service).filter(Service_Service.id == service_id).first()
if not service:
@@ -487,6 +507,7 @@ def update_service_payment_authorize(service_id):
@payment.route("/capture/service/<int:service_id>", methods=["PUT"])
@login_required
def update_service_payment_capture(service_id):
service = db.session.query(Service_Service).filter(Service_Service.id == service_id).first()
if not service:
@@ -511,6 +532,7 @@ def update_service_payment_capture(service_id):
@payment.route("/transactions/service/<int:service_id>", methods=["GET"])
@login_required
def get_service_transactions(service_id):
"""
Gets all transactions for a specific service ID
@@ -544,5 +566,5 @@ def get_service_transactions(service_id):
return jsonify(transactions_data), 200
except Exception as e:
print(f"Error fetching transactions for service {service_id}: {str(e)}")
logger.error(f"Error fetching transactions for service {service_id}: {e}")
return jsonify({"ok": False, "error": str(e)}), 500