feat: integrate MinIO for file storage and management
- Added MinIO as a dependency in package.json. - Updated FilePreview component to simplify file type checks. - Refactored file removal API to delete files from MinIO instead of the filesystem. - Modified file serving API to fetch files from MinIO. - Changed file upload API to upload files directly to MinIO and store metadata in the database. - Enhanced environment configuration to include MinIO settings. - Updated file type utility to handle file extensions more robustly. - Created a new utility for MinIO client configuration and bucket management.
This commit is contained in:
+10
-1
@@ -19,7 +19,11 @@ export const env = createEnv({
|
||||
NODE_ENV: z
|
||||
.enum(["development", "test", "production"])
|
||||
.default("development"),
|
||||
|
||||
MINIO_ENDPOINT: z.string(),
|
||||
MINIO_PORT: z.string(),
|
||||
MINIO_ACCESS_KEY: z.string(),
|
||||
MINIO_SECRET_KEY: z.string(),
|
||||
MINIO_BUCKET: z.string(),
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -43,6 +47,11 @@ export const env = createEnv({
|
||||
DATABASE_URL: process.env.DATABASE_URL,
|
||||
NODE_ENV: process.env.NODE_ENV,
|
||||
NEXT_PUBLIC_PAGE_URL: process.env.NEXT_PUBLIC_PAGE_URL,
|
||||
MINIO_ENDPOINT: process.env.MINIO_ENDPOINT,
|
||||
MINIO_PORT: process.env.MINIO_PORT,
|
||||
MINIO_ACCESS_KEY: process.env.MINIO_ACCESS_KEY,
|
||||
MINIO_SECRET_KEY: process.env.MINIO_SECRET_KEY,
|
||||
MINIO_BUCKET: process.env.MINIO_BUCKET,
|
||||
},
|
||||
/**
|
||||
* Run `build` or `dev` with `SKIP_ENV_VALIDATION` to skip env validation. This is especially
|
||||
|
||||
Reference in New Issue
Block a user