From 61cefa530eb512a91754057f057a79e997d19bde Mon Sep 17 00:00:00 2001 From: Matt Date: Wed, 4 Jun 2025 16:32:50 +0200 Subject: [PATCH] Add MinIO file browser with upload, preview, and management features - Implement file browser UI with upload/download capabilities - Add API endpoints for file operations (list, upload, delete, preview) - Create FileUploader and FilePreviewModal components - Configure MinIO integration with environment variables - Add documentation for MinIO file browser setup --- .env.example | 7 + components/FilePreviewModal.vue | 220 ++++++++++++++ components/FileUploader.vue | 208 +++++++++++++ docs/minio-file-browser.md | 132 ++++++++ nuxt.config.ts | 8 + package-lock.json | 366 ++++++++++++++++++++++ package.json | 3 + pages/dashboard.vue | 5 + pages/dashboard/file-browser.vue | 485 ++++++++++++++++++++++++++++++ server/api/files/create-folder.ts | 59 ++++ server/api/files/delete.ts | 62 ++++ server/api/files/download.ts | 59 ++++ server/api/files/list.ts | 86 ++++++ server/api/files/preview.ts | 53 ++++ server/api/files/upload.ts | 97 ++++++ server/utils/minio.ts | 167 ++++++++++ 16 files changed, 2017 insertions(+) create mode 100644 .env.example create mode 100644 components/FilePreviewModal.vue create mode 100644 components/FileUploader.vue create mode 100644 docs/minio-file-browser.md create mode 100644 pages/dashboard/file-browser.vue create mode 100644 server/api/files/create-folder.ts create mode 100644 server/api/files/delete.ts create mode 100644 server/api/files/download.ts create mode 100644 server/api/files/list.ts create mode 100644 server/api/files/preview.ts create mode 100644 server/api/files/upload.ts create mode 100644 server/utils/minio.ts diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..80b6102 --- /dev/null +++ b/.env.example @@ -0,0 +1,7 @@ +# MinIO Configuration +NUXT_MINIO_ACCESS_KEY=your-minio-access-key +NUXT_MINIO_SECRET_KEY=your-minio-secret-key + +# NocoDB Configuration (existing) +NUXT_NOCODB_URL=your-nocodb-url +NUXT_NOCODB_TOKEN=your-nocodb-token diff --git a/components/FilePreviewModal.vue b/components/FilePreviewModal.vue new file mode 100644 index 0000000..4e5220d --- /dev/null +++ b/components/FilePreviewModal.vue @@ -0,0 +1,220 @@ +