implement unmarshaling straight into MethodData

This commit is contained in:
Howl
2016-04-12 21:23:02 +02:00
parent b29c64023f
commit c108da9bb3
3 changed files with 16 additions and 6 deletions

View File

@@ -2,6 +2,7 @@ package common
import (
"database/sql"
"encoding/json"
"github.com/gin-gonic/gin"
)
@@ -10,7 +11,7 @@ import (
type MethodData struct {
User Token
DB *sql.DB
RequestData []byte
RequestData RequestData
C *gin.Context
}
@@ -23,3 +24,14 @@ func (md MethodData) Err(err error) {
func (md MethodData) ID() int {
return md.User.UserID
}
// RequestData is the body of a request. It is wrapped into this type
// to implement the Unmarshal function, which is just a shorthand to
// json.Unmarshal.
type RequestData []byte
// Unmarshal json-decodes Requestdata into a value. Basically a
// shorthand to json.Unmarshal.
func (r RequestData) Unmarshal(into interface{}) error {
return json.Unmarshal([]byte(r), into)
}