major claude changes
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user