kontenhumas-be/app/module/magazines/mapper/magazines.mapper.go

43 lines
1.6 KiB
Go

package mapper
import (
"netidhub-saas-be/app/database/entity"
magazineFilesMapper "netidhub-saas-be/app/module/magazine_files/mapper"
magazineFilesRepository "netidhub-saas-be/app/module/magazine_files/repository"
magazineFilesResponse "netidhub-saas-be/app/module/magazine_files/response"
res "netidhub-saas-be/app/module/magazines/response"
)
func MagazinesResponseMapper(magazinesReq *entity.Magazines, magazineFilesRepo magazineFilesRepository.MagazineFilesRepository, host string) (magazinesRes *res.MagazinesResponse) {
magazineFiles, _ := magazineFilesRepo.FindByMagazine(magazinesReq.ID)
var magazineFilesArr []*magazineFilesResponse.MagazineFilesResponse
if magazineFiles != nil && len(magazineFiles) > 0 {
for _, result := range magazineFiles {
magazineFilesArr = append(magazineFilesArr, magazineFilesMapper.MagazineFilesResponseMapper(result, host))
}
}
if magazinesReq != nil {
magazinesRes = &res.MagazinesResponse{
ID: magazinesReq.ID,
Title: magazinesReq.Title,
Description: magazinesReq.Description,
ThumbnailPath: magazinesReq.ThumbnailPath,
PageUrl: magazinesReq.PageUrl,
CreatedById: magazinesReq.CreatedById,
StatusId: magazinesReq.StatusId,
IsPublish: magazinesReq.IsPublish,
PublishedAt: magazinesReq.PublishedAt,
IsActive: magazinesReq.IsActive,
CreatedAt: magazinesReq.CreatedAt,
UpdatedAt: magazinesReq.UpdatedAt,
MagazineFiles: magazineFilesArr,
}
if magazinesReq.ThumbnailPath != nil {
magazinesRes.ThumbnailUrl = host + "/magazines/thumbnail/viewer/" + *magazinesReq.ThumbnailName
}
}
return magazinesRes
}