package fiko_mongo

import (
	"context"
	"log"
	"time"

	"github.com/gofiber/fiber/v2"
	"go.mongodb.org/mongo-driver/bson"
	"go.mongodb.org/mongo-driver/mongo"
	"go.mongodb.org/mongo-driver/mongo/options"
)

func Init(app *fiber.App) {
	// MongoDB bağlantı URL'si
	databaseURL := "mongodb://127.0.0.1:8001/"
	ctx, _ := context.WithTimeout(context.Background(), 10*time.Second)
	client, err := mongo.Connect(ctx, options.Client().ApplyURI(databaseURL))
	if err != nil {
		log.Fatal(err)
	}

	// MongoDB koleksiyonundan veri almak
	collection := client.Database("fikoyt").Collection("hareketler")
	var result bson.Raw
	err = collection.FindOne(ctx, bson.D{}).Decode(&result)
	if err != nil {
		log.Fatal(err)
	}

	// BSON verisini JSON formatına çevir
	// res, err := json.Marshal(result)
	// if err != nil {
	// 	log.Fatal(err)
	// }

	// Fiber route: /fikomongo
	app.Get("/fikomongo", func(c *fiber.Ctx) error {
		// JSON verisini döndür
		return c.Status(200).JSONP(result)
	})
}
