package models type DeliveryStatus string //@enum:type const ( DeliveryStatusRetry DeliveryStatus = "RETRY" DeliveryStatusSuccess DeliveryStatus = "SUCCESS" DeliveryStatusFailed DeliveryStatus = "FAILED" ) type Delivery struct { DeliveryID DeliveryID `db:"delivery_id" json:"delivery_id"` MessageID MessageID `db:"message_id" json:"message_id"` ReceiverUserID UserID `db:"receiver_user_id" json:"receiver_user_id"` ReceiverClientID ClientID `db:"receiver_client_id" json:"receiver_client_id"` TimestampCreated SCNTime `db:"timestamp_created" json:"timestamp_created"` TimestampFinalized *SCNTime `db:"timestamp_finalized" json:"timestamp_finalized"` Status DeliveryStatus `db:"status" json:"status"` RetryCount int `db:"retry_count" json:"retry_count"` NextDelivery *SCNTime `db:"next_delivery" json:"next_delivery"` FCMMessageID *string `db:"fcm_message_id" json:"fcm_message_id"` } func (d Delivery) MaxRetryCount() int { return 5 }