Documentation
¶
Index ¶
- type NotificationRepository
- func (r *NotificationRepository) Create(ctx context.Context, notif *models.Notification) *errors.Error
- func (r *NotificationRepository) GetByCorrelationID(ctx context.Context, correlationID string) (*models.Notification, *errors.Error)
- func (r *NotificationRepository) GetByID(ctx context.Context, id string) (*models.Notification, *errors.Error)
- func (r *NotificationRepository) GetQueuedNotifications(ctx context.Context, limit int) ([]*models.Notification, *errors.Error)
- func (r *NotificationRepository) GetStats(ctx context.Context) (*models.NotificationStats, *errors.Error)
- func (r *NotificationRepository) IncrementRetryCount(ctx context.Context, id string) *errors.Error
- func (r *NotificationRepository) List(ctx context.Context, req *models.ListNotificationsRequest) ([]*models.Notification, int64, *errors.Error)
- func (r *NotificationRepository) UpdateStatus(ctx context.Context, id string, status models.NotificationStatus, ...) *errors.Error
- type TemplateRepository
- func (r *TemplateRepository) Create(ctx context.Context, template *models.NotificationTemplate) *errors.Error
- func (r *TemplateRepository) Delete(ctx context.Context, id string) *errors.Error
- func (r *TemplateRepository) GetByID(ctx context.Context, id string) (*models.NotificationTemplate, *errors.Error)
- func (r *TemplateRepository) GetByName(ctx context.Context, name string) (*models.NotificationTemplate, *errors.Error)
- func (r *TemplateRepository) List(ctx context.Context, channel *models.NotificationChannel) ([]*models.NotificationTemplate, *errors.Error)
- func (r *TemplateRepository) Update(ctx context.Context, id string, req *models.UpdateTemplateRequest) *errors.Error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type NotificationRepository ¶
type NotificationRepository struct {
// contains filtered or unexported fields
}
NotificationRepository handles database operations for notifications.
func NewNotificationRepository ¶
func NewNotificationRepository(db *sql.DB) *NotificationRepository
NewNotificationRepository creates a new notification repository.
func (*NotificationRepository) Create ¶
func (r *NotificationRepository) Create(ctx context.Context, notif *models.Notification) *errors.Error
Create creates a new notification.
func (*NotificationRepository) GetByCorrelationID ¶
func (r *NotificationRepository) GetByCorrelationID(ctx context.Context, correlationID string) (*models.Notification, *errors.Error)
GetByCorrelationID retrieves a notification by correlation ID (for idempotency check).
func (*NotificationRepository) GetByID ¶
func (r *NotificationRepository) GetByID(ctx context.Context, id string) (*models.Notification, *errors.Error)
GetByID retrieves a notification by ID.
func (*NotificationRepository) GetQueuedNotifications ¶
func (r *NotificationRepository) GetQueuedNotifications(ctx context.Context, limit int) ([]*models.Notification, *errors.Error)
GetQueuedNotifications retrieves queued notifications ordered by priority and creation time.
func (*NotificationRepository) GetStats ¶
func (r *NotificationRepository) GetStats(ctx context.Context) (*models.NotificationStats, *errors.Error)
GetStats retrieves notification statistics.
func (*NotificationRepository) IncrementRetryCount ¶
IncrementRetryCount increments the retry count for a notification.
func (*NotificationRepository) List ¶
func (r *NotificationRepository) List(ctx context.Context, req *models.ListNotificationsRequest) ([]*models.Notification, int64, *errors.Error)
List retrieves notifications with optional filters.
func (*NotificationRepository) UpdateStatus ¶
func (r *NotificationRepository) UpdateStatus(ctx context.Context, id string, status models.NotificationStatus, failureReason *string) *errors.Error
UpdateStatus updates the status of a notification.
type TemplateRepository ¶
type TemplateRepository struct {
// contains filtered or unexported fields
}
TemplateRepository handles database operations for notification templates.
func NewTemplateRepository ¶
func NewTemplateRepository(db *sql.DB) *TemplateRepository
NewTemplateRepository creates a new template repository.
func (*TemplateRepository) Create ¶
func (r *TemplateRepository) Create(ctx context.Context, template *models.NotificationTemplate) *errors.Error
Create creates a new notification template.
func (*TemplateRepository) GetByID ¶
func (r *TemplateRepository) GetByID(ctx context.Context, id string) (*models.NotificationTemplate, *errors.Error)
GetByID retrieves a template by ID.
func (*TemplateRepository) GetByName ¶
func (r *TemplateRepository) GetByName(ctx context.Context, name string) (*models.NotificationTemplate, *errors.Error)
GetByName retrieves a template by name.
func (*TemplateRepository) List ¶
func (r *TemplateRepository) List(ctx context.Context, channel *models.NotificationChannel) ([]*models.NotificationTemplate, *errors.Error)
List retrieves all templates, optionally filtered by channel.
func (*TemplateRepository) Update ¶
func (r *TemplateRepository) Update(ctx context.Context, id string, req *models.UpdateTemplateRequest) *errors.Error
Update updates a notification template.