f19b271642
Rebuild the Gitea Codex review bot from the product contract with a Go HTTP service, durable SQL queue, typed Gitea client, isolated runner, and deployment updates. Co-Authored-By: Claude <noreply@anthropic.com>
25 lines
966 B
Go
25 lines
966 B
Go
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
|
|
}
|