5 Commits

Author SHA1 Message Date
e574667a8c types 2022-02-09 22:00:02 +01:00
0a966a637b db connect 2022-02-09 21:12:04 +01:00
b59be1a9d7 db interface 2022-02-09 20:33:13 +01:00
d116f5d938 db interface 2022-02-09 20:21:08 +01:00
2b4f13f807 mgocrud v2.0.4 2022-02-09 18:57:26 +01:00
7 changed files with 27 additions and 27 deletions

2
go.mod
View File

@@ -3,7 +3,7 @@ module gitbase.de/gopackage/mgoapi/v2
go 1.16
require (
gitbase.de/gopackage/mgocrud/v2 v2.0.3
gitbase.de/gopackage/mgocrud/v2 v2.0.9
github.com/dgrijalva/jwt-go v3.2.0+incompatible
github.com/gin-gonic/gin v1.6.3
gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22

4
go.sum
View File

@@ -1,5 +1,5 @@
gitbase.de/gopackage/mgocrud/v2 v2.0.3 h1:uWNi5YX9eo1tdys3XZGKVvEjQ7fv14rQ3PNgNlR9XDs=
gitbase.de/gopackage/mgocrud/v2 v2.0.3/go.mod h1:eAIqxjo60/nP/S+YA25SBLQZ98WUrHwpvjE7Zl+ewTM=
gitbase.de/gopackage/mgocrud/v2 v2.0.9 h1:tIg5XKJiEd/QEjY9zW5/OK0kl6+auhlEO0wmd0vR4Mk=
gitbase.de/gopackage/mgocrud/v2 v2.0.9/go.mod h1:eAIqxjo60/nP/S+YA25SBLQZ98WUrHwpvjE7Zl+ewTM=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=

View File

@@ -15,7 +15,7 @@ import (
func (api *API) collectionGetOneHandler(m mgocrud.ModelInterface) gin.HandlerFunc {
return func(c *gin.Context) {
session := api.DBSession.Copy()
session := api.DBConnection.NewSession()
defer session.Close()
db := session.DB(api.DBName)
@@ -79,7 +79,7 @@ func (api *API) collectionGetHandler(m mgocrud.ModelInterface) gin.HandlerFunc {
results := x.Interface()
session := api.DBSession.Copy()
session := api.DBConnection.NewSession()
defer session.Close()
db := session.DB(api.DBName)
@@ -143,7 +143,7 @@ func (api *API) collectionGetHandler(m mgocrud.ModelInterface) gin.HandlerFunc {
queryCount := c.Query("count")
if queryCount == "1" || strings.ToLower(queryCount) == "true" {
count, err := mgocrud.ReadCollectionCount(db, m, validFilter)
count, err := db.ReadCollectionCount(m, validFilter)
if err != nil {
c.JSON(500, errorObject(err))
return
@@ -169,7 +169,7 @@ func (api *API) collectionGetHandler(m mgocrud.ModelInterface) gin.HandlerFunc {
}
}
err = mgocrud.ReadCollection(db, results, validFilter, validSelect, offset, limit, clearedSort, pipelineModFunc)
err = db.ReadCollection(results, validFilter, validSelect, offset, limit, clearedSort, pipelineModFunc)
if err != nil {
c.JSON(500, errorObject(err))
return
@@ -205,7 +205,7 @@ func (api *API) collectionPostHandler(m mgocrud.ModelInterface) gin.HandlerFunc
return
}
session := api.DBSession.Copy()
session := api.DBConnection.NewSession()
defer session.Close()
db := session.DB(api.DBName)
@@ -218,7 +218,7 @@ func (api *API) collectionPostHandler(m mgocrud.ModelInterface) gin.HandlerFunc
return
}
err := mgocrud.CreateDocument(db, newM)
err := db.CreateDocument(newM)
if err != nil {
c.JSON(500, errorObject(err))
return
@@ -226,7 +226,7 @@ func (api *API) collectionPostHandler(m mgocrud.ModelInterface) gin.HandlerFunc
readM := newModelOf(newM).(mgocrud.ModelInterface)
readM.SetID(newM.GetID())
err = mgocrud.ReadDocument(db, readM, nil)
err = db.ReadDocument(readM, nil)
if err != nil {
c.JSON(500, errorObject(err))
return
@@ -257,7 +257,7 @@ func (api *API) collectionPostHandler(m mgocrud.ModelInterface) gin.HandlerFunc
func (api *API) collectionPutHandler(m mgocrud.ModelInterface) gin.HandlerFunc {
return func(c *gin.Context) {
session := api.DBSession.Copy()
session := api.DBConnection.NewSession()
defer session.Close()
db := session.DB(api.DBName)
@@ -358,7 +358,7 @@ func (api *API) collectionPutHandler(m mgocrud.ModelInterface) gin.HandlerFunc {
return
}
err = mgocrud.UpdateDocument(db, orgM, changes)
err = db.UpdateDocument(orgM, changes)
if err != nil {
c.JSON(500, errorObject(err))
return
@@ -399,7 +399,7 @@ func (api *API) collectionPutHandler(m mgocrud.ModelInterface) gin.HandlerFunc {
func (api *API) collectionDeleteHandler(m mgocrud.ModelInterface) gin.HandlerFunc {
return func(c *gin.Context) {
session := api.DBSession.Copy()
session := api.DBConnection.NewSession()
defer session.Close()
db := session.DB(api.DBName)
@@ -413,7 +413,7 @@ func (api *API) collectionDeleteHandler(m mgocrud.ModelInterface) gin.HandlerFun
return
}
err = mgocrud.DeleteDocument(db, orgM)
err = db.DeleteDocument(orgM)
if err != nil {
c.JSON(500, errorObject(err))
}

View File

@@ -154,14 +154,14 @@ func getModelMeta(m mgocrud.ModelInterface) []map[string]interface{} {
return getStructMeta(modelType, dontRecurse)
}
func getDocument(c *gin.Context, db *mgocrud.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
}
newM := newModelOf(m).(mgocrud.ModelInterface)
newM.SetID(objectID)
err = mgocrud.ReadDocument(db, newM, selector)
err = db.ReadDocument(newM, selector)
if err != nil {
return nil, err
}

View File

@@ -71,7 +71,7 @@ func validateObject(c *Context, m mgocrud.ModelInterface, changes bson.M) error
}
}
return mgocrud.ValidateObject(c.DB, m, changes)
return c.DB.ValidateObject(m, changes)
}
func savedObject(c *Context, m mgocrud.ModelInterface, changes bson.M) error {

View File

@@ -13,7 +13,7 @@ import (
// LoginModel is interface for modules which can be used for the login route
type LoginModel interface {
LoginCheck(db *mgocrud.Database) (tokenData interface{}, err error)
LoginCheck(db mgocrud.Database) (tokenData interface{}, err error)
LoginResponse(token string) (interface{}, error)
}
@@ -27,7 +27,7 @@ func (api *API) loginPostHandler(m LoginModel) func(c *gin.Context) {
return
}
session := api.DBSession.Copy()
session := api.DBConnection.NewSession()
defer session.Close()
db := session.DB(api.DBName)

View File

@@ -7,7 +7,7 @@ import (
// API is wrapper for one RouterGroup and mgo DB
type API struct {
DBSession *mgocrud.Session
DBConnection mgocrud.Connection
DBName string
routerGroup *gin.RouterGroup
jwtSecret []byte
@@ -18,15 +18,15 @@ type API struct {
type Context struct {
*gin.Context
API *API
DB *mgocrud.Database
DB mgocrud.Database
}
// New returns new instance of the API
func New(session *mgocrud.Session, dbname string, routerGroup *gin.RouterGroup) *API {
func New(connection mgocrud.Connection, dbname string, routerGroup *gin.RouterGroup) *API {
return &API{
DBSession: session,
DBName: dbname,
routerGroup: routerGroup,
DBConnection: connection,
DBName: dbname,
routerGroup: routerGroup,
}
}
@@ -37,11 +37,11 @@ func (api *API) RegisterModel(m mgocrud.ModelInterface) {
modelRegistry = append(modelRegistry, m)
session := api.DBSession.Copy()
session := api.DBConnection.NewSession()
defer session.Close()
db := session.DB(api.DBName)
err := mgocrud.EnsureIndex(db, m)
err := db.EnsureIndex(m)
if err != nil {
panic(err)
}