From 91ec588a88e568deb7c40b32d83f48e0f1d52bd4 Mon Sep 17 00:00:00 2001 From: asepharyana Date: Sat, 1 Aug 2026 20:31:40 +0700 Subject: [PATCH] =?UTF-8?q?feat(web):=20public=20read-only=20file=20browse?= =?UTF-8?q?r=20=E2=80=94=20GET=20API=20public,=20writes=20require=20admin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - /api/v1/* GET (list buckets/objects, download) no longer requires auth - POST/DELETE/PUT stay behind requireAuth (upload, create/delete bucket, copy, delete object) - FE drops blocking login screen: visitors browse + download freely - Admin-only UI (create bucket, upload dropzone, delete, S3 creds) hidden in read-only mode - Login button in topbar to unlock admin actions --- src/home.html | 84 ++++++++++++++++------- src/interfaces/http/controllers/home.html | 84 ++++++++++++++++------- src/interfaces/http/routes/index.ts | 5 +- test/public-readonly-routes.test.ts | 41 +++++++++++ 4 files changed, 161 insertions(+), 53 deletions(-) create mode 100644 test/public-readonly-routes.test.ts diff --git a/src/home.html b/src/home.html index f807e81..28f4019 100644 --- a/src/home.html +++ b/src/home.html @@ -136,6 +136,10 @@ } .auth-card button:disabled { opacity: 0.7; cursor: wait; } .auth-error { color: var(--danger); font-size: 0.85rem; margin-bottom: 12px; } + .readonly-badge { + font-size: 0.75rem; color: var(--text2); background: var(--bg2); + border: 1px solid var(--border); border-radius: 999px; padding: 2px 10px; + } @@ -153,9 +157,11 @@ - - + + + +