package repositories

import (
	"context"
	"errors"
	"primesys_command_producer/src/db"
	"primesys_command_producer/src/models"

	"go.mongodb.org/mongo-driver/v2/bson"
	"go.mongodb.org/mongo-driver/v2/mongo"
)

const divisionCollection = "division_login"

func GetDivisionByID(ctx context.Context, divisionID string) (*models.DivisionLoginEntity, error) {

	objectId, err := bson.ObjectIDFromHex(divisionID)
	if err != nil {
		return nil, err
	}

	filter := bson.M{
		"_id": objectId,
	}

	var division models.DivisionLoginEntity

	err = db.Database().Collection(divisionCollection).FindOne(ctx, filter).Decode(&division)

	if err != nil {
		if errors.Is(err, mongo.ErrNoDocuments) {
			return nil, nil
		}
		return nil, err
	}

	return &division, nil
}
