package tagsvc

import (
	tagrepository "legalgo-BE-go/internal/accessor/tag"
	tagdomain "legalgo-BE-go/internal/domain/tag"
)

type impl struct {
	tagRepo tagrepository.TagAccessor
}

type Tag interface {
	Create(tagdomain.TagReq) error
	GetAll() ([]tagdomain.Tag, error)
	GetAllModel() ([]tagdomain.Tag, error)
	Update(string, tagdomain.TagReq) error
	Delete(string) error
}

func New(
	tagRepo tagrepository.TagAccessor,
) Tag {
	return &impl{tagRepo}
}
