Files
ai-agent/internal/builders/notification_builder.go
T

36 lines
973 B
Go

package builders
import (
"cs-agent/internal/models"
"cs-agent/internal/pkg/dto/response"
"cs-agent/internal/pkg/utils"
)
func BuildNotification(item *models.Notification) *response.NotificationResponse {
if item == nil {
return nil
}
return &response.NotificationResponse{
ID: item.ID,
RecipientUserID: item.RecipientUserID,
Title: item.Title,
Content: item.Content,
NotificationType: item.NotificationType,
BizType: item.BizType,
BizID: item.BizID,
ActionURL: item.ActionURL,
ReadAt: utils.FormatTimePtr(item.ReadAt),
CreatedAt: utils.FormatTime(item.CreatedAt),
}
}
func BuildNotificationList(list []models.Notification) []response.NotificationResponse {
results := make([]response.NotificationResponse, 0, len(list))
for i := range list {
if item := BuildNotification(&list[i]); item != nil {
results = append(results, *item)
}
}
return results
}