1package adminui
2
3import (
4 "context"
5
6 "tug/internal/service/admin"
7 "tug/internal/transport/web"
8)
9
10func (b Backend) AddSSHKey(ctx context.Context, actor, id, key, label string) (web.SSHKey, error) {
11 added, err := b.service.AddSSHKey(ctx, actor, id, key, label)
12 if err != nil {
13 return web.SSHKey{}, mapError(err)
14 }
15 return web.SSHKey(added), nil
16}
17
18func (b Backend) RemoveSSHKey(ctx context.Context, actor, id, keyID string) (web.SSHKey, error) {
19 removed, err := b.service.RemoveSSHKey(ctx, actor, id, keyID)
20 if err != nil {
21 return web.SSHKey{}, mapError(err)
22 }
23 return web.SSHKey(removed), nil
24}
25
26func sshKeys(keys []admin.SSHKey) []web.SSHKey {
27 out := make([]web.SSHKey, 0, len(keys))
28 for _, k := range keys {
29 out = append(out, web.SSHKey(k))
30 }
31 return out
32}