// Code generated by Wire. DO NOT EDIT.

//go:generate wire
//+build !wireinject

package di

import (
	"noteservice/internal/persistance/database"
	"noteservice/internal/repository"
	"noteservice/internal/service"
)

// Injectors from wire.go:

func WireAppComponent() *service.NoteService {
	dbConfig := database.ProvideConfigProduction()
	databaseDatabase := database.ProvideDatabase(dbConfig)
	noteRepository := repository.ProvideNoteRepository(databaseDatabase)
	noteService := service.ProvideNoteService(noteRepository)
	return noteService
}

func WireAppComponentDev() *service.NoteService {
	dbConfig := database.ProvideConfigDevelopment()
	databaseDatabase := database.ProvideDatabase(dbConfig)
	noteRepository := repository.ProvideNoteRepository(databaseDatabase)
	noteService := service.ProvideNoteService(noteRepository)
	return noteService
}

func WireAppComponentTesting() *service.NoteService {
	databaseDatabase := database.ProvideTestDatabase()
	noteRepository := repository.ProvideNoteRepository(databaseDatabase)
	noteService := service.ProvideNoteService(noteRepository)
	return noteService
}
