openmeter / taxcode /service /service.go
Leon4gr45's picture
Upload folder using huggingface_hub (part 7)
16cdcb7 verified
Raw
History Blame Contribute Delete
738 Bytes
package service
import (
"errors"
"log/slog"
"github.com/openmeterio/openmeter/openmeter/taxcode"
)
var _ taxcode.Service = (*Service)(nil)
type Service struct {
adapter taxcode.Repository
logger *slog.Logger
}
type Config struct {
Adapter taxcode.Repository
Logger *slog.Logger
}
func (c Config) Validate() error {
var errs []error
if c.Adapter == nil {
errs = append(errs, errors.New("adapter is required"))
}
if c.Logger == nil {
errs = append(errs, errors.New("logger is required"))
}
return errors.Join(errs...)
}
func New(config Config) (*Service, error) {
if err := config.Validate(); err != nil {
return nil, err
}
return &Service{
adapter: config.Adapter,
logger: config.Logger,
}, nil
}