package app

import (
	"context"
	"log/slog"
	"strings"
)

// blockServiceEventSubscriptions blocks service-event subscriptions and logs failures.
func blockServiceEventSubscriptions(ctx context.Context, blocker ServiceEventSubscriptionBlocker, logger *slog.Logger, workspaceID string, provider string, connectionRef string) {
	if blocker == nil {
		return
	}

	blocked, err := blocker.BlockServiceEventSubscriptions(ctx, workspaceID, provider, connectionRef)
	if err == nil || logger == nil {
		return
	}

	logger.Warn(
		"block service event subscriptions",
		"workspaceId", strings.TrimSpace(workspaceID),
		"provider", strings.TrimSpace(provider),
		"connectionRef", strings.TrimSpace(connectionRef),
		"blockedCount", blocked,
		"error", err,
	)
}
