// GetUserByID retrieves an individual user by ID func GetUserByID(context interface{}, db *db.DB, id string) (*User, error) { log.Dev(context, "GetUserById", "Started : Id[%s]", id) var user User f := func(c *mgo.Collection) error { q := bson.M{"_id": id} log.Dev(context, "GetUserById", "MGO : db.%s.findOne(%s)", userCollection, mongo.Query(q)) return c.Find(q).One(&user) } if err := db.ExecuteMGO(context, userCollection, f); err != nil { log.Error(context, "GetUserById", err, "Completed") return nil, err } log.Dev(context, "GetUserById", "Completed") return &user, nil }
// GetUserByUserName retrieves an individual user by email func GetUserByUserName(context interface{}, db *db.DB, userName string) (*User, error) { log.Dev(context, "GetUserByUserName", "Started : User[%s]", userName) userName = strings.ToLower(userName) var user User f := func(c *mgo.Collection) error { q := bson.M{"user_name": userName} log.Dev(context, "GetUserByUserName", "MGO : db.%s.findOne(%s)", userCollection, mongo.Query(q)) return c.Find(q).One(&user) } if err := db.ExecuteMGO(context, userCollection, f); err != nil { log.Error(context, "GetUserByUserName", err, "Completed") return nil, err } log.Dev(context, "GetUserByUserName", "Completed") return &user, nil }