handler

package
v0.0.0-...-55babe7 Latest Latest
Warning

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

Go to latest
Published: Jul 3, 2023 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Invoke

func Invoke() fx.Option

func NewRouter

func NewRouter(lc fx.Lifecycle, server *http.Server, providerHandler *Provider, methodHandler *Method, orquestratorHandler *Orquestrator)

NewRouter creates a new router

func Providers

func Providers() fx.Option

Types

type CallRequest

type CallRequest struct {
	Method string `json:"method"`
	Params []any  `json:"params"`
}

type Method

type Method struct {
	// contains filtered or unexported fields
}

func NewMethod

func NewMethod(cfg *config.Config, log *logger.Logger, service service.MethodI) *Method

func (*Method) Create

func (m *Method) Create(pctx echo.Context) (err error)

Create godoc @Summary Create a new method @Description Create a new method @Tags method @Accept json @Produce json @Param payload body model.Method true "payload" @Success 200 {object} model.Method @Failure 400 {object} itserrors.Error @Failure 404 {object} itserrors.Error @Failure 500 {object} itserrors.Error @Router /method [post]

func (*Method) Get

func (m *Method) Get(pctx echo.Context) (err error)

Get godoc @Summary Get method @Description Get method @Tags method @Accept json @Produce json @Param method path string true "Method" @Success 200 {object} model.Method @Failure 400 {object} itserrors.Error @Failure 404 {object} itserrors.Error @Failure 500 {object} itserrors.Error @Router /method/{method} [get]

func (*Method) List

func (m *Method) List(pctx echo.Context) (err error)

List godoc @Summary List methods @Description List methods @Tags method @Accept json @Produce json @Success 200 {array} model.Method @Failure 400 {object} itserrors.Error @Failure 404 {object} itserrors.Error @Failure 500 {object} itserrors.Error @Router /method [get]

type Orquestrator

type Orquestrator struct {
	// contains filtered or unexported fields
}

func NewOrquestrator

func NewOrquestrator(conf *config.Config, log *logger.Logger, service service.Orquestrate) *Orquestrator

func (*Orquestrator) Request

func (o *Orquestrator) Request(pctx echo.Context) (err error)

Request godoc @Summary Request a method @Description Request a method from a provider or a group of providers and return the first response received @Tags orquestrator @Accept json @Produce json @Param payload body handler.CallRequest true "Payload" @Success 200 {object} string @Failure 400 {object} itserrors.Error @Failure 404 {object} itserrors.Error @Failure 500 {object} itserrors.Error @Router /call [post]

type Provider

type Provider struct {
	// contains filtered or unexported fields
}

func NewProvider

func NewProvider(cfg *config.Config, log *logger.Logger, service service.ProviderI) *Provider

func (*Provider) Create

func (p *Provider) Create(pctx echo.Context) (err error)

Create godoc @Summary Create a new provider @Description Create a new provider @Tags provider @Accept json @Produce json @Param provider body model.Provider true "Provider" @Success 200 {object} model.Provider @Failure 400 {object} itserrors.Error @Failure 404 {object} itserrors.Error @Failure 500 {object} itserrors.Error @Router /provider [post]

func (*Provider) Delete

func (p *Provider) Delete(pctx echo.Context) (err error)

Delete godoc @Summary Delete a provider @Description Delete a provider @Tags provider @Accept json @Produce json @Param slug path string true "Provider slug" @Success 200 {object} model.Provider @Failure 400 {object} itserrors.Error @Failure 404 {object} itserrors.Error @Failure 500 {object} itserrors.Error @Router /provider/{slug} [delete]

func (*Provider) Get

func (p *Provider) Get(pctx echo.Context) (err error)

Get godoc @Summary Get a provider @Description Get a provider @Tags provider @Accept json @Produce json @Param slug path string true "Provider slug" @Success 200 {object} model.Provider @Failure 400 {object} itserrors.Error @Failure 404 {object} itserrors.Error @Failure 500 {object} itserrors.Error @Router /provider/{slug} [get]

func (*Provider) List

func (p *Provider) List(pctx echo.Context) (err error)

List godoc @Summary List providers @Description List providers @Tags provider @Accept json @Produce json @Param method path string true "Provider method" @Success 200 {object} model.Provider @Failure 400 {object} itserrors.Error @Failure 404 {object} itserrors.Error @Failure 500 {object} itserrors.Error @Router /provider/list/{method} [get]

func (*Provider) Update

func (p *Provider) Update(pctx echo.Context) (err error)

Update godoc @Summary Update a provider @Description Update a provider @Tags provider @Accept json @Produce json @Param slug path string true "Provider slug" @Param provider body model.Provider true "Provider" @Param X-Signature header string true "Signature" @Success 200 {object} Provider @Failure 400 {object} itserrors.Error @Failure 404 {object} itserrors.Error @Failure 500 {object} itserrors.Error @Router /provider/{slug} [patch]

Jump to

Keyboard shortcuts

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