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}