From 5c92b037ac83e155176b5e7b20de3c390e899a9e Mon Sep 17 00:00:00 2001 From: manoj Date: Thu, 29 Dec 2022 20:03:22 +0530 Subject: [PATCH] added missing getuserByphone methods in provider --- server/db/providers/couchbase/user.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/server/db/providers/couchbase/user.go b/server/db/providers/couchbase/user.go index 775f3ff..653c45e 100644 --- a/server/db/providers/couchbase/user.go +++ b/server/db/providers/couchbase/user.go @@ -181,3 +181,23 @@ func (p *provider) UpdateUsers(ctx context.Context, data map[string]interface{}, return nil } + +// GetUserByPhoneNumber to get user information from database using phone number +func (p *provider) GetUserByPhoneNumber(ctx context.Context, phoneNumber string) (*models.User, error) { + var user *models.User + query := fmt.Sprintf("SELECT _id, email, email_verified_at, `password`, signup_methods, given_name, family_name, middle_name, nickname, birthdate, phone_number, phone_number_verified_at, picture, roles, revoked_timestamp, is_multi_factor_auth_enabled, created_at, updated_at FROM %s.%s WHERE _id = $1 LIMIT 1", p.scopeName, models.Collections.User) + q, err := p.db.Query(query, &gocb.QueryOptions{ + ScanConsistency: gocb.QueryScanConsistencyRequestPlus, + Context: ctx, + PositionalParameters: []interface{}{phoneNumber}, + }) + if err != nil { + return user, err + } + err = q.One(&user) + if err != nil { + return user, err + } + + return user, nil +}