package kokDB

import (
	"github.com/gofiber/fiber/v3"
	"github.com/gofiber/fiber/v3/middleware/cors"
)

func KokDBRouting(app *fiber.App) {

	///
	fapiv1 := app.Group("/fapiv1")

	fapiv1.Use(cors.New(cors.Config{
		AllowOrigins:     []string{"https://fikoyt.com", "https://www.fikoyt.com", "https://fikoyt.com:443", "https://www.fikoyt.com:443", "https://fikoyt.com:444", "https://fikoyt.com:446", "https://fikoyt.com:449", "https://fikoyt.com:9000", "https://www.fikoyt.com:9000", "https://fikoyt.com:4200", "https://localhost:4200", "http://localhost:4200", "http://localhost:4201", "http://localhost:4400", "https://fikoyt:4200"},                 // String dilimi olarak belirt
		AllowMethods:     []string{"GET", "POST", "HEAD", "PUT", "DELETE", "PATCH", "OPTIONS", "TRACE"}, // İzin verilen HTTP metodları
		AllowHeaders:     []string{"*", "Content-Type", "Authorization", "Mode", "cihaz_kimlik", "cihaz_bilgi", "uygulama", "access-control-allow-origin", "access-control-allow-credentials", "cihaz_tipi", "Content-Type", "X-Requested-With", "Fsid"},
		AllowCredentials: true, AllowPrivateNetwork: true, ExposeHeaders: []string{"*", "Content-Length", "Content-Type", "X-Requested-With"},
	}))

	fapiv1.Post("/fikoyt.com.FikoYT.sistem.DB.:db.aggregate", fikoyt_sistem_db_agregate)
	fapiv1.Post("/fikoyt.com.FikoYT.sistem.DB.:db.ekle", fikoyt_sistem_db_ekle)
	fapiv1.Post("/fikoyt.com.FikoYT.sistem.DB.:db.sil", fikoyt_sistem_db_sil)
	fapiv1.Post("/fikoyt.com.FikoYT.sistem.DB.:db.guncelle", fikoyt_sistem_db_guncelle)

	// Mail IMAP
	fapiv1.Post("/fikoyt.com.FikoYT.sistem.mail.klasorler", fikoyt_sistem_mail_klasorler)
	fapiv1.Post("/fikoyt.com.FikoYT.sistem.mail.yenidenCek", fikoyt_sistem_mail_yeniden_cek)
	fapiv1.Post("/fikoyt.com.FikoYT.sistem.mail.eskiMailCek", fikoyt_sistem_mail_eski_cek)
	fapiv1.Post("/fikoyt.com.FikoYT.sistem.mail.iptal", fikoyt_sistem_mail_iptal)
	fapiv1.Post("/fikoyt.com.FikoYT.sistem.mail.emlImport", fikoyt_sistem_mail_eml_import)
	fapiv1.Get("/fikoyt.com.FikoYT.sistem.mail.eml/:mailId", fikoyt_sistem_mail_eml_indir)

	// Akıllı Dosya Yönetim API'leri
	fapiv1.Post("/fikoyt.com.FikoYT.sistem.dosya.:db.yukle", fikoyt_sistem_dosya_yukle)
	fapiv1.Get("/fikoyt.com.FikoYT.sistem.dosya.bilgi/:fileId", fikoyt_sistem_dosya_bilgi)

	// fapiv1.Post("/fikoyt.com.test", fikoyt_sistem_test)

	// fapiv1.Get("/fikoyt.com.FikoYT.sistem.aktif-kullanici.profilResmi", fikoyt_sistem_aktif_kullanici_profil_resmi)

	// fapiv1.Get("/fikoyt.com.FikoYT.sistem.windows.guncelleme.bilgi", fikoyt_sistem_bilgi_guncelleme)
}
