package emailcli import ( "context" "fmt" ) func (c *Client) GetQueueStatus(ctx context.Context) (*QueueStatusData, error) { return get[*QueueStatusData](c, ctx, "/api/v1/queue/status", nil) } func (c *Client) ListQueuePending(ctx context.Context, q QueuePendingQuery) (*PaginationResult[MailLog], error) { params := mergeParams(paginationParams(q.PaginationQuery), map[string]interface{}{ "channel_id": q.ChannelID, "user_id": q.UserID, "account_id": q.AccountID, }) return get[*PaginationResult[MailLog]](c, ctx, "/api/v1/queue/pending", buildQuery(params)) } func (c *Client) CancelQueueItem(ctx context.Context, mailLogID uint) error { _, err := post[any](c, ctx, fmt.Sprintf("/api/v1/queue/%d/cancel", mailLogID), nil) return err } func (c *Client) RetryQueueItem(ctx context.Context, mailLogID uint) error { _, err := post[any](c, ctx, fmt.Sprintf("/api/v1/queue/%d/retry", mailLogID), nil) return err }