package newssvc import ( categoryrepository "legalgo-BE-go/internal/accessor/category" newsrepository "legalgo-BE-go/internal/accessor/news" tagrepository "legalgo-BE-go/internal/accessor/tag" userrepository "legalgo-BE-go/internal/accessor/user" newsdomain "legalgo-BE-go/internal/domain/news" ) type impl struct { newsRepo newsrepository.News tagRepo tagrepository.TagAccessor categoryRepo categoryrepository.Category userRepo userrepository.User } type News interface { GetAll(filter newsdomain.Filter) ([]newsdomain.NewsResponse, error) GetBySlug(string) (*newsdomain.News, error) GetByID(string) (*newsdomain.News, error) Create(newsdomain.NewsReq, string) error Update(string, newsdomain.NewsUpdate) error Delete(string) error } func New( newsRepo newsrepository.News, tagRepo tagrepository.TagAccessor, categoryRepo categoryrepository.Category, userRepo userrepository.User, ) News { return &impl{ newsRepo, tagRepo, categoryRepo, userRepo, } }