package newssvc import ( newsdomain "legalgo-BE-go/internal/domain/news" "strings" ) func (i *impl) GetAll(categoryCode, tagCodes string) ([]newsdomain.News, error) { var ( category string err error ) tags := []string{} news := []newsdomain.News{} tagCodeArr := strings.Split(tagCodes, " ") if len(tagCodeArr) > 0 && tagCodeArr[0] != "" { tags, err = i.tagRepo.GetIDsByCodes(tagCodeArr) if err != nil { return news, err } if len(tags) < 1 { return news, nil } } if categoryCode != "" { category, err = i.categoryRepo.GetIDByCode(categoryCode) if err != nil { return news, err } if category == "" { return news, nil } } filter := newsdomain.NewsFilter{ Tags: tags, Category: category, } return i.newsRepo.GetAll(filter) }