MythEclipse and Claude Opus 4.7
04a2e52250
feat: implement deduplication in HTTP upload router
...
- Compute SHA-256 hash using computeHash for multipart and JSON uploads
- Query database for existing file records with the same hash
- Return existing metadata and download URL immediately on duplicate match without reforwarding to Telegram
- Include fileHash in newly inserted file database records
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 19:39:55 +07:00
MythEclipse and Claude Opus 4.7
4e805689c1
feat: extend file type classification and implement computeHash
...
- Add sticker (webp) and video_note to classification mapping and file limits
- Handle unknown mime or caption fallback to document
- Implement computeHash utility using Bun.CryptoHasher for sha256 checksums
- Update and add comprehensive tests in file.test.ts
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 19:38:12 +07:00
MythEclipse and Claude Opus 4.7
22c2133b24
feat: add fileHash column to files schema
...
Update files database schema and test suite to support fileHash property.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 19:36:19 +07:00
MythEclipse
ed7f607ee4
style: sort imports in telegram test to satisfy Biome check
2026-05-18 08:55:22 +07:00
MythEclipse
ed88069e60
fix: assert sendDocument with config.storageChatId to match dynamic mock env in CI
2026-05-18 08:54:24 +07:00
MythEclipse
c0827b09c5
fix: make DB tests more robust by checking definition rather than strict module identity
2026-05-18 08:42:49 +07:00
MythEclipse
91986d1d51
fix: upload binary files to Telegram with source payload
2026-05-18 08:18:55 +07:00
MythEclipse
6feca3564a
feat: add Swagger OpenAPI documentation endpoints
2026-05-18 07:39:27 +07:00
MythEclipse
cf79a1f195
style: format and lint codebase using Biome v2
2026-05-18 07:29:01 +07:00
MythEclipse
3f4e697733
feat: migrate entire codebase to TypeScript
2026-05-18 07:27:06 +07:00
MythEclipse
252b2e4a1f
test: isolate module mocking and add sequential test script
2026-05-18 07:16:30 +07:00
MythEclipse and Claude Opus 4.7
99b820709d
feat: setup HTTP server and bootstrap application
...
Setup HTTP server with Bun.serve and bootstrap Telegram bot and other services.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 07:14:35 +07:00
MythEclipse and Claude Opus 4.7
4996d7548a
feat: add Telegram bot handler
...
Implement Telegraf bot instance with file upload/forward handlers and mock test verification.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 07:13:17 +07:00
MythEclipse and Claude Opus 4.7
be93a06918
feat: add health check route
...
Implement handleHealth endpoint for Bun.serve to verify DB connection.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 07:10:55 +07:00
MythEclipse and Claude Opus 4.7
d915814277
feat: add file routes (download redirect & info)
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 07:09:29 +07:00
MythEclipse and Claude Opus 4.7
d7b8e9dd08
feat: add upload API handler (multipart & base64)
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 07:08:13 +07:00
MythEclipse and Claude Opus 4.7
1e29433d5d
feat: add Telegram API utilities
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 07:06:21 +07:00
MythEclipse and Claude Opus 4.7
b621a73ca9
feat: add file validation utilities
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 07:02:14 +07:00
MythEclipse and Claude Opus 4.7
db71f29288
feat: add in-memory rate limiter
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 07:01:32 +07:00
MythEclipse and Claude Opus 4.7
281329a1af
feat: add Drizzle ORM database layer
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 07:00:46 +07:00
MythEclipse and Claude Opus 4.7
f9c0bc0768
feat: add environment variables validation
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-18 06:58:55 +07:00