import { MulterModuleOptions } from '@nestjs/platform-express/multer';
import * as path from 'path';
import { diskStorage } from 'multer';
import { HttpException } from '@nestjs/common';
const fs = require('fs');

export const profileImageConfig: MulterModuleOptions = {
  storage: diskStorage({
      destination: (req, file, cb) => {
      // Create a folder for each user based on their ID
      // const userId = req.user.id;
      // console.log(userId)
      const userDir = `./storage/profile`;//path.join(uploadDir, userId);

      // Ensure the user folder exists
      if (!fs.existsSync(userDir)) {
        fs.mkdirSync(userDir, { recursive: true });
      }

      // Set the destination for the uploaded file
      cb(null, userDir);
    },
    filename: (req, file, callback) => {
      const filename = `${Date.now()}${path.extname(file.originalname)}`;
      callback(null, filename);
    },
  }),
};

export const fileConfig: MulterModuleOptions = {
  storage: diskStorage({
      destination: (req, file, cb) => {
      // Create a folder for each user based on their ID
      // const userId = req.user.id;
      const type = req.query.type || 'default';
      const userDir = `./storage/${type}`;//path.join(uploadDir, userId);
      // Ensure the user folder exists
      if (!fs.existsSync(userDir)) {
        fs.mkdirSync(userDir, { recursive: true });
      }

      // Set the destination for the uploaded file
      cb(null, userDir);
    },
    filename: (req, file, callback) => {
      const filename = `${Date.now()}${path.extname(file.originalname)}`;
      callback(null, filename);
    },
  }),
};
