// Code generated by Wire. DO NOT EDIT. //go:generate go run -mod=mod github.com/google/wire/cmd/wire //go:build !wireinject // +build !wireinject package main import ( "github.com/food-ai/backend/internal/domain/auth" "github.com/food-ai/backend/internal/adapters/firebase" "github.com/food-ai/backend/internal/infra/config" "github.com/food-ai/backend/internal/domain/diary" "github.com/food-ai/backend/internal/domain/dish" "github.com/food-ai/backend/internal/domain/home" "github.com/food-ai/backend/internal/domain/ingredient" "github.com/food-ai/backend/internal/domain/menu" "github.com/food-ai/backend/internal/domain/product" "github.com/food-ai/backend/internal/domain/recipe" "github.com/food-ai/backend/internal/domain/recognition" "github.com/food-ai/backend/internal/domain/recommendation" "github.com/food-ai/backend/internal/domain/savedrecipe" "github.com/food-ai/backend/internal/domain/user" "github.com/jackc/pgx/v5/pgxpool" "net/http" ) // Injectors from wire.go: func initRouter(appConfig *config.Config, pool *pgxpool.Pool) (http.Handler, error) { string2 := newFirebaseCredentialsFile(appConfig) tokenVerifier, err := firebase.NewAuthOrNoop(string2) if err != nil { return nil, err } repository := user.NewRepository(pool) mainJwtSecret := newJWTSecret(appConfig) mainJwtAccessDuration := newJWTAccessDuration(appConfig) mainJwtRefreshDuration := newJWTRefreshDuration(appConfig) jwtManager := newJWTManager(mainJwtSecret, mainJwtAccessDuration, mainJwtRefreshDuration) service := auth.NewService(tokenVerifier, repository, jwtManager) handler := auth.NewHandler(service) userService := user.NewService(repository) userHandler := user.NewHandler(userService) mainGeminiAPIKey := newOpenAIAPIKey(appConfig) client := newOpenAIClient(mainGeminiAPIKey) mainPexelsAPIKey := newPexelsAPIKey(appConfig) pexelsClient := newPexelsClient(mainPexelsAPIKey) productRepository := product.NewRepository(pool) recommendationHandler := recommendation.NewHandler(client, pexelsClient, repository, productRepository) dishRepository := dish.NewRepository(pool) savedrecipeRepository := savedrecipe.NewRepository(pool, dishRepository) savedrecipeHandler := savedrecipe.NewHandler(savedrecipeRepository) ingredientRepository := ingredient.NewRepository(pool) ingredientHandler := ingredient.NewHandler(ingredientRepository) productHandler := product.NewHandler(productRepository) recognitionHandler := recognition.NewHandler(client, ingredientRepository) menuRepository := menu.NewRepository(pool) menuHandler := menu.NewHandler(menuRepository, client, pexelsClient, repository, productRepository, dishRepository) diaryRepository := diary.NewRepository(pool) diaryHandler := diary.NewHandler(diaryRepository) homeHandler := home.NewHandler(pool) dishHandler := dish.NewHandler(dishRepository) recipeRepository := recipe.NewRepository(pool) recipeHandler := recipe.NewHandler(recipeRepository) mainJwtAdapter := newJWTAdapter(jwtManager) v := newAuthMiddleware(mainJwtAdapter) mainAllowedOrigins := newAllowedOrigins(appConfig) mainUnitsListHandler := newUnitsListHandler(pool) mainCuisineListHandler := newCuisineListHandler(pool) mainTagListHandler := newTagListHandler(pool) httpHandler := newRouter(pool, handler, userHandler, recommendationHandler, savedrecipeHandler, ingredientHandler, productHandler, recognitionHandler, menuHandler, diaryHandler, homeHandler, dishHandler, recipeHandler, v, mainAllowedOrigins, mainUnitsListHandler, mainCuisineListHandler, mainTagListHandler) return httpHandler, nil }