34 lines
652 B
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)
|
|
}
|
|
}
|