5 Commits

Author SHA1 Message Date
Mikhail Kilin
87eb93512b Add error logging and explicit column list in queries
All checks were successful
ci/woodpecker/push/build Pipeline was successful
Explicit SELECT columns instead of SELECT * to avoid FromRow issues.
Add eprintln for S3 and DB errors to diagnose 500s.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 14:53:55 +03:00
Mikhail Kilin
570e0ca643 Rewrite app: entries → projects with S3 file storage
All checks were successful
ci/woodpecker/push/build Pipeline was successful
Replace flat text entries with project-based structure.
Each project has name, local/corp fields, content textarea,
and file upload (up to 100MB) stored in MinIO S3.
New API: CRUD projects + file download + content copy.
Frontend: two views (project list + project page).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 13:50:28 +03:00
Mikhail Kilin
b2c799f429 Bump rust image to 1.88 (home crate requires it)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 23:08:31 +03:00
Mikhail Kilin
1e225e9af3 Add k3s deployment: Dockerfiles, nginx config, CI pipeline
- Backend Dockerfile: multi-stage rust:1.87 → debian:bookworm-slim
- Frontend Dockerfile: multi-stage node:22-alpine → nginx:alpine
- Frontend nginx.conf: serve static + proxy /api/ to backend service
- Change API_URL to relative /api for containerized deployment
- Woodpecker CI pipeline to build and push images to Gitea Registry
- Add repository URL to CLAUDE.md

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 22:29:20 +03:00
Mikhail Kilin
37f86740a2 feat: hide entry content from list, add GET /api/entries/:id/content endpoint
Content is no longer returned in the entries list. A separate endpoint
returns plain text content for clipboard copying on demand.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 16:23:05 +03:00