diff --git a/pos/services/catalog_service.py b/pos/services/catalog_service.py index 8a065e3..529ab02 100644 --- a/pos/services/catalog_service.py +++ b/pos/services/catalog_service.py @@ -17,16 +17,27 @@ import re # VEHICLE HIERARCHY NAVIGATION # ───────────────────────────────────────────────────────────────────────────── +NORTH_AMERICA_BRANDS = ( + 'ACURA', 'AUDI', 'BMW', 'BUICK', 'CADILLAC', 'CHEVROLET', 'CHRYSLER', + 'DODGE', 'FIAT', 'FORD', 'GMC', 'HONDA', 'HYUNDAI', 'INFINITI', + 'JAGUAR', 'JEEP', 'KIA', 'LAND ROVER', 'LEXUS', 'LINCOLN', 'MAZDA', + 'MERCEDES-BENZ', 'MINI', 'MITSUBISHI', 'NISSAN', 'PEUGEOT', 'PORSCHE', + 'RAM', 'RENAULT', 'SEAT', 'SUBARU', 'SUZUKI', 'TESLA', 'TOYOTA', + 'VOLVO', 'VW', +) + + def get_brands(master_conn): - """Get all vehicle brands that have MYE entries (fast, no vehicle_parts scan).""" + """Get vehicle brands available in Mexico/USA/Canada that have MYE entries.""" cur = master_conn.cursor() cur.execute(""" SELECT DISTINCT b.id_brand, b.name_brand FROM brands b JOIN models m ON m.brand_id = b.id_brand JOIN model_year_engine mye ON mye.model_id = m.id_model + WHERE b.name_brand = ANY(%s) ORDER BY b.name_brand - """) + """, (list(NORTH_AMERICA_BRANDS),)) rows = cur.fetchall() cur.close() return [{'id_brand': r[0], 'name_brand': r[1]} for r in rows]