package notification // CreateRequest represents the request to create a notification type NotificationRequest struct { Recipient []string `json:"recipient"` Tender string `json:"tender" valid:"optional,stringlength(1|100)"` Channels []DeliveryChannel `json:"channels" valid:"required"` Type NotificationType `json:"type" valid:"required"` Priority NotificationPriority `json:"priority" valid:"required"` Target TargetAudienceType `json:"target" valid:"required"` Title string `json:"title" valid:"required"` Description string `json:"description" valid:"required"` Link *string `json:"link" valid:"optional,url"` ScheduleAt int64 `json:"schedule_at" valid:"optional"` } // SearchForm represents the form for searching notifications type SearchForm struct { Search *string `query:"q" valid:"optional"` Status NotificationStatus `query:"status" valid:"optional"` SortBy *string `query:"sort_by" valid:"optional"` SortOrder *string `query:"sort_order" valid:"optional"` Limit *int `query:"limit" valid:"optional"` Offset *int `query:"offset" valid:"optional"` }