go-gallery/modules/context/context.go

36 lines
671 B
Go

package context
import (
"git.trj.tw/golang/go-gallery/modules/apimsg"
"github.com/gin-gonic/gin"
)
// Context custom patch context
type Context struct {
*gin.Context
}
type CustomMiddle func(*Context)
func PatchContext(handler CustomMiddle) gin.HandlerFunc {
return func(c *gin.Context) {
ctx := &Context{
Context: c,
}
handler(ctx)
}
}
// NotFound response
func (c *Context) NotFound(msg string) {
obj := apimsg.GetRes("NotFound", msg)
// c.JSON(obj.Status, obj.Obj)
c.AbortWithStatusJSON(obj.Status, obj.Obj)
}
// Success response
func (c *Context) Success(msg interface{}) {
obj := apimsg.GetRes("Success", msg)
c.JSON(obj.Status, obj.Obj)
}