/
read_identity.go
39 lines (36 loc) · 1.28 KB
/
read_identity.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package identity_controllers
import (
"github.com/SbstnErhrdt/identity/identity_models"
"github.com/google/uuid"
)
// GetIdentityByEmail retrieves the identity from the database
func GetIdentityByEmail(service IdentityService, email string) (result *identity_models.Identity, err error) {
email = SanitizeEmail(email)
// Load identity from database
identity := identity_models.Identity{}
err = service.GetSQLClient().
Limit(1).
Where("email = ?", email).
Where("deleted_at is NULL"). // only users that are not deleted
First(&identity).Error
if err != nil {
service.GetLogger().With("err", err).With("email", email).Error("could not find user with email")
return nil, ErrNoUserFound
}
return &identity, nil
}
// GetIdentityByUID retrieves the identity from the database
func GetIdentityByUID(service IdentityService, uid uuid.UUID) (result *identity_models.Identity, err error) {
// Load identity from database
identity := identity_models.Identity{}
err = service.GetSQLClient().
Limit(1).
Where("uid = ?", uid.String()).
Where("deleted_at is NULL"). // only users that are not deleted
First(&identity).Error
if err != nil {
service.GetLogger().With("err", err).With("uid", uid).Error("could not find user with uid")
return nil, ErrNoUserFound
}
return &identity, nil
}