package context import ( "git.supernets.org/perp/gopay/internal/config" "git.supernets.org/perp/gopay/internal/database" "git.supernets.org/perp/gopay/internal/database/account" "github.com/gin-gonic/gin" ) type Context struct { *gin.Context Account *account.Model 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) } }