package categoryrepository

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

type accessor struct {
	DB *database.DB
}

type Category interface {
	Create(categorydomain.CategoryReq) error
	CreateModel(categorydomain.CategoryReq) error

	GetAll() ([]categorydomain.Category, error)
	GetAllModel() ([]database.CategoryModel, error)

	GetByIDs([]string) ([]categorydomain.Category, error)
	GetBulks([]string) ([]database.CategoryModel, error)
}

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