306 lines
19 KiB
Markdown
306 lines
19 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.
|
|
|
|
## [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. |