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 C map[string]interface{} } // CustomMiddle func type CustomMiddle func(*Context) // PatchContext func func PatchContext(handler CustomMiddle) gin.HandlerFunc { return func(c *gin.Context) { ctx := &Context{ Context: c, } ctx.C = make(map[string]interface{}) handler(ctx) } } // NotFound response func (c *Context) NotFound(msg interface{}) { obj := apimsg.GetRes("NotFound", msg) c.AbortWithStatusJSON(obj.Status, obj.Obj) } // DataFormat error response func (c *Context) DataFormat(msg interface{}) { obj := apimsg.GetRes("DataFormat", msg) c.AbortWithStatusJSON(obj.Status, obj.Obj) } // Success response func (c *Context) Success(msg interface{}) { obj := apimsg.GetRes("Success", msg) c.AbortWithStatusJSON(obj.Status, obj.Obj) } // ServerError response func (c *Context) ServerError(msg interface{}) { obj := apimsg.GetRes("InternalError", msg) c.AbortWithStatusJSON(obj.Status, obj.Obj) } // CustomRes send othen response func (c *Context) CustomRes(name string, msg interface{}) { obj := apimsg.GetRes(name, msg) c.AbortWithStatusJSON(obj.Status, obj.Obj) }