1.9 KiB
1.9 KiB
✅ Verifikáció
- Build ellenőrzés →
npx vite buildsikeres (7.08s, 0 error) - Chunk generálva:
CostEntryWizard-C_-R4OzC.js(29.95 kB) - refaktorált komponens helyesen fordul - 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)
- Stale
.pyccache →ModuleNotFoundError: No module named 'app.models.fleet.org_role'— A konténer régi bytecode-ot futtatott. Megoldva cache törléssel. - 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áltOrganizationMember.role(ENUM) ésOrgRole.name_key(varchar) között, amit a PostgreSQL nem tud implicit konvertálni.
Javítás
- 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)