diff options
Diffstat (limited to 'pkg/kinds/kinds.go')
| -rw-r--r-- | pkg/kinds/kinds.go | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/pkg/kinds/kinds.go b/pkg/kinds/kinds.go new file mode 100644 index 0000000..401bc7e --- /dev/null +++ b/pkg/kinds/kinds.go @@ -0,0 +1,34 @@ +package kinds + +import ( + "context" + "database/sql" + "fmt" + + "git.leonardobishop.net/stash/pkg/database/sqlc" +) + +type Service interface { + GetKinds() ([]sqlc.Kind, error) +} + +type service struct { + db *sql.DB +} + +func NewService(db *sql.DB) Service { + return &service{ + db: db, + } +} + +func (s *service) GetKinds() ([]sqlc.Kind, error) { + queries := sqlc.New(s.db) + + kinds, err := queries.GetKinds(context.Background()) + if err != nil { + return nil, fmt.Errorf("could not get kinds: %w", err) + } + + return kinds, nil +} |
