jay
e8db6fdab5
1. add youtube command 2. add google webhook 3. add twitch oauth route 4. add api checkSession middleware
67 lines
1.5 KiB
Go
67 lines
1.5 KiB
Go
package context
|
|
|
|
import (
|
|
"git.trj.tw/golang/mtfosbot/module/apimsg"
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/gin-gonic/gin/binding"
|
|
)
|
|
|
|
// Context custom context struct
|
|
type Context struct {
|
|
*gin.Context
|
|
}
|
|
|
|
// CustomMiddle func
|
|
type CustomMiddle func(*Context)
|
|
|
|
// PatchCtx - patch ctx to custom middle
|
|
func PatchCtx(handler func(*Context)) gin.HandlerFunc {
|
|
return func(c *gin.Context) {
|
|
ctx := &Context{
|
|
Context: c,
|
|
}
|
|
handler(ctx)
|
|
}
|
|
}
|
|
|
|
// BindData client body data
|
|
func (c *Context) BindData(i interface{}) error {
|
|
b := binding.Default(c.Request.Method, c.ContentType())
|
|
return c.ShouldBindWith(i, b)
|
|
}
|
|
|
|
// CustomRes -
|
|
func (c *Context) CustomRes(status int, msg interface{}) {
|
|
c.AbortWithStatusJSON(status, msg)
|
|
}
|
|
|
|
// LoginFirst -
|
|
func (c *Context) LoginFirst(msg interface{}) {
|
|
obj := apimsg.GetRes("LoginFirst", msg)
|
|
c.AbortWithStatusJSON(obj.Status, obj.Obj)
|
|
}
|
|
|
|
// NotFound -
|
|
func (c *Context) NotFound(msg interface{}) {
|
|
obj := apimsg.GetRes("NotFound", msg)
|
|
c.AbortWithStatusJSON(obj.Status, obj.Obj)
|
|
}
|
|
|
|
// DataFormat -
|
|
func (c *Context) DataFormat(msg interface{}) {
|
|
obj := apimsg.GetRes("DataFormat", msg)
|
|
c.AbortWithStatusJSON(obj.Status, obj.Obj)
|
|
}
|
|
|
|
// Success -
|
|
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)
|
|
}
|