using mgocrud interfaces instead of mgo
This commit is contained in:
13
helper.go
13
helper.go
@@ -6,9 +6,8 @@ import (
|
||||
"regexp"
|
||||
"strings"
|
||||
|
||||
"gitbase.de/gopackage/mgocrud"
|
||||
"gitbase.de/gopackage/mgocrud/v2"
|
||||
"github.com/gin-gonic/gin"
|
||||
mgo "gopkg.in/mgo.v2"
|
||||
"gopkg.in/mgo.v2/bson"
|
||||
)
|
||||
|
||||
@@ -41,7 +40,7 @@ func string2ObjectID(id string) (objectID *bson.ObjectId, err error) {
|
||||
case error:
|
||||
err = x
|
||||
default:
|
||||
err = errors.New("Unknown panic in: string2ObjectID")
|
||||
err = errors.New("unknown panic in: string2ObjectID")
|
||||
}
|
||||
}
|
||||
}()
|
||||
@@ -72,9 +71,7 @@ func getStructMeta(s reflect.Type, dontRecurse map[string]bool) []map[string]int
|
||||
if f.Anonymous {
|
||||
// embed directly
|
||||
embed := getStructMeta(_type, dontRecurse)
|
||||
for _, e := range embed {
|
||||
meta = append(meta, e)
|
||||
}
|
||||
meta = append(meta, embed...)
|
||||
} else {
|
||||
fMeta := make(map[string]interface{})
|
||||
|
||||
@@ -89,7 +86,7 @@ func getStructMeta(s reflect.Type, dontRecurse map[string]bool) []map[string]int
|
||||
fType = _type.String()
|
||||
}
|
||||
//fType = strings.Replace(fType, "*", "", -1)
|
||||
fType = regexp.MustCompile("\\*[a-zA-Z0-9]*\\.?").ReplaceAllString(fType, "")
|
||||
fType = regexp.MustCompile(`\*[a-zA-Z0-9]*\.?`).ReplaceAllString(fType, "")
|
||||
fMeta["type"] = fType
|
||||
kind = _type.Kind()
|
||||
fMeta["kind"] = kind.String()
|
||||
@@ -157,7 +154,7 @@ func getModelMeta(m mgocrud.ModelInterface) []map[string]interface{} {
|
||||
return getStructMeta(modelType, dontRecurse)
|
||||
}
|
||||
|
||||
func getDocument(c *gin.Context, db *mgo.Database, m mgocrud.ModelInterface, selector bson.M) (mgocrud.ModelInterface, error) {
|
||||
func getDocument(c *gin.Context, db *mgocrud.Database, m mgocrud.ModelInterface, selector bson.M) (mgocrud.ModelInterface, error) {
|
||||
objectID, err := string2ObjectID(c.Param("id"))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
Reference in New Issue
Block a user