Files
service-finder/docs/V01_gemini/15_Changelog.md
2026-02-10 21:11:44 +00:00

19 KiB

(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.