package categorysvc

import (
	categoryrepository "legalgo-BE-go/internal/accessor/category"
	categorydomain "legalgo-BE-go/internal/domain/category"
)

type impl struct {
	categoryRepo categoryrepository.Category
}

type Category interface {
	Create(categorydomain.CategoryReq) error
	GetAll() ([]categorydomain.Category, error)
	Update(string, categorydomain.CategoryReq) error
	Delete(string) error
}

func New(
	categoryRepo categoryrepository.Category,
) Category {
	return &impl{
		categoryRepo: categoryRepo,
	}
}
