From 7dd238342c3bc8c287ff9b5cf2cb62db32ea3250 Mon Sep 17 00:00:00 2001 From: Sebastian Frank <sebastian@webmakers.de> Date: Wed, 9 Feb 2022 15:53:37 +0100 Subject: [PATCH] encapsulate ErrNotFound --- session.go | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/session.go b/session.go index 254b973..1bb276b 100644 --- a/session.go +++ b/session.go @@ -6,6 +6,10 @@ import ( mgo "gopkg.in/mgo.v2" ) +var ( + ErrNotFound = errors.New("not found") +) + type Session struct { session *mgo.Session } @@ -111,7 +115,7 @@ func (q *Query) Select(selector interface{}) *Query { func (q *Query) One(result interface{}) error { err := q.query.One(result) if err == mgo.ErrNotFound { - err = &ErrNotFound{msg: err.Error()} + err = ErrNotFound } return err } @@ -134,7 +138,7 @@ func (q *Query) Limit(n int) *Query { func (q *Query) All(result interface{}) error { err := q.query.All(result) if err == mgo.ErrNotFound { - err = &ErrNotFound{msg: err.Error()} + err = ErrNotFound } return err } @@ -142,7 +146,7 @@ func (q *Query) All(result interface{}) error { func (q *Query) Count() (int, error) { c, err := q.query.Count() if err == mgo.ErrNotFound { - err = &ErrNotFound{msg: err.Error()} + err = ErrNotFound } return c, err } @@ -169,7 +173,7 @@ type Pipe struct { func (p *Pipe) All(result interface{}) error { err := p.pipe.All(result) if err == mgo.ErrNotFound { - err = &ErrNotFound{msg: err.Error()} + err = ErrNotFound } return err } @@ -177,14 +181,3 @@ func (p *Pipe) All(result interface{}) error { func (c *Collection) Pipe(pipeline interface{}) *Pipe { return &Pipe{pipe: c.collection.Pipe(pipeline).AllowDiskUse()} } - -type ErrNotFound struct { - msg string -} - -func (e *ErrNotFound) Error() string { - if e.msg == "" { - return "not found" - } - return e.msg -}