From ef729ee3842fb2df7cd1bd594f7ba674b92e29d8 Mon Sep 17 00:00:00 2001 From: AutonetSellCar Deploy Date: Sat, 3 Jan 2026 12:42:30 +0900 Subject: [PATCH] Add recommended vehicle check to car view access MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cars that were recommended to the user (via vehicle request with 1CC payment) should be accessible without additional CC payment. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- backend/app/api/cc.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/backend/app/api/cc.py b/backend/app/api/cc.py index f4ff8a6..9f19313 100644 --- a/backend/app/api/cc.py +++ b/backend/app/api/cc.py @@ -8,7 +8,7 @@ import stripe import logging from ..database import get_db -from ..models import User, Car, CarView, PerformanceCheckView, ChargeHistory, CarPerformanceCheck, CCPackage, DEFAULT_CC_PACKAGES +from ..models import User, Car, CarView, PerformanceCheckView, ChargeHistory, CarPerformanceCheck, CCPackage, DEFAULT_CC_PACKAGES, VehicleRequest, RequestVehicle from ..models.settings import SystemSettings from ..models.user import PaymentSettings from ..schemas import UserResponse, CarViewResponse, PurchaseViewRequest @@ -135,13 +135,27 @@ def check_car_view( db: Session = Depends(get_db) ): """Check if user has purchased view access for a specific car""" + # Check if user purchased view access existing_view = db.query(CarView).filter( CarView.user_id == current_user.id, CarView.car_id == car_id ).first() + if existing_view: + return { + "has_access": True, + "cc_balance": current_user.cc_balance or 0 + } + + # Check if this car was recommended to the user (paid 1 CC for recommendation) + recommended_vehicle = db.query(RequestVehicle).join(VehicleRequest).filter( + VehicleRequest.user_id == current_user.id, + RequestVehicle.car_id == car_id, + RequestVehicle.is_approved == True + ).first() + return { - "has_access": existing_view is not None, + "has_access": recommended_vehicle is not None, "cc_balance": current_user.cc_balance or 0 }