wip
This commit is contained in:
42
mangezmieux-backend/internal/users/setup.go
Normal file
42
mangezmieux-backend/internal/users/setup.go
Normal file
@@ -0,0 +1,42 @@
|
||||
package users
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"mangezmieux-backend/internal/ginserver"
|
||||
"mangezmieux-backend/internal/injector"
|
||||
"mangezmieux-backend/internal/jwt"
|
||||
"mangezmieux-backend/internal/postgres"
|
||||
service2 "mangezmieux-backend/internal/users/service"
|
||||
sql2 "mangezmieux-backend/internal/users/sql"
|
||||
"mangezmieux-backend/internal/validator"
|
||||
|
||||
"net/http"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
validatorv10 "github.com/go-playground/validator/v10"
|
||||
)
|
||||
|
||||
const ServiceKey = "UsersService"
|
||||
|
||||
func Setup(inj *injector.Injector) {
|
||||
publicRoute := injector.Get[*gin.RouterGroup](inj, ginserver.UnsecuredRouterInjectorKey)
|
||||
validatorCli := injector.Get[*validatorv10.Validate](inj, validator.ValidatorInjectorKey)
|
||||
jwtService := injector.Get[*jwt.Service](inj, jwt.JWTKey)
|
||||
|
||||
client := injector.Get[*sql.DB](inj, postgres.DatabaseKey)
|
||||
dao := sql2.NewDao(client)
|
||||
|
||||
service := service2.NewService(dao, jwtService)
|
||||
handler := NewHandler(service, validatorCli)
|
||||
|
||||
inj.Set(ServiceKey, service)
|
||||
|
||||
publicRoute.Handle(http.MethodPost, "/api/v1/users", handler.CreateUser)
|
||||
publicRoute.Handle(http.MethodPost, "/oauth2/token", handler.Login)
|
||||
publicRoute.Handle(http.MethodPost, "/oauth2/introspect", handler.IntrospectToken)
|
||||
publicRoute.Handle(http.MethodPost, "/oauth2/refresh", handler.RefreshToken)
|
||||
|
||||
securedRoute := injector.Get[*gin.RouterGroup](inj, ginserver.SecuredRouterInjectorKey)
|
||||
securedRoute.Handle(http.MethodGet, "/users/me", handler.GetMe)
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user