Passed
Pull Request — main (#166)
by Yume
02:09
created

services/wire.go   A

Size/Duplication

Total Lines 59
Duplicated Lines 0 %

Importance

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