func (s *store) CreateOrUpdateUser(user User) (out User, created bool, err error) {
	_, err = s.getUser(user.User, true)
	if err == nil {
		out, err = s.UpdateUser(user)
		return out, false, err
	}
	u, err := s.CreateUser(user)
	return u, true, err
}
func (s *store) CreateOrUpdateUser(user User) (out User, created bool, err error) {
	_, err = s.getUser(user.User, true)
	if err == nil {
		out, err = s.UpdateUser(user)
		return out, false, err
	}
	u, err := s.CreateUser(user)
	return u, true, err
}
func ( s * store ) CreateOrUpdateUser ( user User ) ( out User , created bool , err error ) { _ , err = s . getUser ( user . User , true ) if err == nil { out , err = s . UpdateUser ( user ) return out , false , err } u , err := s . CreateUser ( user ) return u , true , err }
// CreateOrUpdateUser should be only used for creating the new user or when you are not
// sure if it is a create or update. (When only password is passed in, we are not sure
// if it is a update or create)
CreateOrUpdateUser should be only used for creating the new user or when you are not sure if it is a create or update . ( When only password is passed in we are not sure if it is a update or create )