get notification fix

This commit is contained in:
m.nazemi
2026-04-15 15:53:51 +03:30
parent 3d651f8596
commit 7145977250
2 changed files with 26 additions and 3 deletions
+11
View File
@@ -259,6 +259,17 @@ func (h *NotificationHandler) CustomerNotifications(c echo.Context) error {
// Call service
notifications, err := h.service.GetNotifications(c.Request().Context(), form, pagination)
if err != nil {
// Log the actual error for debugging
c.Logger().Error("GetNotifications failed", map[string]interface{}{
"error": err.Error(),
"status": form.Status,
"priority": form.Priority,
"eventType": form.EventType,
"recipient": form.Recipient,
"limit": pagination.Limit,
"offset": pagination.Offset,
"page": (pagination.Offset / pagination.Limit) + 1,
})
return response.InternalServerError(c, "Failed to get notifications")
}
+15 -3
View File
@@ -201,7 +201,7 @@ func (s *notificationService) GetNotifications(ctx context.Context, req *SearchF
Seen: req.Seen,
Priority: req.Priority,
PerPage: pagination.Limit,
Page: pagination.Offset / pagination.Limit,
Page: (pagination.Offset / pagination.Limit) + 1, // Convert 0-based offset to 1-based page number
})
if err != nil {
s.logger.Error("Failed to get notifications", map[string]interface{}{
@@ -233,13 +233,25 @@ func (s *notificationService) GetNotifications(ctx context.Context, req *SearchF
recipient = cust
}
// Handle Link pointer - return nil if empty
var linkPtr *string
if notification.Link != "" {
linkPtr = &notification.Link
}
// Handle Image pointer - return nil if empty
var imagePtr *string
if notification.Image != "" {
imagePtr = &notification.Image
}
notificationsResponse = append(notificationsResponse, &NotificationResponse{
ID: notification.ID,
UserID: notification.UserID,
Recipient: recipient,
Title: notification.Title,
Message: notification.Message,
Link: &notification.Link,
Link: linkPtr,
Priority: notification.Priority,
Type: notification.Type,
EventType: notification.EventType,
@@ -248,7 +260,7 @@ func (s *notificationService) GetNotifications(ctx context.Context, req *SearchF
Metadata: notification.Metadata,
ScheduleAt: notification.ScheduledAt,
IsScheduled: notification.IsScheduled,
Image: &notification.Image,
Image: imagePtr,
Seen: notification.Seen,
SeenAt: notification.SeenAt,
ScheduledAt: notification.ScheduledAt,