diff --git a/app/modules/loyalty/services/card_service.py b/app/modules/loyalty/services/card_service.py index 7aba2f20..67f8288c 100644 --- a/app/modules/loyalty/services/card_service.py +++ b/app/modules/loyalty/services/card_service.py @@ -63,13 +63,15 @@ class CardService: def get_card_by_number(self, db: Session, card_number: str) -> LoyaltyCard | None: """Get a loyalty card by card number.""" - # Normalize card number (remove dashes) + from sqlalchemy import func + + # Normalize card number (remove dashes/spaces) normalized = card_number.replace("-", "").replace(" ", "") return ( db.query(LoyaltyCard) .options(joinedload(LoyaltyCard.program)) .filter( - LoyaltyCard.card_number.replace("-", "") == normalized + func.replace(func.replace(LoyaltyCard.card_number, "-", ""), " ", "") == normalized ) .first() )