jaecoo-be/app/module/campaigns/mapper/campaigns.mapper.go

46 lines
1.5 KiB
Go
Raw Normal View History

2025-11-15 15:46:24 +00:00
package mapper
import (
2025-11-15 15:59:30 +00:00
"jaecoo-be/app/database/entity"
res "jaecoo-be/app/module/campaigns/response"
2025-11-15 15:46:24 +00:00
)
func CampaignsResponseMapper(campaignsReq *entity.Campaigns, host string) (campaignsRes *res.CampaignsResponse) {
if campaignsReq != nil {
campaignsRes = &res.CampaignsResponse{
2025-11-15 15:59:30 +00:00
ID: campaignsReq.ID,
Title: campaignsReq.Title,
CampaignTypeID: campaignsReq.CampaignTypeID,
StartDate: campaignsReq.StartDate,
EndDate: campaignsReq.EndDate,
MediaTypeSelected: campaignsReq.MediaTypeSelected,
MediaItemSelected: campaignsReq.MediaItemSelected,
Purpose: campaignsReq.Purpose,
MediaPromote: campaignsReq.MediaPromote,
Description: campaignsReq.Description,
CreatorID: campaignsReq.CreatorID,
Status: campaignsReq.Status,
IsActive: campaignsReq.IsActive,
CreatedAt: campaignsReq.CreatedAt,
UpdatedAt: campaignsReq.UpdatedAt,
2025-11-15 15:46:24 +00:00
}
if campaignsReq.CampaignType.ID > 0 {
campaignsRes.CampaignType = &res.CampaignTypeInfo{
ID: campaignsReq.CampaignType.ID,
Name: campaignsReq.CampaignType.Name,
Description: campaignsReq.CampaignType.Description,
}
}
if campaignsReq.Creator.ID > 0 {
campaignsRes.Creator = &res.CreatorInfo{
ID: campaignsReq.Creator.ID,
Fullname: campaignsReq.Creator.Fullname,
Email: campaignsReq.Creator.Email,
}
}
}
return campaignsRes
}