package app

import (
	"context"

	"github.com/tidbcloud/AgentTeam/internal/coredb"
)

const (
	providerWatchRateLimitActionCreate          = pullRequestSubscriptionRateLimitActionCreate
	providerWatchRateLimitActionList            = pullRequestSubscriptionRateLimitActionList
	providerWatchRateLimitActionPause           = pullRequestSubscriptionRateLimitActionPause
	providerWatchRateLimitActionResume          = pullRequestSubscriptionRateLimitActionResume
	providerWatchRateLimitActionRemove          = pullRequestSubscriptionRateLimitActionRemove
	providerWatchRateLimitActionWebhookDelivery = pullRequestSubscriptionRateLimitActionWebhookDelivery

	providerWatchRateLimitWindow = pullRequestSubscriptionRateLimitWindow
)

type providerWatchRateLimitEvent = pullRequestSubscriptionRateLimitEvent
type providerWatchRateLimitConfig = pullRequestSubscriptionRateLimitConfig

func recordProviderWatchRateLimitEvent(ctx context.Context, tx coredb.Tx, event providerWatchRateLimitEvent) error {
	return recordPullRequestSubscriptionRateLimitEvent(ctx, tx, event)
}

func providerWatchRateLimitConfigForAction(action string) providerWatchRateLimitConfig {
	return pullRequestSubscriptionRateLimitConfigForAction(action)
}
