50 lines
1.9 KiB
Markdown
50 lines
1.9 KiB
Markdown
### ✅ Verifikáció
|
|
1. **Build ellenőrzés** → `npx vite build` sikeres (7.08s, 0 error)
|
|
2. **Chunk generálva**: `CostEntryWizard-C_-R4OzC.js` (29.95 kB) - refaktorált komponens helyesen fordul
|
|
3. **ProviderAutocomplete** újrafelhasználva mindhárom komponensben - nincs duplikáció
|
|
|
|
---
|
|
|
|
## Fix: 401 Unauthorized on Admin Ledger Endpoint (Gitea #413)
|
|
|
|
**Dátum:** 2026-07-25
|
|
|
|
...
|
|
|
|
---
|
|
|
|
## Fix: POST /api/v1/expenses/ — 500 Internal Server Error (PG ENUM vs varchar JOIN)
|
|
|
|
**Dátum:** 2026-07-26
|
|
|
|
### Probléma
|
|
A `POST /api/v1/expenses/` végpont 500-as hibát dobott insurance (biztosítás) költség létrehozásakor.
|
|
|
|
### Gyökér-ok (két rétegben)
|
|
1. **Stale `.pyc` cache** → `ModuleNotFoundError: No module named 'app.models.fleet.org_role'` — A konténer régi bytecode-ot futtatott. Megoldva cache törléssel.
|
|
2. **PG ENUM vs varchar típusütközés** → `operator does not exist: fleet.orguserrole = character varying` — A `_check_org_capability()` függvény JOIN-t használt `OrganizationMember.role` (ENUM) és `OrgRole.name_key` (varchar) között, amit a PostgreSQL nem tud implicit konvertálni.
|
|
|
|
### Javítás
|
|
[`expenses.py:93-117`](backend/app/api/v1/endpoints/expenses.py:93):
|
|
- A JOIN-os lekérdezést két különálló SELECT-re bontottam (az `assets.py:_get_user_permissions()` mintájára)
|
|
- **1. lépés:** `select(OrganizationMember.role)` → Python string (asyncpg auto-konvertálja az ENUM-ot)
|
|
- **2. lépés:** `select(OrgRole.permissions).where(OrgRole.name_key == role_string)` — varchar=varchar összehasonlítás
|
|
- Függvény interfésze változatlan
|
|
|
|
### Verifikáció
|
|
- `POST /api/v1/expenses/` → **HTTP 201** ✅
|
|
- Biztosítási költség sikeresen létrejött
|
|
|
|
---
|
|
|
|
## Fix: 401 Unauthorized on Admin Ledger Endpoint (Gitea #413)
|
|
|
|
**Dátum:** 2026-07-25
|
|
|
|
### Probléma
|
|
...
|
|
|
|
### Documentation
|
|
`docs/p0_expense_500_import_bugfix_2026-07-26.md`
|
|
**Gitea Issue:** #421 (closed)
|