31 lines
923 B
Go
31 lines
923 B
Go
package user
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
"net/http"
|
|
"nos-comptes/internal/ginserver"
|
|
"nos-comptes/internal/storage/dao/postgresql"
|
|
"nos-comptes/internal/utils"
|
|
)
|
|
|
|
const ServiceInjectorKey = "USER_SERVICE"
|
|
|
|
func Setup(injector *utils.Injector) {
|
|
pg := utils.Get[*postgresql.DatabasePostgreSQL](injector, postgresql.DatabaseKey)
|
|
database := NewDatabase(pg)
|
|
service := NewService(database)
|
|
validator := NewValidator(service)
|
|
handler := NewHandler(validator, database, service)
|
|
securedRoute := utils.Get[*gin.RouterGroup](injector, ginserver.SecuredRouterInjectorKey)
|
|
//TODO add secure auth
|
|
securedRoute.Handle(http.MethodGet, "/:userId", handler.GetUser)
|
|
|
|
securedUserRoute := securedRoute.Group("/:userId")
|
|
securedUserRoute.Use(validator.HasValidUserId)
|
|
securedUserRoute.Use(validator.UserdIdMatchOAuthToken)
|
|
injector.Set(ServiceInjectorKey, service)
|
|
}
|
|
|
|
func SetupRoute(injector *utils.Injector) {
|
|
}
|