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