package FikoYTDosya

import (
	"github.com/gofiber/fiber/v3"
)

// AraIsleyici: Dosyayı alıp FileInfo sınıfına ileten middleware
func AraIsleyici() fiber.Handler {
	return func(c fiber.Ctx) error {
		// Multipart form bilgilerini al
		form, err := c.MultipartForm()
		if err != nil {

			return c.Next()
		}

		var processedFiles []FikoYTDosya

		for _, files := range form.File {
			for _, fileHeader := range files {
				// FileInfo objesi oluştur
				fileInfo := &FikoYTDosya{
					File:          fileHeader,
					Path:          fileHeader.Filename, // Örnek dosya yolu
					ProcessedPath: "",                  // Örnek dosya yolu
					Saved:         false,
					Processed:     false,
				}

				processedFiles = append(processedFiles, *fileInfo)
			}
		}
		// fmt.Println(processedFiles)
		// FileInfo objesini context'e ilet
		c.Locals("files", processedFiles)
		// Ana handler'a yönlendir
		return c.Next()

	}
}
