67 lines
2.3 KiB
Go
67 lines
2.3 KiB
Go
package mapper
|
|
|
|
import (
|
|
"github.com/rs/zerolog"
|
|
"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"
|
|
res "go-humas-be/app/module/ppid_datas/response"
|
|
usersRepository "go-humas-be/app/module/users/repository"
|
|
)
|
|
|
|
func PpidDatasResponseMapper(
|
|
log zerolog.Logger,
|
|
ppidDataCategoriesRepo ppidDataCategoriesRepository.PpidDataCategoriesRepository,
|
|
ppidDataFilesRepo ppidDataFilesRepository.PpidDataFilesRepository,
|
|
usersRepo usersRepository.UsersRepository,
|
|
ppidDatasReq *entity.PpidDatas,
|
|
) (ppidDatasRes *res.PpidDatasResponse) {
|
|
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("")
|
|
|
|
ppidDatasRes = &res.PpidDatasResponse{
|
|
ID: ppidDatasReq.ID,
|
|
Title: ppidDatasReq.Title,
|
|
Description: ppidDatasReq.Description,
|
|
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,
|
|
}
|
|
}
|
|
return ppidDatasRes
|
|
}
|