package tagrepository

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

type accessor struct {
	DB *database.DB
}

type TagAccessor interface {
	Create(tagdomain.TagReq) error
	CreateModel(tagdomain.TagReq) error
	GetAll() ([]tagdomain.Tag, error)
	GetAllModel() ([]database.TagModel, error)
	GetByIDs([]string) ([]tagdomain.Tag, error)
	GetBulks(ids []string) ([]database.TagModel, error)
}

func New(
	db *database.DB,
) TagAccessor {
	return &accessor{db}
}
