Files
service-finder/docs/V01_gemini/15_Changelog.md

252 lines
15 KiB
Markdown

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