import {
  Controller,
  Get,
  Post,
  Body,
  Patch,
  Param,
  Delete,
  BadRequestException,
  UseInterceptors,
  UploadedFiles,
} from "@nestjs/common";
import { BhasiniService } from "./bhasini.service";
import { FilesInterceptor } from "@nestjs/platform-express";

@Controller("bhasini")
export class BhasiniController {
  constructor(private readonly bhasiniService: BhasiniService) {}

  @Post()
  @UseInterceptors(
    FilesInterceptor("files", 2, {
      // Accept up to 10 files
      fileFilter: (req, file, cb) => {
        if (
          ![
            "audio/wav",
            "audio/x-wav",
            "audio/mpeg",
            "audio/wave",
            "audio/mp3",
          ].includes(file.mimetype)
        ) {
          cb(new BadRequestException("Only .mp3 files are allowed!"), false);
        } else {
          cb(null, true);
        }
      },
    })
  )
  create(@UploadedFiles() files: Express.Multer.File) {
    return this.bhasiniService.create(files);
  }
}
