transport

package
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 8, 2023 License: MIT Imports: 14 Imported by: 0

Documentation

Index

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 NewErrorsMapper(logger logger.LoggerI) errorsMapper

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 HTTPResponse struct {
	Success bool        `json:"success"`
	Content interface{} `json:"content"`
	Error   string      `json:"error"`
}

type Router

type Router struct {
	*gin.Engine
}

func NewRouter

func NewRouter(transport TransportLayer, config config.ConfigI, auth auth.AuthI, logger logger.LoggerI, monitoring gin.HandlerFunc) Router

func (*Router) Prepare added in v1.2.0

func (router *Router) Prepare(isProd bool)

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)

func (*Router) Setup

func (router *Router) Setup(transport TransportLayer, debugMode bool, auth auth.AuthI, logger logger.LoggerI, monitoring gin.HandlerFunc)

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 (t Transport) CreateUser(c *gin.Context)

func (Transport) DeleteUser

func (t Transport) DeleteUser(c *gin.Context)

func (Transport) GetUser

func (t Transport) GetUser(c *gin.Context)

func (Transport) Login

func (t Transport) Login(c *gin.Context)

func (Transport) Signup

func (t Transport) Signup(c *gin.Context)

func (Transport) UpdateUser

func (t Transport) UpdateUser(c *gin.Context)

type TransportLayer added in v1.2.0

type TransportLayer interface {

	// - Auth
	Signup(c *gin.Context)
	Login(c *gin.Context)

	// - Users
	CreateUser(c *gin.Context)
	GetUser(c *gin.Context)
	UpdateUser(c *gin.Context)
	DeleteUser(c *gin.Context)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL