Zděděné z Fachmana¶
Endpointy a funkce: orders, orderTemplates, inquiries, iDoklad OAuth, billing webhook,
image endpointy, upload, sendmail, test/tokens, analytický stub
Prověřeno proti commitu: 8cd27f6 (6. 10. 2026)
Testy: backend/tests/Feature/Audit/ZdedeneZFachmanaAuditTest.php
Routy¶
| Routa | Stav | Důvod |
|---|---|---|
POST /api/inquiry/submitInquiry |
vypnuto | starý veřejný poptávkový formulář se v react_dev nepoužívá |
GET /api/fnct/idokladAuthorize |
vypnuto | starý iDoklad OAuth pro orders workflow se v NEO UI nepoužívá |
GET /api/fnct/idokladCallback |
vypnuto | navazuje na vypnutý iDoklad OAuth |
GET /api/images/inquiry/{id}/{filename} |
vypnuto | navazuje na vypnuté inquiries |
GET /api/images/orders/{id}/{filename} |
vypnuto | navazuje na vypnuté orders |
POST /api/billing/webhook |
vypnuto | starý Stripe subscription webhook se v NEO flow nepoužívá |
GET /api/hello |
vypnuto | debug endpoint |
POST /api/sendmail |
vypnuto | legacy smoke endpoint posílal mail na pevnou adresu |
GET /api/test-ecomail |
vypnuto | debug endpoint pro Ecomail |
GET /api/test/tokens |
vypnuto | diagnostický výpis tokenů/pozvánek |
GET/POST/PUT/DELETE /api/orders |
vypnuto | starý Fachman zakázkový modul se v NEO UI nepoužívá |
GET/POST/PUT/DELETE /api/orderTemplates |
vypnuto | navazuje na vypnuté orders |
GET/POST/PUT/DELETE /api/inquiries |
vypnuto | starý Fachman poptávkový modul se v NEO UI nepoužívá |
POST /api/upload |
ponecháno | používá InvoiceSettings.jsx přes Core.UploadFile |
GET /api/images/files/{filename} |
ponecháno | vrací soubory nahrané přes /api/upload |
POST /api/analytics/track/batch |
ponecháno | volá ho base44Client.js; jde o neškodný stub |
Kdo to volá z Reactu¶
V aktuálním react_dev/src je z auditované skupiny vidět používání:
base44.integrations.Core.UploadFile()vpages/InvoiceSettings.jsx, což mapuje na/api/upload.base44.appLogs.logUserInApp()vapi/base44Client.js, což volá/api/analytics/track/batch.
Nenašel jsem volání starých orders/inquiries/iDoklad/sendmail/test endpointů z react_dev/src.
Opravené nálezy¶
FCH-01 — Nepoužívané veřejné legacy endpointy zůstávaly zapnuté (střední)¶
Stav: opravený
Test: FCH-01: nepoužívané veřejné legacy endpointy jsou vypnuté
Ověřený fakt — veřejně bez middleware byly dostupné staré endpointy pro poptávky,
iDoklad OAuth, Stripe webhook, sendmail, test-ecomail a hello.
Oprava — nepoužívané veřejné routy jsou v backend/src/routes.php zakomentované.
Dopad — ponechané legacy endpointy rozšiřovaly API perimetr bez vazby na aktuální NEO flow.
FCH-02 — Nepoužívané interní legacy CRUD endpointy zůstávaly zapnuté (nízká)¶
Stav: opravený
Test: FCH-02: nepoužívané interní legacy CRUD endpointy jsou vypnuté i pro admina
Ověřený fakt — staré /api/orders, /api/orderTemplates, /api/inquiries a
diagnostické /api/test/tokens byly dostupné přes staff/admin middleware.
Oprava — routy jsou zakomentované, takže nevrací data ani přihlášenému administrátorovi.
Dopad — staré moduly mohly dál měnit nebo odhalovat data mimo aktuální aplikační workflow.
FCH-03 — Staré image endpointy pro inquiry/order obcházely autentizaci (střední)¶
Stav: opravený
Test: FCH-03: legacy inquiry/order image endpoints jsou vypnuté
Ověřený fakt — ImageController měl veřejné endpointy pro /api/images/inquiry/...
a /api/images/orders/...; kontrola firmy v controlleru byla zakomentovaná.
Oprava — inquiry/order image routy jsou vypnuté. Ponechaný je jen /api/images/files/...,
protože ho používá aktuální upload flow.
Dopad — při existenci souboru by URL mohla vrátit staré nahrané přílohy bez autentizace.
Ověřené bez nálezu¶
/api/uploadvyžaduje staff session./api/images/files/{filename}zůstává dostupný pro soubory nahrané přes upload a při chybě vrací standardníSoubor nenalezen./api/analytics/track/batchzůstává dostupný jako prázdný frontend stub bez práce s daty.