39 lines
934 B
Go
Raw Normal View History

2025-03-02 04:36:17 +08:00
package newssvc
import (
categoryrepository "legalgo-BE-go/internal/accessor/category"
newsrepository "legalgo-BE-go/internal/accessor/news"
tagrepository "legalgo-BE-go/internal/accessor/tag"
2025-03-06 23:55:46 +08:00
userrepository "legalgo-BE-go/internal/accessor/user_repository"
2025-03-02 04:36:17 +08:00
newsdomain "legalgo-BE-go/internal/domain/news"
)
type impl struct {
newsRepo newsrepository.News
tagRepo tagrepository.TagAccessor
categoryRepo categoryrepository.Category
2025-03-06 23:55:46 +08:00
userRepo userrepository.User
2025-03-02 04:36:17 +08:00
}
type News interface {
GetAll() ([]newsdomain.News, error)
GetBySlug(string) (*newsdomain.News, error)
2025-03-02 04:36:17 +08:00
Create(newsdomain.NewsReq, string) error
2025-03-06 23:55:46 +08:00
Update(string, newsdomain.NewsUpdate) error
2025-03-05 23:55:41 +08:00
Delete(string) error
2025-03-02 04:36:17 +08:00
}
func New(
newsRepo newsrepository.News,
tagRepo tagrepository.TagAccessor,
categoryRepo categoryrepository.Category,
2025-03-06 23:55:46 +08:00
userRepo userrepository.User,
2025-03-02 04:36:17 +08:00
) News {
return &impl{
newsRepo,
tagRepo,
categoryRepo,
2025-03-06 23:55:46 +08:00
userRepo,
2025-03-02 04:36:17 +08:00
}
}