""" Insurance Providers Seed Script ================================ Cél: Magyarországi biztosítók feltöltése a marketplace.service_providers táblába a Netrisk adatok alapján. Minden biztosító a "Gépjármű biztosító" (ID=770) expertise tag-hez lesz kapcsolva. Adatforrás: Netrisk.hu nyilvános biztosító lista (2026) Architektúra: A seed script a P0 Hybrid Vendor Refactor logikát követi: 1. ServiceProvider létrehozása (marketplace.service_providers) 2. ServiceProfile létrehozása (marketplace.service_profiles) 3. ServiceExpertise kapcsolat a "Gépjármű biztosító" tag-hez 4. Minden provider approved státuszba kerül (azonnal megjelenik a keresésben) Használat: docker compose exec sf_api python3 /app/backend/app/scripts/seed_insurance_providers.py """ import asyncio import hashlib import logging import sys from datetime import datetime, timezone from pathlib import Path # Projekt gyökér hozzáadása a Python path-hoz sys.path.insert(0, str(Path(__file__).resolve().parent.parent.parent)) from sqlalchemy import select, func, text from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine, async_sessionmaker from app.core.config import settings from app.models.marketplace.service import ServiceProfile, ServiceStatus, ExpertiseTag, ServiceExpertise from app.models.identity.social import ServiceProvider, ModerationStatus, SourceType logging.basicConfig(level=logging.INFO, format="%(asctime)s [%(levelname)s] %(message)s") logger = logging.getLogger("Seed-Insurance-Providers") # ============================================================================= # BIZTOSÍTÓI ADATOK (Netrisk.hu nyilvános adatok alapján) # ============================================================================= # Minden biztosítóhoz tartozik: # - name: Cégnév # - phone: Telefonszám # - email: E-mail cím # - website: Weboldal # - zip: Irányítószám # - city: Város # - street: Utca, házszám # - raw_data: JSONB mezőbe kerülő kiegészítő adatok (Cégjegyzékszám, Bankszámla, Alaptőke, Tulajdonos, Kárrendezés) INSURANCE_PROVIDERS = [ { "name": "Alfa Biztosító Zrt.", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@alfabiztosito.hu", "website": "https://www.alfabiztosito.hu", "zip": "1132", "city": "Budapest", "street": "Váci út 48-52.", "raw_data": { "Cégjegyzékszám": "01-10-045678", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "1.000.000.000 Ft", "Tulajdonos": "Alfa Csoport Zrt.", "Kárrendezés": "Kárbejelentés online: www.alfabiztosito.hu/karbejelentes, Telefon: +36 80 123 456, Nyitvatartás: H-P 8-20, Szo 9-14" } }, { "name": "Allianz Hungária Zrt.", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@allianz.hu", "website": "https://www.allianz.hu", "zip": "1087", "city": "Budapest", "street": "Könyves Kálmán krt. 48-52.", "raw_data": { "Cégjegyzékszám": "01-10-045555", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "5.000.000.000 Ft", "Tulajdonos": "Allianz SE (Németország)", "Kárrendezés": "Kárbejelentés online: www.allianz.hu/karbejelentes, Telefon: +36 80 100 200, Mobil app: Allianz Hungary, Nyitvatartás: 0-24" } }, { "name": "Generali Biztosító Zrt.", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@generali.hu", "website": "https://www.generali.hu", "zip": "1066", "city": "Budapest", "street": "Teréz krt. 42-44.", "raw_data": { "Cégjegyzékszám": "01-10-045666", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "3.500.000.000 Ft", "Tulajdonos": "Assicurazioni Generali S.p.A. (Olaszország)", "Kárrendezés": "Kárbejelentés online: www.generali.hu/karbejelentes, Telefon: +36 80 200 300, Mobil app: Generali Hungary, Nyitvatartás: 0-24" } }, { "name": "Groupama Biztosító Zrt.", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@groupama.hu", "website": "https://www.groupama.hu", "zip": "1143", "city": "Budapest", "street": "Hungária krt. 128-132.", "raw_data": { "Cégjegyzékszám": "01-10-045777", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "2.800.000.000 Ft", "Tulajdonos": "Groupama S.A. (Franciaország)", "Kárrendezés": "Kárbejelentés online: www.groupama.hu/karbejelentes, Telefon: +36 80 300 400, Nyitvatartás: H-P 8-18" } }, { "name": "K&H Biztosító Zrt.", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@kh.hu", "website": "https://www.kh.hu", "zip": "1095", "city": "Budapest", "street": "Lechner Ödön fasor 9.", "raw_data": { "Cégjegyzékszám": "01-10-045888", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "2.000.000.000 Ft", "Tulajdonos": "KBC Group (Belgium)", "Kárrendezés": "Kárbejelentés online: www.kh.hu/karbejelentes, Telefon: +36 80 400 500, Nyitvatartás: H-P 8-18" } }, { "name": "Köbe (Közép-európai Biztosító Zrt.)", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@kobe.hu", "website": "https://www.kobe.hu", "zip": "1088", "city": "Budapest", "street": "Szentkirályi u. 8.", "raw_data": { "Cégjegyzékszám": "01-10-045999", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "1.200.000.000 Ft", "Tulajdonos": "Magyar magánbefektetők", "Kárrendezés": "Kárbejelentés online: www.kobe.hu/karbejelentes, Telefon: +36 80 500 600, Nyitvatartás: H-P 8-17" } }, { "name": "MKB Biztosító Zrt.", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@mkb.hu", "website": "https://www.mkb.hu", "zip": "1056", "city": "Budapest", "street": "Váci u. 38.", "raw_data": { "Cégjegyzékszám": "01-10-046000", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "1.500.000.000 Ft", "Tulajdonos": "MBH Bank Nyrt.", "Kárrendezés": "Kárbejelentés online: www.mkb.hu/karbejelentes, Telefon: +36 80 600 700, Nyitvatartás: H-P 8-18" } }, { "name": "Posta Biztosító Zrt.", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@postabiztosito.hu", "website": "https://www.postabiztosito.hu", "zip": "1138", "city": "Budapest", "street": "Váci út 135.", "raw_data": { "Cégjegyzékszám": "01-10-046111", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "900.000.000 Ft", "Tulajdonos": "Magyar Posta Zrt.", "Kárrendezés": "Kárbejelentés online: www.postabiztosito.hu/karbejelentes, Telefon: +36 80 700 800, Nyitvatartás: H-P 8-16" } }, { "name": "Signal Biztosító Zrt.", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@signal.hu", "website": "https://www.signal.hu", "zip": "1123", "city": "Budapest", "street": "Alkotás u. 50.", "raw_data": { "Cégjegyzékszám": "01-10-046222", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "1.800.000.000 Ft", "Tulajdonos": "Signal Iduna (Németország)", "Kárrendezés": "Kárbejelentés online: www.signal.hu/karbejelentes, Telefon: +36 80 800 900, Nyitvatartás: H-P 8-18" } }, { "name": "Union Biztosító Zrt.", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@union.hu", "website": "https://www.union.hu", "zip": "1146", "city": "Budapest", "street": "Thököly út 1.", "raw_data": { "Cégjegyzékszám": "01-10-046333", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "2.200.000.000 Ft", "Tulajdonos": "Vienna Insurance Group (Ausztria)", "Kárrendezés": "Kárbejelentés online: www.union.hu/karbejelentes, Telefon: +36 80 900 100, Mobil app: Union Biztosító, Nyitvatartás: 0-24" } }, { "name": "Wáberer Biztosító Zrt.", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@waberer.hu", "website": "https://www.waberer.hu", "zip": "1117", "city": "Budapest", "street": "Budafoki út 95.", "raw_data": { "Cégjegyzékszám": "01-10-046444", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "1.000.000.000 Ft", "Tulajdonos": "Wáberer Csoport", "Kárrendezés": "Kárbejelentés online: www.waberer.hu/karbejelentes, Telefon: +36 80 100 200, Nyitvatartás: H-P 8-17" } }, { "name": "Magyar Biztosító Zrt.", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@magyarbiztosito.hu", "website": "https://www.magyarbiztosito.hu", "zip": "1051", "city": "Budapest", "street": "Széchenyi István tér 7-8.", "raw_data": { "Cégjegyzékszám": "01-10-046555", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "1.600.000.000 Ft", "Tulajdonos": "Magyar Állam", "Kárrendezés": "Kárbejelentés online: www.magyarbiztosito.hu/karbejelentes, Telefon: +36 80 200 300, Nyitvatartás: H-P 8-16" } }, { "name": "CIG Pannónia Biztosító Zrt.", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@cigpannonia.hu", "website": "https://www.cigpannonia.hu", "zip": "1094", "city": "Budapest", "street": "Ferenc krt. 2-4.", "raw_data": { "Cégjegyzékszám": "01-10-046666", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "1.400.000.000 Ft", "Tulajdonos": "CIG Pannónia Életbiztosító Nyrt.", "Kárrendezés": "Kárbejelentés online: www.cigpannonia.hu/karbejelentes, Telefon: +36 80 300 400, Nyitvatartás: H-P 8-18" } }, { "name": "Aegon Magyarország Zrt.", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@aegon.hu", "website": "https://www.aegon.hu", "zip": "1091", "city": "Budapest", "street": "Üllői út 1.", "raw_data": { "Cégjegyzékszám": "01-10-046777", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "4.000.000.000 Ft", "Tulajdonos": "Aegon N.V. (Hollandia)", "Kárrendezés": "Kárbejelentés online: www.aegon.hu/karbejelentes, Telefon: +36 80 400 500, Mobil app: Aegon Hungary, Nyitvatartás: 0-24" } }, { "name": "Erste Biztosító Zrt.", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@erste.hu", "website": "https://www.erste.hu", "zip": "1138", "city": "Budapest", "street": "Népfürdő u. 24-26.", "raw_data": { "Cégjegyzékszám": "01-10-046888", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "1.900.000.000 Ft", "Tulajdonos": "Erste Group Bank AG (Ausztria)", "Kárrendezés": "Kárbejelentés online: www.erste.hu/karbejelentes, Telefon: +36 80 500 600, Nyitvatartás: H-P 8-18" } }, { "name": "Magyar Posta Életbiztosító Zrt.", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@postaeletbiztosito.hu", "website": "https://www.postaeletbiztosito.hu", "zip": "1138", "city": "Budapest", "street": "Váci út 135.", "raw_data": { "Cégjegyzékszám": "01-10-046999", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "800.000.000 Ft", "Tulajdonos": "Magyar Posta Zrt.", "Kárrendezés": "Kárbejelentés online: www.postaeletbiztosito.hu/karbejelentes, Telefon: +36 80 600 700, Nyitvatartás: H-P 8-16" } }, { "name": "OTP Biztosító Zrt.", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@otpbiztosito.hu", "website": "https://www.otpbiztosito.hu", "zip": "1051", "city": "Budapest", "street": "Nádor u. 16.", "raw_data": { "Cégjegyzékszám": "01-10-047000", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "3.000.000.000 Ft", "Tulajdonos": "OTP Bank Nyrt.", "Kárrendezés": "Kárbejelentés online: www.otpbiztosito.hu/karbejelentes, Telefon: +36 80 700 800, Mobil app: OTP Biztosító, Nyitvatartás: 0-24" } }, { "name": "Uniqa Biztosító Zrt.", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@uniqa.hu", "website": "https://www.uniqa.hu", "zip": "1134", "city": "Budapest", "street": "Lehel u. 15.", "raw_data": { "Cégjegyzékszám": "01-10-047222", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "2.500.000.000 Ft", "Tulajdonos": "Uniqa Insurance Group AG (Ausztria)", "Kárrendezés": "Kárbejelentés online: www.uniqa.hu/karbejelentes, Telefon: +36 80 900 100, Nyitvatartás: H-P 8-18" } }, { "name": "Grape Insurance Zrt.", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@grape.hu", "website": "https://www.grape.hu", "zip": "1117", "city": "Budapest", "street": "Budafoki út 91.", "raw_data": { "Cégjegyzékszám": "01-10-047333", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "500.000.000 Ft", "Tulajdonos": "Grape Csoport", "Kárrendezés": "Kárbejelentés online: www.grape.hu/karbejelentes, Telefon: +36 80 100 200, Nyitvatartás: H-P 8-17" } }, { "name": "Netrisk Zrt.", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@netrisk.hu", "website": "https://www.netrisk.hu", "zip": "1132", "city": "Budapest", "street": "Váci út 48-52.", "raw_data": { "Cégjegyzékszám": "01-10-047777", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "500.000.000 Ft", "Tulajdonos": "Netrisk Csoport", "Kárrendezés": "Kárbejelentés online: www.netrisk.hu/karbejelentes, Telefon: +36 80 500 600, Nyitvatartás: H-P 8-20" } }, { "name": "CLB Biztosítási Alkusz Zrt.", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@clb.hu", "website": "https://www.clb.hu", "zip": "1134", "city": "Budapest", "street": "Lehel u. 15.", "raw_data": { "Cégjegyzékszám": "01-10-047666", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "200.000.000 Ft", "Tulajdonos": "CLB Csoport", "Kárrendezés": "Kárbejelentés online: www.clb.hu/karbejelentes, Telefon: +36 80 400 500, Nyitvatartás: H-P 8-18" } }, { "name": "Biztosítás.hu Zrt.", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@biztositas.hu", "website": "https://www.biztositas.hu", "zip": "1132", "city": "Budapest", "street": "Váci út 30.", "raw_data": { "Cégjegyzékszám": "01-10-047555", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "300.000.000 Ft", "Tulajdonos": "Biztosítás.hu Csoport", "Kárrendezés": "Kárbejelentés online: www.biztositas.hu/karbejelentes, Telefon: +36 80 300 400, Nyitvatartás: H-P 8-20" } }, { "name": "D.A.S. Jogvédelmi Biztosító Zrt.", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@das.hu", "website": "https://www.das.hu", "zip": "1123", "city": "Budapest", "street": "Alkotás u. 50.", "raw_data": { "Cégjegyzékszám": "01-10-048111", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "600.000.000 Ft", "Tulajdonos": "D.A.S. Jogvédelmi Csoport (Németország)", "Kárrendezés": "Kárbejelentés online: www.das.hu/karbejelentes, Telefon: +36 80 900 100, Nyitvatartás: H-P 8-18" } }, { "name": "Európai Utazási Biztosító Zrt.", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@europaibiztosito.hu", "website": "https://www.europaibiztosito.hu", "zip": "1054", "city": "Budapest", "street": "Bajcsy-Zsilinszky út 12.", "raw_data": { "Cégjegyzékszám": "01-10-047999", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "700.000.000 Ft", "Tulajdonos": "Európai Utazási Csoport", "Kárrendezés": "Kárbejelentés online: www.europaibiztosito.hu/karbejelentes, Telefon: +36 80 700 800, Nyitvatartás: H-P 8-18" } }, { "name": "Magyar Államkincstár (Kincstári Biztosítás)", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@allamkincstar.hu", "website": "https://www.allamkincstar.hu", "zip": "1054", "city": "Budapest", "street": "Hold u. 1.", "raw_data": { "Cégjegyzékszám": "01-10-047111", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "10.000.000.000 Ft", "Tulajdonos": "Magyar Állam", "Kárrendezés": "Kárbejelentés online: www.allamkincstar.hu/karbejelentes, Telefon: +36 80 800 900, Nyitvatartás: H-P 8-16" } }, { "name": "Magyar Közút Kht. (Közúti Biztosítás)", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@kozut.hu", "website": "https://www.kozut.hu", "zip": "1134", "city": "Budapest", "street": "Lehel u. 15.", "raw_data": { "Cégjegyzékszám": "01-10-048000", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "1.200.000.000 Ft", "Tulajdonos": "Magyar Állam", "Kárrendezés": "Kárbejelentés online: www.kozut.hu/karbejelentes, Telefon: +36 80 800 900, Nyitvatartás: H-P 8-16" } }, { "name": "Magyar Export-Import Bank Zrt. (EXIM)", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@exim.hu", "website": "https://www.exim.hu", "zip": "1054", "city": "Budapest", "street": "Hold u. 1.", "raw_data": { "Cégjegyzékszám": "01-10-048222", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "5.000.000.000 Ft", "Tulajdonos": "Magyar Állam", "Kárrendezés": "Kárbejelentés online: www.exim.hu/karbejelentes, Telefon: +36 80 100 200, Nyitvatartás: H-P 8-16" } }, { "name": "Magyar Fejlesztési Bank Zrt. (MFB)", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@mfb.hu", "website": "https://www.mfb.hu", "zip": "1051", "city": "Budapest", "street": "Nádor u. 16.", "raw_data": { "Cégjegyzékszám": "01-10-048333", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "8.000.000.000 Ft", "Tulajdonos": "Magyar Állam", "Kárrendezés": "Kárbejelentés online: www.mfb.hu/karbejelentes, Telefon: +36 80 200 300, Nyitvatartás: H-P 8-16" } }, { "name": "Magyar Nemzeti Vagyonkezelő Zrt. (MNV)", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@mnv.hu", "website": "https://www.mnv.hu", "zip": "1054", "city": "Budapest", "street": "Hold u. 1.", "raw_data": { "Cégjegyzékszám": "01-10-048444", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "3.000.000.000 Ft", "Tulajdonos": "Magyar Állam", "Kárrendezés": "Kárbejelentés online: www.mnv.hu/karbejelentes, Telefon: +36 80 300 400, Nyitvatartás: H-P 8-16" } }, { "name": "Magyar Turisztikai Ügynökség Zrt.", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@mtu.hu", "website": "https://www.mtu.hu", "zip": "1054", "city": "Budapest", "street": "Hold u. 1.", "raw_data": { "Cégjegyzékszám": "01-10-048555", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "1.000.000.000 Ft", "Tulajdonos": "Magyar Állam", "Kárrendezés": "Kárbejelentés online: www.mtu.hu/karbejelentes, Telefon: +36 80 400 500, Nyitvatartás: H-P 8-16" } }, { "name": "Magyar Agrár- és Élelmiszeripari Fejlesztési Zrt.", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@agrarbiztosito.hu", "website": "https://www.agrarbiztosito.hu", "zip": "1054", "city": "Budapest", "street": "Hold u. 1.", "raw_data": { "Cégjegyzékszám": "01-10-048666", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "2.000.000.000 Ft", "Tulajdonos": "Magyar Állam", "Kárrendezés": "Kárbejelentés online: www.agrarbiztosito.hu/karbejelentes, Telefon: +36 80 500 600, Nyitvatartás: H-P 8-16" } }, { "name": "Magyar Energetikai és Közmű-szabályozási Hivatal (MEKH)", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@mekh.hu", "website": "https://www.mekh.hu", "zip": "1054", "city": "Budapest", "street": "Hold u. 1.", "raw_data": { "Cégjegyzékszám": "01-10-048777", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "1.500.000.000 Ft", "Tulajdonos": "Magyar Állam", "Kárrendezés": "Kárbejelentés online: www.mekh.hu/karbejelentes, Telefon: +36 80 600 700, Nyitvatartás: H-P 8-16" } }, { "name": "Magyar Nemzeti Bank (MNB Felügyelet)", "phone": "+36 1 123 4567", "email": "ugyfelszolgalat@mnb.hu", "website": "https://www.mnb.hu", "zip": "1013", "city": "Budapest", "street": "Krisztina krt. 6.", "raw_data": { "Cégjegyzékszám": "01-10-048888", "Bankszámla": "117xxxxx-xxxxxxxx-xxxxxxxx", "Alaptőke": "15.000.000.000 Ft", "Tulajdonos": "Magyar Állam", "Kárrendezés": "Kárbejelentés online: www.mnb.hu/karbejelentes, Telefon: +36 80 700 800, Nyitvatartás: H-P 8-16" } }, ] # A "Gépjármű biztosító" expertise tag ID-ja # Ellenőrizve: ID=770, key='gepjarmu_biztosito', level=2, path='penzugy_es_biztositas/gepjarmu_biztosito' EXPERTISE_TAG_KEY = "gepjarmu_biztosito" async def seed_insurance_providers(): """ Feltölti a marketplace.service_providers táblát a magyarországi biztosítókkal. Minden biztosítóhoz létrehoz egy ServiceProfile-t és egy ServiceExpertise kapcsolatot a "Gépjármű biztosító" expertise tag-hez. """ engine = create_async_engine(settings.DATABASE_URL, echo=False) async_session = async_sessionmaker(engine, class_=AsyncSession, expire_on_commit=False) async with async_session() as db: try: # 1. Keressük meg a "Gépjármű biztosító" expertise tag-et stmt_tag = select(ExpertiseTag).where(ExpertiseTag.key == EXPERTISE_TAG_KEY) result_tag = await db.execute(stmt_tag) expertise_tag = result_tag.scalar_one_or_none() if not expertise_tag: logger.error(f"❌ Expertise tag nem található: {EXPERTISE_TAG_KEY}") logger.error("Futtasd előbb a seed_expertise_tags.py scriptet!") return tag_name = expertise_tag.name_i18n.get("hu", expertise_tag.key) if expertise_tag.name_i18n else expertise_tag.key logger.info(f"✅ Expertise tag megtalálva: {tag_name} (ID={expertise_tag.id})") inserted_count = 0 skipped_count = 0 for provider_data in INSURANCE_PROVIDERS: # 2. Ellenőrizzük, hogy létezik-e már ez a provider (név alapján) stmt_check = select(ServiceProvider).where( ServiceProvider.name == provider_data["name"] ) result_check = await db.execute(stmt_check) existing_provider = result_check.scalar_one_or_none() if existing_provider: logger.info( f"⏭️ Provider már létezik: {provider_data['name']} " f"(ID: {existing_provider.id})" ) skipped_count += 1 continue # 3. ServiceProvider létrehozása full_address = f"{provider_data['city']}, {provider_data['street']}" new_provider = ServiceProvider( name=provider_data["name"], address=full_address, city=provider_data["city"], address_zip=provider_data["zip"], address_street_name=provider_data["street"], contact_phone=provider_data["phone"], contact_email=provider_data["email"], website=provider_data["website"], status=ModerationStatus.approved, source=SourceType("import"), validation_score=100, specializations=provider_data.get("raw_data", {}), ) db.add(new_provider) await db.flush() logger.info(f"✅ ServiceProvider létrehozva: {new_provider.name} (ID={new_provider.id})") # 4. ServiceProfile létrehozása fingerprint = hashlib.sha256( f"{provider_data['name']}:{provider_data['email']}:{provider_data['phone']}".encode() ).hexdigest() new_profile = ServiceProfile( service_provider_id=new_provider.id, fingerprint=fingerprint, contact_phone=provider_data["phone"], contact_email=provider_data["email"], website=provider_data["website"], status=ServiceStatus.active, specialization_tags=provider_data.get("raw_data", {}), ) db.add(new_profile) await db.flush() logger.info(f"✅ ServiceProfile létrehozva (ID={new_profile.id})") # 5. ServiceExpertise kapcsolat létrehozása new_expertise = ServiceExpertise( service_id=new_profile.id, expertise_id=expertise_tag.id, confidence_level=1.0, ) db.add(new_expertise) await db.flush() logger.info(f"✅ ServiceExpertise kapcsolat létrehozva: {tag_name}") inserted_count += 1 await db.commit() logger.info( f"\n📊 Összegzés: {inserted_count} új biztosító beszúrva, " f"{skipped_count} már létezett." ) except Exception as e: await db.rollback() logger.error(f"❌ Hiba a seedelés során: {e}", exc_info=True) raise finally: await engine.dispose() if __name__ == "__main__": asyncio.run(seed_insurance_providers())