refactor: route/schema consistency (parseId, broad invalidation, Czech messages, Zod 4 strictObject)

- OfferDetail: invalidate broad ["offers"] not ["offers","list"] (CLAUDE.md convention)
- trips.ts/sessions.ts: use parseId helper (validated 400) instead of raw parseInt for route ids
- audit-log.ts: z.object().strict() -> z.strictObject() (Zod 4 idiom)
- attendance.ts, orders/offers schemas: English user-facing strings -> Czech
- project-files.ts: unify 'not found' phrasing to the codebase-dominant 'nenalezen' form

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
BOHA
2026-06-06 02:29:04 +02:00
parent 522afefc80
commit 9ae49c0d6a
8 changed files with 43 additions and 45 deletions

View File

@@ -58,7 +58,7 @@ export default async function projectFilesRoutes(
const { project_id: projectIdStr, path: subPath = "" } = parsedQuery.data;
const projectId = Number(projectIdStr);
const project = await getProjectForFiles(projectId);
if (!project) return error(reply, "Projekt nebyl nalezen", 404);
if (!project) return error(reply, "Projekt nenalezen", 404);
if (!fm.isConfigured()) {
return error(reply, "Souborový systém není nakonfigurován", 500);
@@ -70,7 +70,7 @@ export default async function projectFilesRoutes(
return error(reply, "Projekt nemá číslo projektu");
const result = fm.downloadFile(project.project_number, subPath);
if (!result) return error(reply, "Soubor nebyl nalezen", 404);
if (!result) return error(reply, "Soubor nenalezen", 404);
const stream = fs.createReadStream(result.filePath);
const encodedName = encodeURIComponent(result.fileName);
@@ -89,7 +89,7 @@ export default async function projectFilesRoutes(
const result = fm.listFiles(project.project_number, subPath);
if (result === null) {
return error(reply, "Složka nebyla nalezena", 404);
return error(reply, "Složka nenalezena", 404);
}
return success(reply, {
@@ -109,7 +109,7 @@ export default async function projectFilesRoutes(
if ("error" in parsedQuery) return error(reply, parsedQuery.error, 400);
const projectId = Number(parsedQuery.data.project_id);
const project = await getProjectForFiles(projectId);
if (!project) return error(reply, "Projekt nebyl nalezen", 404);
if (!project) return error(reply, "Projekt nenalezen", 404);
if (!project.project_number)
return error(reply, "Projekt nemá číslo projektu");
@@ -162,7 +162,7 @@ export default async function projectFilesRoutes(
if ("error" in parsedQuery) return error(reply, parsedQuery.error, 400);
const projectId = Number(parsedQuery.data.project_id);
const project = await getProjectForFiles(projectId);
if (!project) return error(reply, "Projekt nebyl nalezen", 404);
if (!project) return error(reply, "Projekt nenalezen", 404);
if (!project.project_number)
return error(reply, "Projekt nemá číslo projektu");
@@ -225,7 +225,7 @@ export default async function projectFilesRoutes(
if ("error" in parsedQuery) return error(reply, parsedQuery.error, 400);
const projectId = Number(parsedQuery.data.project_id);
const project = await getProjectForFiles(projectId);
if (!project) return error(reply, "Projekt nebyl nalezen", 404);
if (!project) return error(reply, "Projekt nenalezen", 404);
if (!project.project_number)
return error(reply, "Projekt nemá číslo projektu");
@@ -267,7 +267,7 @@ export default async function projectFilesRoutes(
if ("error" in parsedQuery) return error(reply, parsedQuery.error, 400);
const projectId = Number(parsedQuery.data.project_id);
const project = await getProjectForFiles(projectId);
if (!project) return error(reply, "Projekt nebyl nalezen", 404);
if (!project) return error(reply, "Projekt nenalezen", 404);
if (!project.project_number)
return error(reply, "Projekt nemá číslo projektu");