From e574667a8c14e8b9dcf9866b92cd4c745b2a54cd Mon Sep 17 00:00:00 2001 From: Sebastian Frank Date: Wed, 9 Feb 2022 22:00:02 +0100 Subject: [PATCH] types --- dbinterface.go | 66 -------------------------------------------------- go.mod | 2 +- go.sum | 4 +-- helper.go | 2 +- login.go | 3 ++- register.go | 6 ++--- 6 files changed, 9 insertions(+), 74 deletions(-) delete mode 100644 dbinterface.go diff --git a/dbinterface.go b/dbinterface.go deleted file mode 100644 index c244a0c..0000000 --- a/dbinterface.go +++ /dev/null @@ -1,66 +0,0 @@ -package mgoapi - -import ( - "gitbase.de/gopackage/mgocrud/v2" - "gopkg.in/mgo.v2/bson" -) - -type Connection interface { - Close() - NewSession() Session -} - -type Session interface { - Close() - DB(name string) Database -} - -type Database interface { - Session() Session - C(name string) Collection - Name() string - EnsureIndex(m mgocrud.ModelInterface) error - ValidateObject(m mgocrud.ModelInterface, changes bson.M) error - ReadDocument(m mgocrud.ModelInterface, selector bson.M) error - CreateDocument(m mgocrud.ModelInterface) error - ReadCollection(results interface{}, filter bson.M, selector bson.M, offset int, limit int, sort []string, pipelineModifier mgocrud.PipelineModifierFunction) error - ReadCollectionCount(m mgocrud.ModelInterface, filter bson.M) (count int, err error) - UpdateDocument(m mgocrud.ModelInterface, changes bson.M) error - UpsertDocument(m mgocrud.ModelInterface, changes bson.M) error - DeleteDocument(m mgocrud.ModelInterface) error - DeleteDocuments(m mgocrud.ModelInterface, filter bson.M) (removed int, err error) -} - -type Collection interface { - Insert(docs ...interface{}) error - UpdateId(id interface{}, update interface{}) error - RemoveId(id interface{}) error - Upsert(selector interface{}, update interface{}) (ChangeInfo, error) - RemoveAll(filter interface{}) (ChangeInfo, error) - FindId(id interface{}) Query - Find(query interface{}) Query - EnsureIndex(index Index) error - Pipe(pipeline interface{}) Pipe -} - -type ChangeInfo interface { - Matched() int - Removed() int - Updated() int -} - -type Query interface { - Select(selector interface{}) Query - One(result interface{}) error - Sort(fields ...string) Query - Skip(n int) Query - Limit(n int) Query - All(result interface{}) error - Count() (int, error) -} - -type Index interface{} - -type Pipe interface { - All(result interface{}) error -} diff --git a/go.mod b/go.mod index bef1144..f722d4a 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module gitbase.de/gopackage/mgoapi/v2 go 1.16 require ( - gitbase.de/gopackage/mgocrud/v2 v2.0.8 + 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 diff --git a/go.sum b/go.sum index cd10766..81bf4d5 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,5 @@ -gitbase.de/gopackage/mgocrud/v2 v2.0.8 h1:129q3/5c4kFB0WnVZZXd+jhpR5FYjYjzmcoZxLPPjiY= -gitbase.de/gopackage/mgocrud/v2 v2.0.8/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= diff --git a/helper.go b/helper.go index 0b3b094..8612fa0 100644 --- a/helper.go +++ b/helper.go @@ -154,7 +154,7 @@ func getModelMeta(m mgocrud.ModelInterface) []map[string]interface{} { return getStructMeta(modelType, dontRecurse) } -func getDocument(c *gin.Context, db 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 diff --git a/login.go b/login.go index adc3408..2b88a7d 100644 --- a/login.go +++ b/login.go @@ -5,6 +5,7 @@ import ( "reflect" "time" + "gitbase.de/gopackage/mgocrud/v2" jwt "github.com/dgrijalva/jwt-go" "github.com/gin-gonic/gin" @@ -12,7 +13,7 @@ import ( // LoginModel is interface for modules which can be used for the login route type LoginModel interface { - LoginCheck(db Database) (tokenData interface{}, err error) + LoginCheck(db mgocrud.Database) (tokenData interface{}, err error) LoginResponse(token string) (interface{}, error) } diff --git a/register.go b/register.go index 5e3e72b..4628d95 100644 --- a/register.go +++ b/register.go @@ -7,7 +7,7 @@ import ( // API is wrapper for one RouterGroup and mgo DB type API struct { - DBConnection Connection + DBConnection mgocrud.Connection DBName string routerGroup *gin.RouterGroup jwtSecret []byte @@ -18,11 +18,11 @@ type API struct { type Context struct { *gin.Context API *API - DB Database + DB mgocrud.Database } // New returns new instance of the API -func New(connection Connection, dbname string, routerGroup *gin.RouterGroup) *API { +func New(connection mgocrud.Connection, dbname string, routerGroup *gin.RouterGroup) *API { return &API{ DBConnection: connection, DBName: dbname,