medol-be/app/module/ppid_datas/mapper/ppid_datas.mapper.go

68 lines
2.3 KiB
Go
Raw Normal View History

2024-03-05 19:15:53 +00:00
package mapper
import (
"github.com/rs/zerolog"
2024-03-05 19:15:53 +00:00
"go-humas-be/app/database/entity"
ppidDataCategoriesRepository "go-humas-be/app/module/ppid_data_categories/repository"
ppidDataFilesMapper "go-humas-be/app/module/ppid_data_files/mapper"
ppidDataFilesRepository "go-humas-be/app/module/ppid_data_files/repository"
ppidDataFilesResponse "go-humas-be/app/module/ppid_data_files/response"
2024-03-05 19:15:53 +00:00
res "go-humas-be/app/module/ppid_datas/response"
usersRepository "go-humas-be/app/module/users/repository"
2024-03-05 19:15:53 +00:00
)
func PpidDatasResponseMapper(
log zerolog.Logger,
ppidDataCategoriesRepo ppidDataCategoriesRepository.PpidDataCategoriesRepository,
ppidDataFilesRepo ppidDataFilesRepository.PpidDataFilesRepository,
usersRepo usersRepository.UsersRepository,
ppidDatasReq *entity.PpidDatas,
) (ppidDatasRes *res.PpidDatasResponse) {
2024-03-05 19:15:53 +00:00
if ppidDatasReq != nil {
findCategory, _ := ppidDataCategoriesRepo.FindOne(ppidDatasReq.CategoryId)
categoryName := ""
if findCategory != nil {
categoryName = findCategory.Title
}
findUser, _ := usersRepo.FindOne(*ppidDatasReq.CreatedById)
createdByName := ""
if findUser != nil {
createdByName = findUser.Fullname
}
ppidDataFiles, _ := ppidDataFilesRepo.FindByPpidData(ppidDatasReq.ID)
var ppidDataFilesArr []*ppidDataFilesResponse.PpidDataFilesResponse
if len(ppidDataFiles) > 0 {
for _, result := range ppidDataFiles {
ppidDataFilesArr = append(ppidDataFilesArr, ppidDataFilesMapper.PpidDataFilesResponseMapper(result))
}
}
//log.Info().Str("timestamp", time.Now().
// Format(time.RFC3339)).Str("Service:PpidDatasResponseMapper", "UserInfo:PpidData").
// Interface("payload", ppidDataFiles).Msg("")
2024-03-05 19:15:53 +00:00
ppidDatasRes = &res.PpidDatasResponse{
ID: ppidDatasReq.ID,
Title: ppidDatasReq.Title,
Description: ppidDatasReq.Description,
2024-04-30 03:53:50 +00:00
Slug: ppidDatasReq.Slug,
2024-03-05 19:15:53 +00:00
CategoryId: ppidDatasReq.CategoryId,
CategoryName: &categoryName,
CreatedById: ppidDatasReq.CreatedById,
CreatedByName: &createdByName,
StatusId: ppidDatasReq.StatusId,
IsPublish: ppidDatasReq.IsPublish,
PublishedAt: ppidDatasReq.PublishedAt,
IsActive: ppidDatasReq.IsActive,
CreatedAt: ppidDatasReq.CreatedAt,
UpdatedAt: ppidDatasReq.UpdatedAt,
PpidDataFiles: ppidDataFilesArr,
2024-03-05 19:15:53 +00:00
}
}
return ppidDatasRes
}