1package config
2
3import (
4 "net/mail"
5
6 "github.com/charmbracelet/soft-serve/server/db/types"
7 "golang.org/x/crypto/ssh"
8)
9
10type user struct {
11 user *types.User
12 keys []*types.PublicKey
13}
14
15func (u *user) Name() string {
16 return u.user.Name
17}
18
19func (u *user) Email() *mail.Address {
20 return u.user.Address()
21}
22
23func (u *user) Login() *string {
24 return u.user.Login
25}
26
27func (u *user) Password() *string {
28 return u.user.Password
29}
30
31func (u *user) IsAdmin() bool {
32 return u.user.Admin
33}
34
35func (u *user) PublicKeys() []ssh.PublicKey {
36 ks := make([]ssh.PublicKey, len(u.keys))
37 for i, k := range u.keys {
38 ks[i] = k
39 }
40 return ks
41}