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-07 17:39:26 +08:00
|
|
|
userrepository "legalgo-BE-go/internal/accessor/user"
|
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 {
|
2025-03-24 15:24:52 +08:00
|
|
|
GetAll(filter newsdomain.Filter) ([]newsdomain.NewsResponse, error)
|
2025-03-06 11:06:06 +08:00
|
|
|
GetBySlug(string) (*newsdomain.News, error)
|
2025-03-24 13:32:05 +08:00
|
|
|
GetByID(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
|
|
|
}
|
|
|
|
|
}
|