// 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 server

import (
	"github.com/cloudzenith/DouTok/backend/shortVideoApiService/internal/applications/collectionapp"
	"github.com/cloudzenith/DouTok/backend/shortVideoApiService/internal/applications/commentapp"
	"github.com/cloudzenith/DouTok/backend/shortVideoApiService/internal/applications/favoriteapp"
	"github.com/cloudzenith/DouTok/backend/shortVideoApiService/internal/applications/fileapp"
	"github.com/cloudzenith/DouTok/backend/shortVideoApiService/internal/applications/followapp"
	"github.com/cloudzenith/DouTok/backend/shortVideoApiService/internal/applications/userapp"
	"github.com/cloudzenith/DouTok/backend/shortVideoApiService/internal/applications/videoapp"
	"github.com/cloudzenith/DouTok/backend/shortVideoApiService/internal/infrastructure/adapter/baseadapter"
	"github.com/cloudzenith/DouTok/backend/shortVideoApiService/internal/infrastructure/adapter/svcoreadapter"
	"github.com/cloudzenith/DouTok/backend/shortVideoApiService/internal/service/videoservice"
)

// Injectors from wire.go:

func initUserApp() *userapp.Application {
	adapter := baseadapter.New()
	svcoreadapterAdapter := svcoreadapter.New()
	application := userapp.New(adapter, svcoreadapterAdapter)
	return application
}

func initVideoApp() *videoapp.Application {
	adapter := baseadapter.New()
	svcoreadapterAdapter := svcoreadapter.New()
	videoService := videoservice.New(svcoreadapterAdapter)
	application := videoapp.New(adapter, svcoreadapterAdapter, videoService)
	return application
}

func initFileApp() *fileapp.Application {
	adapter := baseadapter.New()
	application := fileapp.New(adapter)
	return application
}

func initCollectionApp() *collectionapp.Application {
	adapter := svcoreadapter.New()
	videoService := videoservice.New(adapter)
	application := collectionapp.New(adapter, videoService)
	return application
}

func initCommentApp() *commentapp.Application {
	adapter := svcoreadapter.New()
	application := commentapp.New(adapter)
	return application
}

func initFavoriteApp() *favoriteapp.Application {
	adapter := svcoreadapter.New()
	videoService := videoservice.New(adapter)
	application := favoriteapp.New(adapter, videoService)
	return application
}

func initFollowApp() *followapp.Application {
	adapter := svcoreadapter.New()
	application := followapp.New(adapter)
	return application
}
