Passed
Pull Request — main (#126)
by Yume
01:13
created

internal/wire.go   A

Size/Duplication

Total Lines 60
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
cc 8
eloc 35
dl 0
loc 60
rs 10
c 0
b 0
f 0

8 Methods

Rating   Name   Duplication   Size   Complexity  
A internal.InitializeAuth 0 3 1
A internal.InitializeJWT 0 3 1
A internal.InitializeCard 0 3 1
A internal.InitializeMeiliSearch 0 3 1
A internal.InitializeUser 0 3 1
A internal.InitializeOAuth 0 3 1
A internal.InitializeDeck 0 3 1
A internal.InitializeMcq 0 3 1
1
//go:build wireinject
2
// +build wireinject
3
4
package internal
5
6
import (
7
	"github.com/google/wire"
8
	"github.com/memnix/memnix-rest/app/http/controllers"
9
	"github.com/memnix/memnix-rest/app/meilisearch"
10
	"github.com/memnix/memnix-rest/infrastructures"
11
	"github.com/memnix/memnix-rest/internal/auth"
12
	"github.com/memnix/memnix-rest/internal/card"
13
	"github.com/memnix/memnix-rest/internal/deck"
14
	"github.com/memnix/memnix-rest/internal/mcq"
15
	"github.com/memnix/memnix-rest/internal/user"
16
)
17
18
// InitializeUser initializes the user controller.
19
func InitializeUser() controllers.UserController {
20
	wire.Build(controllers.NewUserController, user.NewUseCase, user.NewRedisRepository, infrastructures.GetRedisClient, user.NewRepository, infrastructures.GetDBConn, user.NewRistrettoCache, infrastructures.GetRistrettoCache)
21
	return controllers.UserController{}
22
}
23
24
// InitializeAuth initializes the auth controller.
25
func InitializeAuth() controllers.AuthController {
26
	wire.Build(controllers.NewAuthController, auth.NewUseCase, user.NewRepository, infrastructures.GetDBConn)
27
	return controllers.AuthController{}
28
}
29
30
// InitializeJWT initializes the jwt controller.
31
func InitializeJWT() controllers.JwtController {
32
	wire.Build(controllers.NewJwtController, user.NewUseCase, user.NewRedisRepository, infrastructures.GetRedisClient, user.NewRepository, infrastructures.GetDBConn, user.NewRistrettoCache, infrastructures.GetRistrettoCache)
33
	return controllers.JwtController{}
34
}
35
36
// InitializeOAuth initializes the oauth controller.
37
func InitializeOAuth() controllers.OAuthController {
38
	wire.Build(controllers.NewOAuthController, auth.NewUseCase, user.NewRepository, infrastructures.GetDBConn, auth.NewRedisRepository, infrastructures.GetRedisClient)
39
	return controllers.OAuthController{}
40
}
41
42
// InitializeDeck initializes the deck controller.
43
func InitializeDeck() controllers.DeckController {
44
	wire.Build(controllers.NewDeckController, deck.NewUseCase, deck.NewRepository, infrastructures.GetDBConn, deck.NewRedisRepository, infrastructures.GetRedisClient)
45
	return controllers.DeckController{}
46
}
47
48
// InitializeCard initializes the card controller.
49
func InitializeCard() controllers.CardController {
50
	wire.Build(controllers.NewCardController, card.NewUseCase, card.NewRepository, infrastructures.GetDBConn, card.NewRedisRepository, infrastructures.GetRedisClient)
51
	return controllers.CardController{}
52
}
53
54
// InitializeMcq initializes the mcq controller.
55
func InitializeMcq() controllers.McqController {
56
	wire.Build(controllers.NewMcqController, mcq.NewUseCase, mcq.NewRepository, infrastructures.GetDBConn, mcq.NewRedisRepository, infrastructures.GetRedisClient)
57
	return controllers.McqController{}
58
}
59
60
// InitializeMeiliSearch initializes the meilisearch.
61
func InitializeMeiliSearch() meilisearch.MeiliSearch {
62
	wire.Build(meilisearch.NewMeiliSearch, deck.NewUseCase, deck.NewRepository, infrastructures.GetDBConn, deck.NewRedisRepository, infrastructures.GetRedisClient)
63
	return meilisearch.MeiliSearch{}
64
}
65