
import { Injectable } from '@nestjs/common';
import { writeFile } from 'fs/promises';
import { join } from 'path';

@Injectable()
export class PicturesService {
  /**
   * Guarda una imagen en el directorio de imágenes.
   * @param file - El archivo de imagen a guardar.
   * @returns La ruta de la imagen guardada.
   */
  async saveImages(file: Express.Multer.File[]): Promise<string[]> {
    // Construye la ruta al directorio de imágenes.
    
    const picturesPath = join(__dirname, '..', '..', '..', '..', 'uploads','pict');
    
    console.log(picturesPath);
    
    let images : string[] = [];

    let count = 0;

    file.forEach(async (file) => {
      count++
      // Crea un nombre de archivo único para la imagen.
      const fileName = `${Date.now()}-${count}-${file.originalname}`;
      images.push(fileName);
      // console.log(fileName);

      // Construye la ruta completa al archivo de imagen.
      const filePath = join(picturesPath, fileName);

      // Escribe el archivo de imagen en el disco.
      await writeFile(filePath, file.buffer);
    });
    // Devuelve la ruta de la imagen guardada.
    // return [file[0].originalname]
    return images;
  }
}
