12. Technologický dluh¶
Pracovní seznam k 3. 9. 2026. Tento dokument drží věci, které vědomě necháváme na postupné dořešení. Nejde o chyby k okamžité opravě, ale o místa, která nesmí zmizet z radaru při migraci z Base44 kompatibility na vlastní backend.
Autentizace a perimetr¶
- Dočasná route
/api/functions/clientAuthbyla odstraněna. Frontendovébase44.functions.invoke("clientAuth", ...)je centrálně směrované na/api/public/client_auth. - Obecný dispatcher
/api/functions/{name}je zúžený na whitelist známých staff-auth kompatibilních funkcí. - Frontendové
base44.functions.invoke(...)používá centrální explicitní mapu vlastních/apia/api/publicendpointů. - Některé klientské komponenty mimo
ClientAuthContextstále zapisujíneo_clientdolocalStorage. Po přepnutí na explicitní/api/publicendpointy ponechatlocalStoragenejvýše jako UI cache, ne jako zdroj autentizace. - Interní
/apizatím používá obecnýAuthMiddleware, který nekontroluje role. Cílově má být nahrazen nebo rozšířen o explicitní staff role/oprávnění.
Klientský a terapeutský portál¶
-
clientBookingv PHP backendu není plně implementovaný jako veřejný/klientský/api/publicsurface. - Terapeutské portálové endpointy mají cílově patřit pod
/api/public, ne pod interní staff/api, pokud jsou dostupné z internetu mimo intranet/VPN. - Veřejné onboarding, platba, storno a voucher flow potřebují vlastní token-only nebo client-auth endpointy, ne obecné Base44 kompatibilní funkce.
- Onboarding souhlasy a podpis se nemají dlouhodobě ukládat přes obecný
Client.updatez frontendu. - Klientský výběr podle
client_idnesmí být považovaný za autentizaci.
Databáze¶
- Změny schématu pro onboarding tokeny, klientské souhlasy, klientské sessions a
OTP challenges jsou vedené přímo v
schema.sql/schema_test.sql; samostatné inkrementální SQL patche nepoužívat. - E-mailový login a SMS ověření klientského telefonu už používají 6místné jednorázové heslo uložené jen jako HMAC hash; dořešit produkční monitoring SMS chyb a nízkého kreditu.
- Cílově rozdělit staff/client sessions na
staff_sessionsaclient_sessions.
Nasazení¶
-
APP_URLmusí být produkční veřejná doména, nelocalhost. - Proxy musí umět rozlišit veřejné cesty a intranetové/staff cesty.
-
/api/test/tokensje veřejná diagnostická route a před produkcí musí být odstraněná nebo chráněná.