Files
service-finder/archive/2026.02.18 Archive_old_mapps/V01_gemini/15_Changelog.md

32 KiB
Executable File

(Változásnapló.)

📜 CHANGELOG

[1.0.1] - 2026-02-06

Hozzáadva

  • Unified Auth Module: Integrált Belépés, Lite Regisztráció és Elfelejtett jelszó kezelés.
  • Email Rendszer: SendGrid integráció SMTP fallback lehetőséggel.
  • KYC Előkészítés: is_active flag bevezetése a User és Person modellekben a 2-lépcsős folyamathoz.

Javítva

  • SQLAlchemy Mapper Fix: Megszűnt az owned_organizations körkörös függőségi hiba.
  • Típus Szinkron: Person.id javítva BigInteger típusra a Postgres sémával összhangban.
  • Import Fixek: app.db.base_class -> app.db.base útvonalak egységesítve.

Technikai adatok

  • Konténer állapot: Stabil (running)
  • Regisztrációs folyamat: Step 1 (Lite) tesztelve, sikeres.

[1.0.0] - 2026-02-03

  • Init: Grand Master Book létrehozása.
  • Arch: Átköltözés a 80 magos szerverre.
  • Spec: Kredit rendszer, Tiers, Soft Delete és Person logika véglegesítése.

[2026-02-04] - Identity & Company Sync (v1.2)

  • Modell Konszolidáció: Az app.models.identity lett a központi identitáskezelő (User, Person, Wallet).
  • Master Book v1.2 Implementáció: Bevezetésre került a céges verifikációs logika (is_verified) és a 30 napos türelmi idő kezelése.
  • Integritás javítás: Az Organization tábla bővítve lett is_transferable és hitelesítési mezőkkel.
  • Bugfix: security.py IndentationError javítva, auth_service.py atomikus regisztrációs flow Master Book szinkronizálva.
  • Security: PostgreSQL tábla-tulajdonosi jogosultságok felülvizsgálata a migrációs hibák elhárításához.

[2026-02-05] - Identity & Company Sync (v1.2)

  • Database Security: Javítva a user_vehicle_equipment tábla tulajdonosi jogosultsága (shared-postgres környezetben).
  • Core Fix: A security.py állomány behúzási hibái (IndentationError) véglegesen elhárítva.
  • Organization v1.2: Implementálva az is_transferable, is_verified és verification_expires_at mezők a flották hitelesítéséhez.
  • AuthService Logic: - Az INDIVIDUAL típusú flották mostantól alapértelmezetten nem átruházhatóak.
    • Beépítve a 30 napos türelmi idő (grace_period) kalkulációja a cégellenőrzéshez.
    • Atomikus regisztráció kiterjesztve a privát flották automatikus létrehozására.
  • Infrastructure: Alembic migrációs lánc szinkronizálva az új modellekkel.

[2026-02-05] - Admin & Economy Finalization (v1.0)

  • Admin Management: Teljes hiearchia és területi felosztás kidolgozva (L0-L3).
  • Security: "Kill-switch" anomália-figyelés és 2FA kényszerítés rögzítve.
  • Economy: 10-5-2% jutalékrendszer és Voucher/Coupon logika specifikálva.
  • Synergy: Céges VIP és privát flotta közötti kedvezmény-szinergia kidolgozva.
  • Invitations: Meghívó limitációs és anti-spam logika rögzítve.

📓 CHANGELOG - SERVICE FINDER

[1.2.1] - 2026-02-05

Hozzáadva (Added)

  • Multi-step Social Auth: User modell bővítve social_provider és social_id mezőkkel.
  • Flotta Tulajdonjog: Organization modellben is_transferable flag implementálva (Individual flotta zárolva).
  • Referral Snapshot: Előkészítve a 10-5-2%-os jutalékrendszer adatmodellje.

🛠️ Javítva (Fixed)

  • SQLAlchemy Mapper: Megszűnt a UserVehicle KeyError hiba a string-alapú hivatkozásokkal.
  • Duplikáció: Vehicle osztály duplikációja eltávolítva a vehicle.py-ból.
  • Indentation Error: security.py bcrypt indentációs hiba javítva.

⚠️ Megjegyzés

  • Alembic migráció szükséges az új Organization és User mezőkhöz.

📓 CHANGELOG (Rögzítendő változások)

Mivel kérted, itt van a változások listája, amit a teszt után beírhatunk:

Fixed: UserRole enum validációs hiba (Postgres userrole típus mostantól kisbetűs értéket kap).

Added: Teljes banki KYC integráció a regisztrációba (Személyi, Jogosítvány, Speciális engedélyek).

Added: Atomi tranzakció részeként automatikus OrganizationMember létrehozás a privát flottához.

Added: Audit log rögzítése minden sikeres regisztrációról.

Added: Dinamikus paraméterkezelés (system_settings) a 14 napos jutalomhoz.

Elvárt eredmény: A tranzakció végén létrejön a Person, a Wallet (0 Coin) és a Private Fleet (is_transferable=False). A User is_active értéke True lesz.
  1. Debugging Checklist

    500 Error? Ellenőrizd a docker logs -f service_finder_api kimenetét. Ha "UndefinedColumn", akkor hiányzik egy SQL mező. Ha "InvalidTextRepresentation", akkor Enum hiba (nagybetűs string).

    Üres Swagger? Ellenőrizd az importokat a security.py-ban és a sémákat az endpoints/auth.py-ban.


💡 Javaslatom a dokumentáció kiegészítésére:

A fejlesztések rendben tartásához javaslom a 17_DEVELOPER_NOTES_AND_PITFALLS.md fájl aktív használatát is, amit az előző körben küldtem. Ez segít megelőzni, hogy a fejlesztőcsapat újra belefusson a Postgres Enum vagy a Base.metadata.create_all korlátaiba.

Holnap reggel frissíted a GEM beállításokat is? Ha igen, a következő lépésben elkészíthetem neked a Step 2 (KYC) végleges Pydantic sémáját és a complete-kyc végpont vázlatát!

[0.2.0] - 2026-02-07

Hozzáadva (Added)

  • Step 2 (KYC) Folyamat: Teljes körű identitás-kezelés (telefonszám, születési adatok, okmányok, ICE kontakt).
  • Automata Privát Flotta: Minden felhasználóhoz automatikusan létrejön egy individual típusú szervezet (Privát Széf).
  • Automata Wallet: Minden validált felhasználó kap egy üres pénztárcát (Coin és XP egyenleggel).
  • Trust Tiers: Bevezetésre került a fokozatos bizalmi szint (Tier 1: Email, Tier 2: KYC/Active).

🛠️ Javítva (Fixed)

  • SQLAlchemy Async Fix: joinedload alkalmazása a User-Person kapcsolathoz (MissingGreenlet hiba elhárítva).
  • JSON Serialization: Pydantic model_dump(mode='json') használata a JSONB mezőkhöz (dátum-konverziós hiba javítva).
  • Postgres Schema: data.organizations tábla bővítve hiányzó oszlopokkal (is_verified, updated_at, stb.).
  • Auth Endpoint: /complete-kyc végpont hozzáadva és JWT védelemmel ellátva.

⚙️ Adatbázis Változások (Database)

  • Új Enum típus: data.orgtype ('individual', 'company').
  • data.persons bővítve: phone, birth_place, birth_date, mothers_name, identity_docs, ice_contact.
  • data.organizations bővítve: is_verified, is_transferable, verification_expires_at, updated_at.

[0.2.0] - 2026-02-07

Step 2 KYC & Activation Complete

  • Funkció: Teljes körű személyazonosság-kezelés és fiókaktiválás.
  • Automatizálás: Regisztrációkor automatikusan létrejön a "Privát Flotta" (Organization) és a digitális pénztárca (Wallet).
  • Adatvédelem: Elkészült a "Digitális Széf" logika az okmányok és vészhelyzeti adatok biztonságos tárolására.
  • Technikai fix: SQLAlchemy joinedload integráció az aszinkron adatkezeléshez és JSON-safe dátumkezelés.

[0.3.0] - 2026-02-07

Hozzáadva (Added)

  • Asset DNS Modell: Új, univerzális eszközkezelő rendszer (Assets, VehicleCatalog, AssetEvents, AssetRatings).
  • Harvester Robot: Automata adatgyűjtő rendszer, amely külső forrásokból tölti fel a globális járműkatalógust.
  • UUID Implementáció: Az eszközök (Assets) és események (Events) mostantól biztonságos UUID azonosítókat használnak.

⚙️ Adatbázis Változások (Database)

  • data.vehicle_catalog tábla létrehozva a globális specifikációknak.
  • data.assets tábla létrehozva a konkrét példányok (VIN/HIN alapú) tárolására.
  • data.asset_events és data.asset_ratings táblák az életút és közösségi visszajelzések kezelésére.

🛠️ Refaktor (Refactor)

  • Modell Konszolidáció: A korábbi Vehicle és VehicleBrand modellek beolvasztva az új Asset és VehicleCatalog struktúrába.
  • Kapcsolati Térkép: Az Organization és User modellek frissítve az új Asset logikához.

[0.3.5] - 2026-02-07

Robot Technológia & Adatbiztonság

  • Multi-Robot Architektúra: Előkészítve a kategória-specifikus (Car, Bike, Truck) Harvester robotok szétválasztása.
  • Status Tracking: Bevezetve a verification_status a katalógus elemekhez a hiányos adatok kezelésére.
  • SQL Optimalizálás: Új indexek és kategória alapú szűrések hozzáadva a globális katalógushoz.

[0.4.0] - 2026-02-07

Multi-Robot System

  • Kategória Robotok: Elkészült a Car, Bike és Truck harvester moduláris szerkezete.
  • Robot Manager: Központi vezérlő az ütemezett és sorrendi adatgyűjtéshez.
  • Katalógus Kereső: Üzembe helyezve a /catalog/search végpont a Swaggerben.

[0.4.5] - 2026-02-07

Asset Management & Infrastructure

  • Asset Endpoint: POST /api/v1/assets/ élesítve VIN validációval.
  • NAS Integration: Automata mappastruktúra létrehozása az eszközöknek (/assets/{uuid}).
  • Data Model: privacy_level és status mezők hozzáadva az Asset modellhez.
  • Bugfix: SQLAlchemy TypeError javítva a modell és a séma szinkronizálásával.

[0.5.0] - 2026-02-07

Corporate & CRM Foundation

  • Corporate Onboarding: POST /api/v1/organizations/onboard végpont élesítve.
  • Validation: Magyar adószám (HU) formátum ellenőrzés beépítve.
  • Status Management: Bevezetve a pending_verification állapot a szervezetekhez.
  • Database: PostgreSQL orgtype Enum szinkronizálva a Python modellel (kisbetűs mapping).
  • NAS: Automata szervezeti mappa-izoláció (/organizations/{id}).

[0.5.1] - 2026-02-07

FIX: ModuleNotFoundError javítva az importok szinkronizálásával.

DATA: Atomizált címmezők hozzáadva a data.organizations táblához.

LOGIC: Háromszintű névkezelés (Hivatalos, Rövid, Display) bevezetve.

## [2.1.0] - 2026-02-08

Hozzáadva (Added)

  • Hibrid Címkezelő Rendszer: Új data.addresses központi tábla, amely UUID alapú azonosítással köti össze a személyeket, cégeket és szervizeket.
  • Öntanuló GeoService: A rendszer rögzítéskor automatikusan bővíti a ZIP-kód, város és utcanév szótárakat.
  • Autocomplete API: /api/v1/services/suggest-street végpont a frontend gépelés közbeni támogatásához.
  • Kétlépcsős Keresés: /api/v1/services/search végpont, amely megkülönbözteti a légvonalbeli (Free) és útvonal/idő alapú (Premium) kalkulációt.
  • PostGIS Integráció: Tűpontos GPS távolságmérés geography casting használatával.

Javítva (Fixed)

  • Gamifikációs hiba: A PointsLedger modellben javítva a points mezőnév (TypeError: points_change fix).
  • Adatbázis Inkonzisztencia: Létrehozva a hiányzó data.user_stats tábla.
  • Import hibák: Optional, UploadFile és File hiányzó importok pótolva a szolgáltatás végpontokon.

Változtatva (Changed)

  • Címkezelési Logika: A cégek és magánszemélyek mostantól egységes, bontott címstruktúrát (zip, city, street, street_type, house_number, parcel_id) használnak.
  • XP Szűrés: A szervizek és cégek rögzítésekor a rendszer mostantól csak a természetes személyeknek (User/Driver) oszt social pontokat.

[2.1.0] - 2026-02-08

  • Feat: Hibrid címkezelő rendszer bevezetése (UUID alapú data.addresses).
  • Feat: Öntanuló Geo-logika (Auto-create ZIP/Street).
  • Feat: Kétlépcsős (Free/Premium) szervizkereső API.
  • Fix: points_ledger mezőnév szinkronizáció.
  • Fix: data.user_stats tábla inicializálása.

[2026-02-08] - Nemzetközi Asset és KYC Stabilizáció

Hozzáadva

  • Nemzetközi paraméterek: mileage_unit (km/miles/hours) és reading_unit támogatása az Asset modellben.
  • Pénzügyi alapok: AssetCost modell bővítése nettó/bruttó összeggel, ÁFA kulccsal és deviza-kezeléssel.
  • Árfolyamkezelés: exchange_rates tábla implementálása MNB/ECB alapú napi frissítéshez.
  • Értékelési rendszer: ratings tábla létrehozva (user, asset, service_provider szinten).

Javítva

  • KYC Folyamat: Anyja neve bontása vezetéknévre és keresztnévre a magyar/nemzetközi szabványok szerint.
  • Database Schema: Számos hiányzó oszlop pótolva (asset_events.data, asset_events.event_date, user_stats.total_xp).
  • SQLAlchemy hiba: Javítva az IndexError a katalógus lekérdezésnél és az import hiba a PG_UUID kapcsán.

Megjegyzés

A rendszer most már képes egyetlen KYC folyamat alatt aktiválni a felhasználót, létrehozni az egyéni flottáját, inicializálni a pénztárcáját (Kredit/Coin) és rögzíteni az első járművét kezdő km-óra állással.

[Unreleased] - 2026-02-10

🚀 Added (Új funkciók)

  • RBAC System:
    • `User` tábla bővítése: `scope_level`, `scope_id`, `custom_permissions`.
    • `system_parameters` tábla létrehozása a globális JSON konfigurációkhoz.
    • Master RBAC JSON konfiguráció seedelése.
  • Gamification:
    • `GamificationService` létrehozása (XP, Level, Credit logika).
    • Automata pontszámítás és nehezedő szintek logikája.
  • API Modularitás:
    • `assets.py` szétbontása 3 végpontra (Identity, Costs, Telemetry).

🛠 Changed (Módosítások)

  • Asset Model: Az `Asset` entitás mostantól lazy loading helyett `selectinload` stratégiát használ a teljesítmény érdekében.
  • Error Handling: Javítottuk az `asyncpg` többszörös parancs-futtatási hibáját a setup scriptekben.
  • Configuration: A rendszerbeállítások mostantól adatbázis-alapúak (JSONB) a hardcoded konstansok helyett.

🐛 Fixed (Javítások)

  • Schema Mismatch: SQLAlchemy modellek és Pydantic sémák szétválasztása (models/asset.py vs schemas/asset.py).
  • Data Integrity: `updated_at` és `is_active` oszlopok pótlása a `system_parameters` táblában.
  • API Stability: `getattr` használata a hiányzó opcionális mezőknél (pl. `net_amount`), hogy ne szálljon el az API 500-as hibával.

[1.2.0] - 2026-02-10

Added

  • Asset Financials 2.0: Pivot-Currency modell implementálva (helyi deviza + EUR párhuzamos tárolás).
  • Smart Auth Token: JWT token mostantól tartalmazza a rank, scope_level és scope_id mezőket a gyors jogosultságkezeléshez.
  • CostService: Automatikus árfolyam-kalkuláció, telemetria-szinkron és XP jóváírás költségrögzítéskor.
  • ExchangeRate: Új árfolyamtábla és modell az EUR alapú váltásokhoz.

Fixed

  • Circular Import Resolution: Megszüntetve a db.base és a models közötti körkörös függőség az import lánc modularizálásával.
  • Alembic Identity Sync: Visszaállítva a User modell hiányzó scope_level és custom_permissions mezői, megakadályozva az adatvesztést migrációkor.
  • NotNullViolationError: Fixálva az asset_costs tábla migrációja (amount_local NOT NULL kényszer).

Changed

  • AssetCost modell mezőnevek szinkronizálva a pénzügyi standardokhoz (amount_local, amount_eur).
  • SystemParameter modell elnevezés igazítva a meglévő adatbázis sémához.

[1.5.0] - 2026-02-10

Added

  • Judge & Penalty System: Bevezetve a penalty_points és restriction_level mechanizmus a visszaélések kiszűrésére.
  • Dynamic Multipliers: Admin felületről (JSON config) állítható pontszorzók a büntetési szintekhez.
  • Social-to-Credit Auto-conversion: Automatikus Kredit jóváírás a Walletbe meghatározott Social pont elérésekor.
  • Level Achievement Bonus: 10-es szintenkénti automatikus Kredit jutalmazás.

Fixed

  • Circular Dependency Fix: A modellek közötti import hurok végleges felszámolva (string-alapú relationship hivatkozások).
  • Identity Schema Protection: Visszaállítva a User modell hiányzó scope_id, scope_level és custom_permissions mezői.
  • Database Consistency: A user_stats és asset_costs táblák sikeresen migráltak a NOT NULL kényszerek és alapértelmezett értékek (server_default) beállításával.

Changed

  • GamificationService: Mostantól központi "Bíróként" funkcionál, leválasztva a pontszámítási logikát a többi szervizről.
  • Identity Model: A Wallet és VerificationToken osztályok integrálva az identity.py modulba.

Changelog - Service Finder Backend

Verzió: 1.6.0 (Sentinel & i18n Update) Dátum: 2026.02.10.

[1.6.0] - 2026-02-10

Hozzáadva

  • Sentinel Biztonsági Rendszer: - PendingAction modell bevezetése a "Négy szem elv" (Dual Control) biztosításához.
    • SecurityService implementálása: Adatlopás elleni védelem (Throttling) és automata vészleállító (Emergency Lock).
    • AuditLog bővítése szigorúbb súlyossági szintekkel (critical, emergency).
  • Nyelvi Modul (i18n):
    • Translation modell a data sémában.
    • TranslationService: Adatbázis-alapú fordításkezelés, szerveroldali cache, Fallback (EN) logika és JSON export funkció a Frontend számára.
  • Admin Kontroll Panel:
    • Új API végpontok a függőben lévő műveletek jóváhagyásához, a rendszerbiztonsági állapot monitorozásához és a nyelvi szinkronizációhoz.

Javítva

  • Circular Import Fix: A modellek importálási rendjének optimalizálása a app.db.base_class közvetlen használatával, megszüntetve a hurok-importokat.
  • Függőségkezelés: deps.py bővítve a get_current_active_user függőséggel a biztonsági zárolások érvényesítéséhez.
  • Soft-Delete Logika: A felhasználói fiók törlése mostantól felszabadítja az eredeti e-mail címet a TWINS-elvű újra-regisztrációhoz.

15. Changelog & Version History

[v1.2.5] - 2026-02-10 (The "SuperAdmin" Update)

🚀 New Features

  • Admin Bootstrap: Implementáltuk a "vészhelyzeti" Admin létrehozási folyamatot (Python script alapú hash generálással).
  • i18n Sync: Élesítettük a /api/v1/admin/translations/sync végpontot, amely JSON fájlokba exportálja az adatbázis fordításait.
  • Identity Expansion: A User modell bővült a preferred_language és region_code mezőkkel a perszonalizáció érdekében.

🐛 Bug Fixes

  • ORM Crash: Javítva az AssetAssignment és AssetCost modellek hiányzó organization kapcsolatai, amelyek blokkolták a rendszer indulását (InvalidRequestError).
  • Config Error: Javítva a Settings osztályból hiányzó STATIC_DIR definíció, ami 500-as hibát okozott a fordítások szinkronizálásakor.
  • Login Crash: Javítva az AttributeError a Login végponton (a hiányzó region_code miatt).

🛠 Technical Changes

  • Migrations: Új Alembic migráció (add_lang_and_region_to_user) generálva és lefuttatva.
  • Environment: A static/locales mappa jogosultságai beállítva a Docker konténer számára.

[2026.02.12] - Fundamentum és Robot Orchestration

FIX: Javítva a docker-compose v1/v2 összeférhetetlenség (ContainerConfig hiba).

FIX: Megszüntetve az ImportError: cannot import name 'FastAPILimiter' hiba a security.py modulban.

DATABASE: PostGIS Geometry típus implementálva a service_profiles táblában.

MODEL: Az Asset (Digital Twin) és ServiceProfile közötti kapcsolatok szinkronizálva az ownership_history modulon keresztül.

WORKERS: Új állapotvezérelt (State-driven) robotlogika bevezetése:

    A szervizek alapértelmezetten ghost státusszal jönnek létre.

    Bevezetve a last_audit_at mező az automatikus kivezetéshez (Soft-delete).

UX: A keresőmotor számára definiálva a "Nem megerősített szolgáltató" jelzés a bot által talált adatokhoz.
📝 Részletes Összefoglaló az Elvégzett Munkáról

Környezet Stabilizálás: A modern Docker Engine-hez igazítottuk a parancsokat, megoldva a régi Python-alapú compose hibáit.

Adatmodell Integritás: Visszaállítottuk az összes kritikus mezőt (nettó érték, ÁFA, maradványérték, telemetria), így a rendszer alkalmas komplex flottakezelési feladatokra is.

Szerviz Életciklus: Kidolgoztunk egy olyan logikát, ahol a botok nem "szemetelik" az adatbázist, hanem egy ghost (árnyék) réteget hoznak létre. Ezek a szervizek csak akkor válnak teljesen hitelessé, ha a felhasználók interakcióba lépnek velük (Gamification) vagy az Admin jóváhagyja őket.

Robot Koordináció: A robotok immár nem ütköznek. Az egyik a járműkatalógust építi API-kból, a másik a térképi pontokat gyűjti és auditálja.

# Changelog - 2026-02-13

Service Finder Project - "Dunakeszi Detective" & Docker Infrastructure

🚀 Fejlesztések és Architektúra

  • Robot 2.7 (Service Hunter) Implementálása:

    • Hibrid adatgyűjtés bevezetése: OSM (OpenStreetMap) + Google Places API + Helyi CSV.
    • Geocoding Integráció: A CSV-ben megadott szöveges címek (pl. "Dunakeszi, Kikerics köz 4") automatikus GPS koordinátára fordítása a Google API segítségével.
    • Trust Score alapok: Különböző források eltérő bizalmi szinttel kerülnek rögzítésre (Manuális > Google > OSM).
  • Adatbázis és Modellek (ORM) Javítása:

    • Organization és Address modellek szinkronizálása a valós adatbázis sémával.
    • Hiányzó mezők kezelése (City, Zip átmozgatása Organization szintre).
    • PostGIS geometria (POINT) kezelésének pontosítása.
  • Docker Infrastruktúra Stabilizálás:

    • Hálózati hiba ([Errno -2] Name or service not known) elhárítása.
    • shared_db_net és bridge hálózatok megfelelő konfigurálása.
    • Konténer DNS beállítások fixálása (Google DNS fallback).
    • Adatbázis hostnév korrekció (db -> shared-postgres).

🧠 Üzleti Logika és Stratégia (Döntések)

  1. Multi-Tenant Kezelés: Egy címen több cég is létezhet. A rendszer nem vonja össze őket automatikusan, csak ha az adószám/név egyezik.
  2. Adatvédelmi Elv (No-Delete): A robot soha nem töröl adatot fizikailag. Ha egy forrás megszűnik, a rekord "archived" vagy "review_needed" státuszt kap, de az adatbázisban marad.
  3. Emberi Felügyelet: A duplikációk összefűzése vagy a hibás adatok törlése Admin/Moderátor jogkör, nem a robot automatizmusa.
  4. Dinamikus Adatfrissítés: A robot a jövőben frissítheti a manuálisan felvitt adatokat is (pl. ha változik a nyitvatartás a Google-ön), de a prioritási szabályokat még finomítani kell.

🐛 Javított Hibák

  • socket.gaierror: Docker konténer internet elérés és belső névfeloldás javítva.
  • AttributeError: 'city': SQLAlchemy modell mezőleképezési hiba javítva.
  • Függőségi hiba (depends_at -> depends_on) a docker-compose fájlban.

🔜 Következő Lépések

  • Gamification és Moderátori felület (Admin UI) tervezése az adatok tisztítására.
  • Logikai szabályrendszer (Business Rules) véglegesítése a "Robot vs. Ember" adatkonfliktusokra.

Changelog - Service Finder Project

Dátum: 2026-02-15 Verzió: Backend v1.9.8 / Robot v1.0.7 (Deep Hunter) Fókusz: Adatbázis séma bővítése, RDW API integráció stabilizálása, Multi-vehicle támogatás.

🏛️ Adatbázis és Architektúra (Alembic & SQLAlchemy)

Hozzáadva

  • Új Migráció (enrich_catalog_technical_schema):
    • power_kw (Integer, Indexed): Teljesítmény tárolása.
    • engine_capacity (Integer, Indexed): Hengerűrtartalom (ccm).
    • max_weight_kg (Integer): Megengedett legnagyobb össztömeg.
    • euro_class (String): Környezetvédelmi besorolás.
  • Új Migráció (add_axles_and_body_type):
    • axle_count (Integer): Tengelyek száma (Teherautókhoz/Kamionokhoz).
    • body_type (String): Felépítmény (pl. Sedan, Box, Camper).
  • Modell Frissítés (asset.py):
    • Az AssetCatalog osztály szinkronba hozva az új DB sémával.
    • UniqueConstraint és indexek optimalizálása a gyors kereséshez.

Javítva

  • Alembic Syntax Error: Javítva a ddef elírás a migrációs fájlban.
  • Column Duplication: Javítva az axle_count duplikált létrehozási kísérlete a második migrációban.

🤖 Robot / Worker (Data Ingestion)

Módosítva

  • Robot Upgrade (v1.0.2 -> v1.0.7 Deep Hunter):
    • License Plate Bridge (Rendszám-híd): Új stratégia az API 400-as hibák megkerülésére. A robot mostantól:
      1. Lekéri az alapadatokat (m9d7-ebf2).
      2. Kivesz egy minta rendszámot.
      3. Ezzel a rendszámmal lekérdezi a FUEL, AXLE és BODY táblákat.
    • Pagination (Lapozás): $offset támogatás beépítése, így a robot képes 50.000+ rekordos márkákat is végigolvasni.
    • Camper Detection: Automatikus lakóautó (camper) kategória felismerés a "kampeerwagen" kulcsszó alapján.
    • Category Mapping: Angol nyelvű kategóriák (Car, Truck, Motorcycle, Agricultural) kényszerítése.

Javítva

  • RDW API 400 Bad Request: Megoldva a merk vs merknaam paraméterek eltérésének kezelésével (átállás a fő táblára).
  • AttributeError: Javítva a hibás TECH_API_URL hivatkozás.

💾 Adat (Seeding & SQL)

  • Grand Seeder v2:

    • SQL szkript létrehozva a világmárkák (Toyota, BMW, Scania, John Deere, stb.) tömeges betöltésére.
    • model mező feltöltése 'ALL' értékkel a NOT NULL kényszer miatt.
    • Státuszok visszaállítása pending-re a teljes újradolgozáshoz.

    CHANGELOG - 2026.02.16 (Architectural Overhaul: Identity & Economy Engine)

🏆 Napi Összefoglaló

A mai napon alapjaiban strukturáltuk át az identitáskezelést (Identity), a jogosultsági rendszert (RBAC) és a gazdasági motort (Economy). Bevezetésre került a "Dual Entity" modell (Person vs. User), a 3-szintű Wallet rendszer, valamint a "Hunting & Farming" üzletkötői jutalékrendszer alapjai. A biztonságot a 4-szem elvű (Four-Eyes Principle) audit naplózás garantálja.


🏛️ 1. Architektúra és Logika (Master Book Updates)

A. Identitás Filozófiája (The Dual Entity Rule)

  • Person (A DNS): A természetes személy, aki "örök". Nem törlődik GDPR törléskor sem, csak anonimizálódik.
    • Tárolja: lifetime_xp (életút pontok), penalty_points (büntetések 0-3 szint), social_reputation.
    • Identity Hash: Egyedi SHA256 lenyomat (Kisbetűsített Anyja neve + Születési hely + Idő) a duplikációk és visszaélések ellen.
  • User (A Kulcs): A belépési fiók. Bármikor törölhető/eldobható.
    • Kapcsolódik a Person-höz.
    • Tárolja: subscription_plan, is_vip, session_data.

B. Gazdasági Modell (The Triple Wallet)

A pénztárcát (Wallet) három, szigorúan elkülönített alszámlára bontottuk:

  1. Earned Credits: Munkával (validálás) és Referral jutalékból szerzett. (Beváltható Prémiumra).
  2. Purchased Credits: Valódi pénzért vásárolt egyenleg. (Beváltható Prémiumra).
  3. Service Coins: B2B egység. Kizárólag hirdetésre és kiemelésre fordítható. (NEM váltható Prémiumra).

C. Üzletkötői Rendszer (Hunting & Farming)

  • Hunting (Vadász) Jutalék: Egyszeri jutalék az első behozatalért (tervezett: 10%).
  • Farming (Gazda) Jutalék: Folyamatos jutalék a havidíjakból (tervezett: 5%).
  • Átruházhatóság: A Farming jog nem az üzletkötőhöz, hanem a Cég-Üzletkötő kapcsolathoz (OrganizationSalesAssignment) kötődik. Ha az üzletkötő kilép, a portfóliója (és a jutalék) átruházható másra.

D. Biztonság (Audit & 4-Eyes)

  • Operational Log: Napi üzemi események (pl. jármű rögzítés).
  • Financial Ledger: Minden pénzmozgás (Kredit/Coin/HUF) központi főkönyve.
  • Security Audit Log: Kiemelt biztonsági események (pl. VIP státusz adása).
    • 4-szem elv: Kritikusan érzékeny műveleteknél kötelező egy második admin jóváhagyása (confirmed_by_id).

🛠️ 2. Adatbázis és Modell Változások

Új/Módosított Táblák (data séma)

Tábla Változás Leírás
persons UPDATE Új mezők: identity_hash, lifetime_xp, penalty_points, social_reputation, is_sales_agent.
users UPDATE Új mezők: subscription_expires_at, is_vip, referral_code, current_sales_agent_id.
wallets REFACTOR Régi balance törölve. Új: earned_credits, purchased_credits, service_coins.
org_sales_assignments NEW Kapcsolótábla: Melyik cég után ki kapja épp a Farming jutalékot.
financial_ledger NEW Pénzügyi tranzakciók megmásíthatatlan naplója.
security_audit_logs NEW Adminisztrátori műveletek és 4-szem elv naplózása.
operational_logs NEW Általános rendszerhasználati napló.

📂 3. Érintett Fájlok Listája (Checklist)

Kérlek, ellenőrizd, hogy ezek a fájlok a legfrissebb verziót tartalmazzák-e a mentésedben:

  • backend/app/models/identity.py (A teljes Person/User/Wallet logika alapja)
  • backend/app/models/audit.py (A Ledger és Security Log definíciók)
  • backend/app/models/organization.py (A SalesAssignment tábla hozzáadása)
  • backend/app/models/__init__.py (Az összes modell regisztrációja az Alembic számára)
  • backend/app/db/base.py (A metadata importok frissítése)
  • backend/app/core/validators.py (Az IdentityNormalizer és Hash generáló logika)
  • backend/migrations/versions/XXXX_full_ecosystem_upgrade_v1_6.py (A generált migrációs fájl)

🔮 4. Következő Lépések (Roadmap)

  1. Service Réteg Implementálása: Megírni a logikát, ami ténylegesen számolja a 10/5%-os jutalékot és beírja a FinancialLedger-be.
  2. Admin UI: Felületet készíteni a system_parameters (Jutalék szintek) állítására.
  3. Robot v1.8: A "Ghost" szervizek bekötése az új Person logikába (automata identity_hash generálás a cégadatokból).

Changelog

[v1.1.0] - 2026-02-17 "The Awakening"

🚀 Hozzáadva (New Features)

  • AI Service (Gemini Integration): app/services/ai_service.py létrehozva. A rendszer mostantól képes a "Yamaha 4HN" típusú zajos adatokból tiszta marketing neveket és műszaki specifikációkat generálni.
  • Robot 2 (Technical Enricher): app/workers/technical_enricher.py frissítve v1.1-re. Hibrid működés: RDW adatbázis + AI kiegészítés.
  • Robot 3 (OCR - Előkészület): app/workers/ocr_robot.py váza elkészült a dokumentumok feldolgozásához.
  • Reporting: app/scripts/morning_report.py létrehozva a napi robot-tevékenység összefoglalására.
  • Logging: Új ProcessLog tábla létrehozva az audit sémában a háttérfolyamatok nyomon követésére.

🐛 Javítva (Bug Fixes)

  • Docker Infrastructure: - Javítva a KeyError: 'ContainerConfig' hiba a Docker Compose V2-re váltással.
    • Javítva az "empty database URL" hiba a migrációnál (.env változók helyes átadása).
    • Hálózati beragadások (Gitea/Nginx conflict) feloldva.
  • Circular Imports: Megszüntetve a SystemParameter modell duplikációja (system_config.py vs system.py). Minden szerviz (Auth, Security, Cost, Gamification) mostantól a központi app.models-ből importál.
  • Swagger UI: Az API sikeresen elindul, a dokumentáció elérhető a /docs végponton.

⚙️ Infrastruktúra (Refactor)

  • Docker Compose: Teljes tisztítás. Duplikált környezeti változók törölve, env_file használat optimalizálva.
  • Services: A robotok (enricher, catalog, hunter) külön konténerekbe szervezve, unbuffered python kimenettel a valós idejű logolásért.

🛡️ Biztonság

  • .env fájl szerkezete egységesítve, duplikációk eltávolítva.