1package proto
2
3import "golang.org/x/crypto/ssh"
4
5// User is an interface representing a user.
6type User interface {
7 // Username returns the user's username.
8 Username() string
9 // IsAdmin returns whether the user is an admin.
10 IsAdmin() bool
11 // PublicKeys returns the user's public keys.
12 PublicKeys() []ssh.PublicKey
13}
14
15// UserOptions are options for creating a user.
16type UserOptions struct {
17 // Admin is whether the user is an admin.
18 Admin bool
19 // PublicKeys are the user's public keys.
20 PublicKeys []ssh.PublicKey
21}