// Code generated by Wire. DO NOT EDIT.

//go:generate go run github.com/google/wire/cmd/wire
//go:build !wireinject
// +build !wireinject

package bee

import (
	"context"
	documents2 "github.com/luminosita/sample-bee/internal/app/use-cases/documents"
	"github.com/luminosita/sample-bee/internal/infra/db/mongodb/repositories"
	"github.com/luminosita/sample-bee/internal/infra/http/handlers/documents"
)

// Injectors from wire.go:

func MakeGetDocumentHandler(ctx context.Context) *documents.GetDocumentHandler {
	getDocumentRepository := repositories.NewGetDocumentRepository(ctx)
	getDocument := documents2.NewGetDocument(getDocumentRepository)
	getDocumentHandler := documents.NewGetDocumentHandler(getDocument)
	return getDocumentHandler
}

func MakeGetAllDocumentsHandler(ctx context.Context) *documents.GetAllDocumentsHandler {
	getAllDocumentsRepository := repositories.NewGetAllDocumentsRepository(ctx)
	getAllDocuments := documents2.NewGetAllDocuments(getAllDocumentsRepository)
	getAllDocumentsHandler := documents.NewGetAllDocumentsHandler(getAllDocuments)
	return getAllDocumentsHandler
}

func MakeCreateDocumentHandler(ctx context.Context) *documents.CreateDocumentHandler {
	createDocumentRepository := repositories.NewCreateDocumentRepository(ctx)
	createDocument := documents2.NewCreateDocument(createDocumentRepository)
	createDocumentHandler := documents.NewCreateDocumentHandler(createDocument)
	return createDocumentHandler
}
