dcbot/internal/service/choice.go
Dawid Wysokiński d983f5ae08
All checks were successful
continuous-integration/drone/push Build is passing
feat: add a new service - Choice (#22)
Reviewed-on: #22
2022-10-23 06:35:00 +00:00

34 lines
623 B
Go

package service
import (
"context"
"fmt"
"gitea.dwysokinski.me/twhelp/dcbot/internal/domain"
)
type Choice struct {
client TWHelpClient
}
func NewChoice(client TWHelpClient) *Choice {
return &Choice{client: client}
}
func (c *Choice) Versions(ctx context.Context) ([]domain.Choice, error) {
versions, err := c.client.ListVersions(ctx)
if err != nil {
return nil, fmt.Errorf("TWHelpClient.ListVersions: %w", err)
}
choices := make([]domain.Choice, 0, len(versions))
for _, v := range versions {
choices = append(choices, domain.Choice{
Name: v.Host,
Value: v.Code,
})
}
return choices, nil
}