gopay/internal/context/context.go

34 lines
652 B
Go

package context
import (
"git.supernets.org/perp/gopay/internal/config"
"git.supernets.org/perp/gopay/internal/database"
"github.com/gin-gonic/gin"
)
type Context struct {
*gin.Context
Config *config.Config
Database *database.Database
}
// Return a new Context
func New(db *database.Database, cfg *config.Config) *Context {
return &Context{
Database: db,
Config: cfg,
}
}
// Register a new context
func (ctx *Context) Register(handler func(ctx *Context)) func(*gin.Context) {
return func(gctx *gin.Context) {
context := Context{
Context: gctx,
Config: ctx.Config,
Database: ctx.Database,
}
handler(&context)
}
}