package entries import ( "context" "database/sql" "fmt" "git.leonardobishop.net/stash/pkg/database/sqlc" ) type Service interface { CreateEntry(title, kind, url, description string) (*sqlc.Entry, error) GetEntries() ([]sqlc.GetEntriesRow, error) } type service struct { db *sql.DB } func NewService(db *sql.DB) Service { return &service{ db: db, } } func (s *service) CreateEntry(title, kind, url, description string) (*sqlc.Entry, error) { queries := sqlc.New(s.db) entry, err := queries.CreateEntryWithKindName(context.Background(), sqlc.CreateEntryWithKindNameParams{ Title: title, Url: url, Description: description, Name: kind, }) if err != nil { return nil, fmt.Errorf("could not create entry: %w", err) } return &entry, nil } func (s *service) GetEntries() ([]sqlc.GetEntriesRow, error) { queries := sqlc.New(s.db) entries, err := queries.GetEntries(context.Background()) if err != nil { return make([]sqlc.GetEntriesRow, 0), fmt.Errorf("could not get entries: %w", err) } return entries, nil }