gateway

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: Aug 10, 2022 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidFile        error = errors.New("invalid file")
	ErrFailedToUploadFile error = errors.New("failed to upload file")
	ErrFileTooLarge       error = errors.New("file too large")
	ErrFailedToRemoveFile error = errors.New("failed to remove file")
)
View Source
var (
	ErrDataSourceInvalidURL error = errors.New("invalid url")
)
View Source
var ErrFailedToFetchDataFromPluginRegistry = errors.New("failed to fetch data from the plugin registry")
View Source
var (
	ErrFailedToFetchPluiginRepositoryData error = errors.New("failed to fetch repository data")
)

Functions

This section is empty.

Types

type Authenticator

type Authenticator interface {
	UpdateUser(AuthenticatorUpdateUserParam) (AuthenticatorUser, error)
}

type AuthenticatorUpdateUserParam

type AuthenticatorUpdateUserParam struct {
	ID       string
	Name     *string
	Email    *string
	Password *string
}

type AuthenticatorUser

type AuthenticatorUser struct {
	ID            string
	Name          string
	Email         string
	EmailVerified bool
}

type Contact added in v0.6.0

type Contact struct {
	Email string
	Name  string
}

type Container

type Container struct {
	Authenticator    Authenticator
	Mailer           Mailer
	PluginRepository PluginRepository
	DataSource       DataSource
	PluginRegistry   PluginRegistry
	File             File
	Google           Google
}

type DataSource

type DataSource interface {
	Fetch(context.Context, string, id.SceneID) ([]*dataset.Schema, []*dataset.Dataset, error)
	IsURLValid(context.Context, string) bool
}

type File

type File interface {
	ReadAsset(context.Context, string) (io.ReadCloser, error)
	UploadAsset(context.Context, *file.File) (*url.URL, error)
	RemoveAsset(context.Context, *url.URL) error
	ReadPluginFile(context.Context, id.PluginID, string) (io.ReadCloser, error)
	UploadPluginFile(context.Context, id.PluginID, *file.File) error
	RemovePlugin(context.Context, id.PluginID) error
	UploadBuiltScene(context.Context, io.Reader, string) error
	ReadBuiltSceneFile(context.Context, string) (io.ReadCloser, error)
	MoveBuiltScene(context.Context, string, string) error
	RemoveBuiltScene(context.Context, string) error
}

type Google

type Google interface {
	FetchCSV(token string, fileId string, sheetName string) (*io.ReadCloser, error)
}

type Mailer

type Mailer interface {
	SendMail(toContacts []Contact, subject, plainContent, htmlContent string) error
}

type PluginRegistry

type PluginRegistry interface {
	FetchMetadata(ctx context.Context) ([]*plugin.Metadata, error)
}

type PluginRepository

type PluginRepository interface {
	Manifest(context.Context, id.PluginID) (*manifest.Manifest, error)
	Data(context.Context, id.PluginID) (file.Iterator, error)
}

Jump to

Keyboard shortcuts

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