Documentation
¶
Index ¶
- Variables
- func DiscardRequest(r *http.Request)
- func NewOpenApiDefinitionHandler(baseURL string) (http.HandlerFunc, error)
- func RegisterGithubWebhookHandler(router chi.Router, secretKey []byte, ws *service.WebhookService)
- func RegisterGitlabWebhookHandler(router chi.Router, token string, ws *service.WebhookService)
- func RegisterHealthRoute(router chi.Router)
- func RegisterOpenAPIDefinitionRoute(baseURL string, router chi.Router) error
- type APIServer
- func (a *APIServer) DeleteRunV1(_ context.Context, req openapi.DeleteRunV1RequestObject) (openapi.DeleteRunV1ResponseObject, error)
- func (a *APIServer) GetRunV1(_ context.Context, req openapi.GetRunV1RequestObject) (openapi.GetRunV1ResponseObject, error)
- func (a *APIServer) GetTaskV1(_ context.Context, request openapi.GetTaskV1RequestObject) (openapi.GetTaskV1ResponseObject, error)
- func (a *APIServer) GetWorkV1(ctx context.Context, _ openapi.GetWorkV1RequestObject) (openapi.GetWorkV1ResponseObject, error)
- func (a *APIServer) ListRunsV1(ctx context.Context, request openapi.ListRunsV1RequestObject) (openapi.ListRunsV1ResponseObject, error)
- func (a *APIServer) ListTaskRecentTaskResultsV1(ctx context.Context, request openapi.ListTaskRecentTaskResultsV1RequestObject) (openapi.ListTaskRecentTaskResultsV1ResponseObject, error)
- func (a *APIServer) ListTaskResultsV1(ctx context.Context, request openapi.ListTaskResultsV1RequestObject) (openapi.ListTaskResultsV1ResponseObject, error)
- func (a *APIServer) ListTasksV1(_ context.Context, request openapi.ListTasksV1RequestObject) (openapi.ListTasksV1ResponseObject, error)
- func (a *APIServer) ReportWorkV1(_ context.Context, request openapi.ReportWorkV1RequestObject) (openapi.ReportWorkV1ResponseObject, error)
- func (a *APIServer) ScheduleRunV1(_ context.Context, req openapi.ScheduleRunV1RequestObject) (openapi.ScheduleRunV1ResponseObject, error)
- func (a *APIServer) Stop(ctx context.Context, checkInterval time.Duration) error
- type GithubWebhookHandler
- type GitlabWebhookHandler
- type NewAPIServerOptions
Constants ¶
This section is empty.
Variables ¶
var (
ErrInternal = errors.New("internal server error")
)
Functions ¶
func DiscardRequest ¶ added in v0.16.0
func NewOpenApiDefinitionHandler ¶
func NewOpenApiDefinitionHandler(baseURL string) (http.HandlerFunc, error)
func RegisterGithubWebhookHandler ¶ added in v0.16.0
func RegisterGithubWebhookHandler(router chi.Router, secretKey []byte, ws *service.WebhookService)
RegisterGithubWebhookHandler registers the handler with a github.com/go-chi/chi/v5.Router.
func RegisterGitlabWebhookHandler ¶ added in v0.16.0
func RegisterGitlabWebhookHandler(router chi.Router, token string, ws *service.WebhookService)
RegisterGitlabWebhookHandler registers the handler with a github.com/go-chi/chi/v5.Router.
func RegisterHealthRoute ¶ added in v0.12.0
func RegisterHealthRoute(router chi.Router)
Types ¶
type APIServer ¶ added in v0.16.0
type APIServer struct { Clock clock.Clock TaskService *service.TaskService WorkerService *service.WorkerService }
APIServer provides the implementation of the OpenAPI endpoints.
func RegisterAPIServer ¶ added in v0.16.0
func RegisterAPIServer(options *NewAPIServerOptions) (http.Handler, *APIServer)
RegisterAPIServer registers the OpenAPI implementation with the router.
func (*APIServer) DeleteRunV1 ¶ added in v0.21.0
func (a *APIServer) DeleteRunV1(_ context.Context, req openapi.DeleteRunV1RequestObject) (openapi.DeleteRunV1ResponseObject, error)
DeleteRunV1 implements github.com/wndhydrnt/saturn-bot/pkg/server/api/openapi.ServerInterface.
func (*APIServer) GetRunV1 ¶ added in v0.18.0
func (a *APIServer) GetRunV1(_ context.Context, req openapi.GetRunV1RequestObject) (openapi.GetRunV1ResponseObject, error)
GetRunV1 implements openapi.ServerInterface.
func (*APIServer) GetTaskV1 ¶ added in v0.16.0
func (a *APIServer) GetTaskV1(_ context.Context, request openapi.GetTaskV1RequestObject) (openapi.GetTaskV1ResponseObject, error)
GetTaskV1 implements openapi.ServerInterface.
func (*APIServer) GetWorkV1 ¶ added in v0.16.0
func (a *APIServer) GetWorkV1(ctx context.Context, _ openapi.GetWorkV1RequestObject) (openapi.GetWorkV1ResponseObject, error)
func (*APIServer) ListRunsV1 ¶ added in v0.16.0
func (a *APIServer) ListRunsV1(ctx context.Context, request openapi.ListRunsV1RequestObject) (openapi.ListRunsV1ResponseObject, error)
ListRunsV1 implements github.com/wndhydrnt/saturn-bot/pkg/server/api/openapi.ServerInterface.
func (*APIServer) ListTaskRecentTaskResultsV1 ¶ added in v0.20.0
func (a *APIServer) ListTaskRecentTaskResultsV1(ctx context.Context, request openapi.ListTaskRecentTaskResultsV1RequestObject) (openapi.ListTaskRecentTaskResultsV1ResponseObject, error)
ListTaskRecentTaskResultsV1 lists recent run results of a task by repository.
func (*APIServer) ListTaskResultsV1 ¶ added in v0.18.0
func (a *APIServer) ListTaskResultsV1(ctx context.Context, request openapi.ListTaskResultsV1RequestObject) (openapi.ListTaskResultsV1ResponseObject, error)
ListTaskResultsV1 implements openapi.ServerInterface.
func (*APIServer) ListTasksV1 ¶ added in v0.16.0
func (a *APIServer) ListTasksV1(_ context.Context, request openapi.ListTasksV1RequestObject) (openapi.ListTasksV1ResponseObject, error)
ListTasksV1 implements openapi.ServerInterface.
func (*APIServer) ReportWorkV1 ¶ added in v0.16.0
func (a *APIServer) ReportWorkV1(_ context.Context, request openapi.ReportWorkV1RequestObject) (openapi.ReportWorkV1ResponseObject, error)
func (*APIServer) ScheduleRunV1 ¶ added in v0.16.0
func (a *APIServer) ScheduleRunV1(_ context.Context, req openapi.ScheduleRunV1RequestObject) (openapi.ScheduleRunV1ResponseObject, error)
ScheduleRunV1 implements github.com/wndhydrnt/saturn-bot/pkg/server/api/openapi.ServerInterface.
type GithubWebhookHandler ¶ added in v0.16.0
type GithubWebhookHandler struct { SecretKey []byte WebhookService *service.WebhookService }
GithubWebhookHandler handles webhooks sent by GitHub.
func (*GithubWebhookHandler) HandleWebhook ¶ added in v0.16.0
func (h *GithubWebhookHandler) HandleWebhook(w http.ResponseWriter, r *http.Request)
HandleWebhook parses and validates a webhook sent by GitHub. If the webhook is valid, it sends the webhook on for processing.
type GitlabWebhookHandler ¶ added in v0.16.0
type GitlabWebhookHandler struct { SecretToken string WebhookService *service.WebhookService }
GitlabWebhookHandler handles webhooks sent by GitLab.
func (*GitlabWebhookHandler) HandleWebhook ¶ added in v0.16.0
func (gh *GitlabWebhookHandler) HandleWebhook(w http.ResponseWriter, r *http.Request)
HandleWebhook parses and validates a webhook sent by GitLab. If the webhook is valid, it sends the webhook on for processing. A webhook is considered valid if: * The secret token from the request matches the configured secret token. * The HTTP method is POST.
type NewAPIServerOptions ¶ added in v0.16.0
type NewAPIServerOptions struct { ApiKey string Clock clock.Clock Router chi.Router TaskService *service.TaskService WorkerService *service.WorkerService }
NewAPIServerOptions are passed to RegisterAPIServer.