Files
service-finder/.roo/history.md
2026-07-27 08:39:18 +00:00

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)