Documentation ¶
Index ¶
- func HandleRequest[req Request, resp Response](t Transport, c *gin.Context, makeRequest func(*gin.Context) (req, error), ...)
- func NewErrorsMapper(logger logger.LoggerI) errorsMapper
- func NewMonitoringMiddleware(config config.ConfigI) gin.HandlerFunc
- type HTTPResponse
- type Request
- type Response
- type Router
- func (router *Router) Prepare(isProd bool)
- func (router *Router) SetAdminEndpoints(transport TransportLayer, auth auth.AuthI)
- func (router *Router) SetPublicEndpoints(transport TransportLayer)
- func (router *Router) SetUserEndpoints(transport TransportLayer, auth auth.AuthI)
- func (router *Router) Setup(transport TransportLayer, debugMode bool, auth auth.AuthI, ...)
- type Transport
- type TransportLayer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HandleRequest ¶
func HandleRequest[req Request, resp Response](t Transport, c *gin.Context, makeRequest func(*gin.Context) (req, error), serviceCall func(req) (resp, error))
HandleRequest takes:
- a transport and a gin context
- a function that makes a request from the gin context
- a function that calls the service with that request
It returns a response with the result of the service call.
func NewErrorsMapper ¶ added in v1.1.0
func NewMonitoringMiddleware ¶ added in v1.2.0
func NewMonitoringMiddleware(config config.ConfigI) gin.HandlerFunc
This is exported because the monitoring is initialized in the main.go file
Types ¶
type HTTPResponse ¶
type Request ¶
type Request interface { entities.SignupRequest | entities.LoginRequest | entities.CreateUserRequest | entities.GetUserRequest | entities.UpdateUserRequest | entities.DeleteUserRequest }
type Response ¶
type Response interface { entities.SignupResponse | entities.LoginResponse | entities.CreateUserResponse | entities.GetUserResponse | entities.UpdateUserResponse | entities.DeleteUserResponse }
type Router ¶
func NewRouter ¶
func NewRouter(transport TransportLayer, config config.ConfigI, auth auth.AuthI, logger logger.LoggerI, monitoring gin.HandlerFunc) Router
func (*Router) SetAdminEndpoints ¶ added in v1.1.1
func (router *Router) SetAdminEndpoints(transport TransportLayer, auth auth.AuthI)
func (*Router) SetPublicEndpoints ¶
func (router *Router) SetPublicEndpoints(transport TransportLayer)
func (*Router) SetUserEndpoints ¶
func (router *Router) SetUserEndpoints(transport TransportLayer, auth auth.AuthI)
type Transport ¶
type Transport struct { Service service.ServiceLayer Codec codec.CodecI ErrorsMapper errorsMapperI }
func NewTransport ¶
func NewTransport(service service.ServiceLayer, codec codec.CodecI, errorsMapper errorsMapperI) Transport
func (Transport) CreateUser ¶ added in v1.1.0
func (Transport) DeleteUser ¶
func (Transport) UpdateUser ¶
Click to show internal directories.
Click to hide internal directories.