refactor(fase0): shared scaffold — crypto, file-url, schemas, test splits

- Add zod dep; new src/shared/validation/schemas.ts (BucketName,
  JsonUploadPayload, LoginBody, DeleteObjects, CompleteMultipart,
  clampMaxKeys, parseOrNull) + test/validation.test.ts
- Dedup timingSafeCompare -> src/shared/utils/crypto.ts (auth
  middleware, authenticate use-case, s3/auth now import it)
- Dedup AuthSession -> single type in dto/auth.ts
- Dedup telegram file URL builder + filename sanitizer to shared
  modules (file-controller now imports the canonical ones)
- Remove duplicate controllers/home.html (canonical: src/home.html)
- Fix stale bootstrap mocks to real module paths; bootstrap now
  asserts public GET vs guarded POST separately
- Fix health assertion to include version field
- package.json: test -> test:unit alias; new test:quarantine for
  network/live tests; register previously unlisted test files
This commit is contained in:
asepharyana committed 2026-09-14 17:09:52 +07:00
1 parent f4b30cef0c
commit 5d01a9405f
16 files changed
+511 -473

No files matched your search

+1 -1
View File
@@ -24,7 +24,7 @@ describe('Health Route Handler', () => {
expect(res.status).toBe(200);
const body = await res.json();
expect(body).toEqual({ status: 'ok' });
expect(body).toEqual({ status: 'ok', version: '1.2.2' });
expect(mockExecute).toHaveBeenCalled();
});