fix: arangodb get one queries

This commit is contained in:
Lakhan Samani
2021-12-20 17:33:11 +05:30
parent 1398762e1d
commit bedc3d0b50
17 changed files with 110 additions and 73 deletions

View File

@@ -148,7 +148,7 @@ func (mgr *manager) GetUserByEmail(email string) (User, error) {
}
if IsArangoDB {
query := fmt.Sprintf("FOR d in %s FILTER d.email == @email LIMIT 1 RETURN d", Collections.User)
query := fmt.Sprintf("FOR d in %s FILTER d.email == @email RETURN d", Collections.User)
bindVars := map[string]interface{}{
"email": email,
}
@@ -160,10 +160,14 @@ func (mgr *manager) GetUserByEmail(email string) (User, error) {
defer cursor.Close()
for {
_, err := cursor.ReadDocument(nil, &user)
if driver.IsNoMoreDocuments(err) {
if !cursor.HasMore() {
if user.Key == "" {
return user, fmt.Errorf("user not found")
}
break
} else if err != nil {
}
_, err := cursor.ReadDocument(nil, &user)
if err != nil {
return user, err
}
}
@@ -201,10 +205,14 @@ func (mgr *manager) GetUserByID(id string) (User, error) {
}
for {
_, err := cursor.ReadDocument(nil, &user)
if driver.IsNoMoreDocuments(err) {
if !cursor.HasMore() {
if user.Key == "" {
return user, fmt.Errorf("user not found")
}
break
} else if err != nil {
}
_, err := cursor.ReadDocument(nil, &user)
if err != nil {
return user, err
}
}

View File

@@ -120,11 +120,14 @@ func (mgr *manager) GetVerificationByToken(token string) (VerificationRequest, e
defer cursor.Close()
for {
_, err := cursor.ReadDocument(nil, &verification)
if driver.IsNoMoreDocuments(err) {
if !cursor.HasMore() {
if verification.Key == "" {
return verification, fmt.Errorf("verification request not found")
}
break
} else if err != nil {
}
_, err := cursor.ReadDocument(nil, &verification)
if err != nil {
return verification, err
}
}
@@ -157,14 +160,16 @@ func (mgr *manager) GetVerificationByEmail(email string) (VerificationRequest, e
defer cursor.Close()
for {
_, err := cursor.ReadDocument(nil, &verification)
if driver.IsNoMoreDocuments(err) {
if !cursor.HasMore() {
if verification.Key == "" {
return verification, fmt.Errorf("verification request not found")
}
break
} else if err != nil {
}
_, err := cursor.ReadDocument(nil, &verification)
if err != nil {
return verification, err
}
}
}