package store import ( "context" "time" "gitea-codex-bot/internal/domain" ) type Store interface { Migrate(context.Context) error InsertWebhookEvent(context.Context, domain.WebhookEvent) (bool, error) CooldownRemaining(context.Context, string, int, time.Duration) (int, error) EnqueueJob(context.Context, domain.WebhookEvent, domain.ParsedCommand) (domain.Job, error) ClaimNextJob(context.Context, time.Time, time.Duration, int) (*domain.Job, *domain.ReviewRun, error) FinishJob(context.Context, int64, int64, bool, bool, *domain.ReviewResult, error) error LatestFailedJob(context.Context) (*domain.Job, error) LatestJob(context.Context) (*domain.Job, error) LatestSuccessfulReview(context.Context, string, int) (*domain.Job, error) PendingCount(context.Context, string, int) (int, error) UpsertBotComment(context.Context, string, int, string, int64, string) error BotCommentID(context.Context, string, int, string) (int64, error) Close() error }