Validate, Saved hooks
This commit is contained in:
42
handler.go
42
handler.go
@@ -241,7 +241,11 @@ func (api *API) collectionPostHandler(m mgocrud.ModelInterface) gin.HandlerFunc
|
||||
defer session.Close()
|
||||
db := session.DB(api.DBName)
|
||||
|
||||
if err := mgocrud.ValidateObject(db, newM, nil); err != nil {
|
||||
if err := validateObject(&Context{
|
||||
API: api,
|
||||
Context: c,
|
||||
DB: db,
|
||||
}, newM, nil); err != nil {
|
||||
c.JSON(400, gin.H{
|
||||
"error": err.Error(),
|
||||
})
|
||||
@@ -256,6 +260,25 @@ func (api *API) collectionPostHandler(m mgocrud.ModelInterface) gin.HandlerFunc
|
||||
return
|
||||
}
|
||||
|
||||
newM, err = getDocument(c, db, newM, nil)
|
||||
if err != nil {
|
||||
c.JSON(500, gin.H{
|
||||
"error": err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
if err := savedObject(&Context{
|
||||
API: api,
|
||||
Context: c,
|
||||
DB: db,
|
||||
}, newM, nil); err != nil {
|
||||
c.JSON(400, gin.H{
|
||||
"error": err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(200, newM)
|
||||
}
|
||||
}
|
||||
@@ -350,7 +373,11 @@ func (api *API) collectionPutHandler(m mgocrud.ModelInterface) gin.HandlerFunc {
|
||||
//spew.Dump(changes)
|
||||
//spew.Dump(orgM)
|
||||
|
||||
if err := mgocrud.ValidateObject(db, orgM, changes); err != nil {
|
||||
if err := validateObject(&Context{
|
||||
API: api,
|
||||
Context: c,
|
||||
DB: db,
|
||||
}, orgM, changes); err != nil {
|
||||
c.JSON(400, gin.H{
|
||||
"error": err.Error(),
|
||||
})
|
||||
@@ -375,6 +402,17 @@ func (api *API) collectionPutHandler(m mgocrud.ModelInterface) gin.HandlerFunc {
|
||||
return
|
||||
}
|
||||
|
||||
if err := savedObject(&Context{
|
||||
API: api,
|
||||
Context: c,
|
||||
DB: db,
|
||||
}, newM, changes); err != nil {
|
||||
c.JSON(400, gin.H{
|
||||
"error": err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(200, newM)
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user