integrations

package
v0.4.0-alpha.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 8, 2024 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuthError

type AuthError interface {
	error

	StatusCode() int
}

func NewAuthError

func NewAuthError(err error, statusCode int) AuthError

type Integration

type Integration interface {
	GetId() string
	Actions() []string
	ActionHandler(action string) any

	// GetWebhooks returns a list of webhooks that the integration supports.
	GetWebhooks() []IntegrationWebhook
}

type IntegrationWebhook

type IntegrationWebhook interface {
	// Returns the method for this webhook (GET, POST, etc)
	GetMethod() string

	// Returns the default API paths that this webhook listens on.
	GetDefaultPaths() string

	// ValidatePayload validates the payload of the webhook request. Different webhooks have different
	// signature validation strategies, so this method is implemented by each integration differently.
	ValidatePayload(r *http.Request) AuthError

	// Returns the action that this webhook triggers.
	GetAction() types.Action

	// Returns the data that was sent as part of this webhook.
	GetData(r *http.Request) (map[string]interface{}, error)
}

Directories

Path Synopsis
shared

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL