-
Notifications
You must be signed in to change notification settings - Fork 0
/
users.go
39 lines (36 loc) · 1.39 KB
/
users.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 v1beta
import (
"database/sql"
iam "github.com/choral-io/gommerce-protobuf-go/iam/v1beta"
sqlpb "github.com/choral-io/gommerce-protobuf-go/types/v1/sqlpb"
"github.com/choral-io/gommerce-server-aio/data/models"
"github.com/choral-io/gommerce-server-core/secure"
"google.golang.org/protobuf/types/known/timestamppb"
)
func toUserPB(u *models.User) *iam.User {
r := &iam.User{
Id: u.Id,
Disabled: u.Disabled,
Approved: u.Approved,
Verified: u.Verified,
Immutable: u.Immutable,
CreatedAt: timestamppb.New(u.CreatedAt),
UpdatedAt: sqlpb.FromNullTime(u.UpdatedAt),
ExpiresAt: sqlpb.FromNullTime(u.ExpiresAt),
DeletedAt: sqlpb.FromNullTime(u.DeletedAt),
FirstLoginTime: sqlpb.FromNullTime(u.FirstLoginTime),
LastActiveTime: sqlpb.FromNullTime(u.LastActiveTime),
Flags: u.Flags,
Attributes: u.Attributes,
MaskedPhoneNumber: sqlpb.FromNullString(sql.NullString{Valid: u.PhoneNumber.Valid, String: secure.MaskString(u.PhoneNumber.String)}),
MaskedEmailAddress: sqlpb.FromNullString(sql.NullString{Valid: u.EmailAddress.Valid, String: secure.MaskString(u.EmailAddress.String)}),
Description: sqlpb.FromNullString(u.Description),
}
if u.Realm != nil {
r.Realm = u.Realm.Name
}
if u.Creator != nil {
r.Creator = toUserPB(u.Creator)
}
return r
}