feat: update article all response

This commit is contained in:
hanif salafi 2024-11-04 08:12:22 +07:00
parent fc25e7c571
commit 0aac3f8a98
2 changed files with 28 additions and 12 deletions

View File

@ -3,6 +3,7 @@ package mapper
import (
"github.com/rs/zerolog"
"go-humas-be/app/database/entity"
articleCategoriesRepository "go-humas-be/app/module/article_categories/repository"
articleFilesMapper "go-humas-be/app/module/article_files/mapper"
articleFilesRepository "go-humas-be/app/module/article_files/repository"
articleFilesResponse "go-humas-be/app/module/article_files/response"
@ -13,6 +14,7 @@ import (
func ArticlesResponseMapper(
log zerolog.Logger,
articlesReq *entity.Articles,
articleCategoriesRepo articleCategoriesRepository.ArticleCategoriesRepository,
articleFilesRepo articleFilesRepository.ArticleFilesRepository,
usersRepo usersRepository.UsersRepository,
) (articlesRes *res.ArticlesResponse) {
@ -29,6 +31,14 @@ func ArticlesResponseMapper(
}
}
categoryName := ""
if articlesReq.CategoryId != 0 {
findCategory, _ := articleCategoriesRepo.FindOne(uint(articlesReq.CategoryId))
if findCategory != nil {
categoryName = findCategory.Title
}
}
articleFiles, _ := articleFilesRepo.FindByArticle(articlesReq.ID)
var articleFilesArr []*articleFilesResponse.ArticleFilesResponse
if articleFiles != nil && len(articleFiles) > 0 {
@ -47,6 +57,8 @@ func ArticlesResponseMapper(
TypeId: articlesReq.TypeId,
Tags: articlesReq.Tags,
ThumbnailUrl: thumbnailUrl,
CategoryId: articlesReq.CategoryId,
CategoryName: categoryName,
PageUrl: articlesReq.PageUrl,
CreatedById: articlesReq.CreatedById,
CreatedByName: &createdByName,

View File

@ -6,6 +6,7 @@ import (
"github.com/minio/minio-go/v7"
"github.com/rs/zerolog"
"go-humas-be/app/database/entity"
articleCategoriesRepository "go-humas-be/app/module/article_categories/repository"
articleFilesRepository "go-humas-be/app/module/article_files/repository"
"go-humas-be/app/module/articles/mapper"
"go-humas-be/app/module/articles/repository"
@ -28,6 +29,7 @@ import (
// ArticlesService
type articlesService struct {
Repo repository.ArticlesRepository
ArticleCategoriesRepo articleCategoriesRepository.ArticleCategoriesRepository
ArticleFilesRepo articleFilesRepository.ArticleFilesRepository
Log zerolog.Logger
UsersRepo usersRepository.UsersRepository
@ -48,6 +50,7 @@ type ArticlesService interface {
// NewArticlesService init ArticlesService
func NewArticlesService(
repo repository.ArticlesRepository,
articleCategoriesRepo articleCategoriesRepository.ArticleCategoriesRepository,
articleFilesRepo articleFilesRepository.ArticleFilesRepository,
log zerolog.Logger,
usersRepo usersRepository.UsersRepository,
@ -56,6 +59,7 @@ func NewArticlesService(
return &articlesService{
Repo: repo,
ArticleCategoriesRepo: articleCategoriesRepo,
ArticleFilesRepo: articleFilesRepo,
Log: log,
UsersRepo: usersRepo,
@ -75,7 +79,7 @@ func (_i *articlesService) All(req request.ArticlesQueryRequest) (articless []*r
Interface("results", results).Msg("")
for _, result := range results {
articleRes := mapper.ArticlesResponseMapper(_i.Log, result, _i.ArticleFilesRepo, _i.UsersRepo)
articleRes := mapper.ArticlesResponseMapper(_i.Log, result, _i.ArticleCategoriesRepo, _i.ArticleFilesRepo, _i.UsersRepo)
articless = append(articless, articleRes)
}
@ -88,7 +92,7 @@ func (_i *articlesService) Show(id uint) (articles *response.ArticlesResponse, e
return nil, err
}
return mapper.ArticlesResponseMapper(_i.Log, result, _i.ArticleFilesRepo, _i.UsersRepo), nil
return mapper.ArticlesResponseMapper(_i.Log, result, _i.ArticleCategoriesRepo, _i.ArticleFilesRepo, _i.UsersRepo), nil
}
func (_i *articlesService) Save(req request.ArticlesCreateRequest, authToken string) (articles *entity.Articles, err error) {