todosapi

package
v0.0.0-...-a612b4f Latest Latest
Warning

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

Go to latest
Published: Feb 14, 2022 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Package todosapi provides primitives to interact with the openapi HTTP API.

Code generated by github.com/deepmap/oapi-codegen version v1.9.1 DO NOT EDIT.

Package todosapi provides primitives to interact with the openapi HTTP API.

Code generated by github.com/deepmap/oapi-codegen version v1.9.1 DO NOT EDIT.

Package todosapi provides primitives to interact with the openapi HTTP API.

Code generated by github.com/deepmap/oapi-codegen version v1.9.1 DO NOT EDIT.

Index

Constants

View Source
const (
	Sigv4Scopes = "sigv4.Scopes"
)

Variables

This section is empty.

Functions

func GetSwagger

func GetSwagger() (swagger *openapi3.T, err error)

GetSwagger returns the Swagger specification corresponding to the generated code in this file. The external references of Swagger specification are resolved. The logic of resolving external references is tightly connected to "import-mapping" feature. Externally referenced files must be embedded in the corresponding golang packages. Urls can be supported but this task was out of the scope.

func NewCreateTodoRequestWithBody

func NewCreateTodoRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error)

NewCreateTodoRequestWithBody generates requests for CreateTodo with any type of body

func NewDeleteTodoRequest

func NewDeleteTodoRequest(server string, todoId int64) (*http.Request, error)

NewDeleteTodoRequest generates requests for DeleteTodo

func NewListTodosRequest

func NewListTodosRequest(server string, params *ListTodosParams) (*http.Request, error)

NewListTodosRequest generates requests for ListTodos

func NewUpdateTodoRequestWithBody

func NewUpdateTodoRequestWithBody(server string, todoId int64, contentType string, body io.Reader) (*http.Request, error)

NewUpdateTodoRequestWithBody generates requests for UpdateTodo with any type of body

func PathToRawSpec

func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error)

Constructs a synthetic filesystem for resolving external references when loading openapi specifications.

func RegisterHandlers

func RegisterHandlers(router EchoRouter, si ServerInterface)

RegisterHandlers adds each server route to the EchoRouter.

func RegisterHandlersWithBaseURL

func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL string)

Registers handlers, and prepends BaseURL to the paths, so that the paths can be served under a prefix.

Types

type Client

type Client struct {
	// The endpoint of the server conforming to this interface, with scheme,
	// https://api.deepmap.com for example. This can contain a path relative
	// to the server, such as https://api.deepmap.com/dev-test, and all the
	// paths in the swagger spec will be appended to the server.
	Server string

	// Doer for performing requests, typically a *http.Client with any
	// customized settings, such as certificate chains.
	Client HttpRequestDoer

	// A list of callbacks for modifying requests which are generated before sending over
	// the network.
	RequestEditors []RequestEditorFn
}

Client which conforms to the OpenAPI3 specification for this service.

func NewClient

func NewClient(server string, opts ...ClientOption) (*Client, error)

Creates a new Client, with reasonable defaults

func (*Client) CreateTodoWithBody

func (c *Client) CreateTodoWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) DeleteTodo

func (c *Client) DeleteTodo(ctx context.Context, todoId int64, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) ListTodos

func (c *Client) ListTodos(ctx context.Context, params *ListTodosParams, reqEditors ...RequestEditorFn) (*http.Response, error)

func (*Client) UpdateTodoWithBody

func (c *Client) UpdateTodoWithBody(ctx context.Context, todoId int64, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

type ClientInterface

type ClientInterface interface {
	// ListTodos request
	ListTodos(ctx context.Context, params *ListTodosParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateTodo request with any body
	CreateTodoWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// DeleteTodo request
	DeleteTodo(ctx context.Context, todoId int64, reqEditors ...RequestEditorFn) (*http.Response, error)

	// UpdateTodo request with any body
	UpdateTodoWithBody(ctx context.Context, todoId int64, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
}

The interface specification for the client above.

type ClientOption

type ClientOption func(*Client) error

ClientOption allows setting custom parameters during construction

func WithBaseURL

func WithBaseURL(baseURL string) ClientOption

WithBaseURL overrides the baseURL.

func WithHTTPClient

func WithHTTPClient(doer HttpRequestDoer) ClientOption

WithHTTPClient allows overriding the default Doer, which is automatically created using http.Client. This is useful for tests.

func WithRequestEditorFn

func WithRequestEditorFn(fn RequestEditorFn) ClientOption

WithRequestEditorFn allows setting up a callback function, which will be called right before sending the request. This can be used to mutate the request.

type ClientWithResponses

type ClientWithResponses struct {
	ClientInterface
}

ClientWithResponses builds on ClientInterface to offer response payloads

func NewClientWithResponses

func NewClientWithResponses(server string, opts ...ClientOption) (*ClientWithResponses, error)

NewClientWithResponses creates a new ClientWithResponses, which wraps Client with return type handling

func (*ClientWithResponses) CreateTodoWithBodyWithResponse

func (c *ClientWithResponses) CreateTodoWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateTodoResponse, error)

CreateTodoWithBodyWithResponse request with arbitrary body returning *CreateTodoResponse

func (*ClientWithResponses) DeleteTodoWithResponse

func (c *ClientWithResponses) DeleteTodoWithResponse(ctx context.Context, todoId int64, reqEditors ...RequestEditorFn) (*DeleteTodoResponse, error)

DeleteTodoWithResponse request returning *DeleteTodoResponse

func (*ClientWithResponses) ListTodosWithResponse

func (c *ClientWithResponses) ListTodosWithResponse(ctx context.Context, params *ListTodosParams, reqEditors ...RequestEditorFn) (*ListTodosResponse, error)

ListTodosWithResponse request returning *ListTodosResponse

func (*ClientWithResponses) UpdateTodoWithBodyWithResponse

func (c *ClientWithResponses) UpdateTodoWithBodyWithResponse(ctx context.Context, todoId int64, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateTodoResponse, error)

UpdateTodoWithBodyWithResponse request with arbitrary body returning *UpdateTodoResponse

type ClientWithResponsesInterface

type ClientWithResponsesInterface interface {
	// ListTodos request
	ListTodosWithResponse(ctx context.Context, params *ListTodosParams, reqEditors ...RequestEditorFn) (*ListTodosResponse, error)

	// CreateTodo request with any body
	CreateTodoWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateTodoResponse, error)

	// DeleteTodo request
	DeleteTodoWithResponse(ctx context.Context, todoId int64, reqEditors ...RequestEditorFn) (*DeleteTodoResponse, error)

	// UpdateTodo request with any body
	UpdateTodoWithBodyWithResponse(ctx context.Context, todoId int64, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateTodoResponse, error)
}

ClientWithResponsesInterface is the interface specification for the client with responses above.

type CreateTodoResponse

type CreateTodoResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *Todo
}

func ParseCreateTodoResponse

func ParseCreateTodoResponse(rsp *http.Response) (*CreateTodoResponse, error)

ParseCreateTodoResponse parses an HTTP response from a CreateTodoWithResponse call

func (CreateTodoResponse) Status

func (r CreateTodoResponse) Status() string

Status returns HTTPResponse.Status

func (CreateTodoResponse) StatusCode

func (r CreateTodoResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type DeleteTodoResponse

type DeleteTodoResponse struct {
	Body         []byte
	HTTPResponse *http.Response
}

func ParseDeleteTodoResponse

func ParseDeleteTodoResponse(rsp *http.Response) (*DeleteTodoResponse, error)

ParseDeleteTodoResponse parses an HTTP response from a DeleteTodoWithResponse call

func (DeleteTodoResponse) Status

func (r DeleteTodoResponse) Status() string

Status returns HTTPResponse.Status

func (DeleteTodoResponse) StatusCode

func (r DeleteTodoResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type EchoRouter

type EchoRouter interface {
	CONNECT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
	DELETE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
	GET(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
	HEAD(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
	OPTIONS(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
	PATCH(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
	POST(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
	PUT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
	TRACE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
}

This is a simple interface which specifies echo.Route addition functions which are present on both echo.Echo and echo.Group, since we want to allow using either of them for path registration

type HttpRequestDoer

type HttpRequestDoer interface {
	Do(req *http.Request) (*http.Response, error)
}

Doer performs HTTP requests.

The standard http.Client implements this interface.

type ListTodosParams

type ListTodosParams struct {
	// Filters the tasks by their status
	Status *ListTodosParamsStatus `json:"status,omitempty"`
}

ListTodosParams defines parameters for ListTodos.

type ListTodosParamsStatus

type ListTodosParamsStatus string

ListTodosParamsStatus defines parameters for ListTodos.

type ListTodosResponse

type ListTodosResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *[]Todo
}

func ParseListTodosResponse

func ParseListTodosResponse(rsp *http.Response) (*ListTodosResponse, error)

ParseListTodosResponse parses an HTTP response from a ListTodosWithResponse call

func (ListTodosResponse) Status

func (r ListTodosResponse) Status() string

Status returns HTTPResponse.Status

func (ListTodosResponse) StatusCode

func (r ListTodosResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type RequestEditorFn

type RequestEditorFn func(ctx context.Context, req *http.Request) error

RequestEditorFn is the function signature for the RequestEditor callback function

type ServerInterface

type ServerInterface interface {
	// List the available tasks
	// (GET /todos)
	ListTodos(ctx echo.Context, params ListTodosParams) error
	// Create a todo
	// (POST /todos)
	CreateTodo(ctx echo.Context) error
	// Delete the todo
	// (DELETE /todos/{todoId})
	DeleteTodo(ctx echo.Context, todoId int64) error
	// Update the todo
	// (PUT /todos/{todoId})
	UpdateTodo(ctx echo.Context, todoId int64) error
}

ServerInterface represents all server handlers.

type ServerInterfaceWrapper

type ServerInterfaceWrapper struct {
	Handler ServerInterface
}

ServerInterfaceWrapper converts echo contexts to parameters.

func (*ServerInterfaceWrapper) CreateTodo

func (w *ServerInterfaceWrapper) CreateTodo(ctx echo.Context) error

CreateTodo converts echo context to params.

func (*ServerInterfaceWrapper) DeleteTodo

func (w *ServerInterfaceWrapper) DeleteTodo(ctx echo.Context) error

DeleteTodo converts echo context to params.

func (*ServerInterfaceWrapper) ListTodos

func (w *ServerInterfaceWrapper) ListTodos(ctx echo.Context) error

ListTodos converts echo context to params.

func (*ServerInterfaceWrapper) UpdateTodo

func (w *ServerInterfaceWrapper) UpdateTodo(ctx echo.Context) error

UpdateTodo converts echo context to params.

type Todo

type Todo struct {
	// The todo creation date
	CreateDate time.Time `json:"create_date"`

	// The todo resolution date
	DoneDate *time.Time `json:"done_date,omitempty"`

	// The todo identifier
	Id int64 `json:"id"`

	// The todo state
	Status TodoStatus `json:"status"`

	// The todo title
	Title string `json:"title"`
}

Todo defines model for Todo.

type TodoStatus

type TodoStatus string

The todo state

const (
	TodoStatusDone TodoStatus = "done"

	TodoStatusWaiting TodoStatus = "waiting"

	TodoStatusWorking TodoStatus = "working"
)

Defines values for TodoStatus.

type UpdateTodoResponse

type UpdateTodoResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	JSON200      *Todo
}

func ParseUpdateTodoResponse

func ParseUpdateTodoResponse(rsp *http.Response) (*UpdateTodoResponse, error)

ParseUpdateTodoResponse parses an HTTP response from a UpdateTodoWithResponse call

func (UpdateTodoResponse) Status

func (r UpdateTodoResponse) Status() string

Status returns HTTPResponse.Status

func (UpdateTodoResponse) StatusCode

func (r UpdateTodoResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

Jump to

Keyboard shortcuts

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