api

package
v0.12.0 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2021 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AuthHTTPClient

func AuthHTTPClient(hostname string) *http.Client

AuthHTTPClient returns an authenticated HTTP client

func CurrentSourceID added in v0.4.0

func CurrentSourceID(
	client *Client, hostname string,
	orgID string, hash string) (string, error)

CurrentSourceID looks up into the API/DB for a registered Source from the internally computed Source hash (by the CLI)

func CurrentUserID

func CurrentUserID(client *Client, hostname string) (string, error)

func CurrentUserOrganizationID

func CurrentUserOrganizationID(client *Client, hostname string) (string, error)

CurrentUserOrganizationID returns the identifier of the default organization for the current logged in user

func CurrentUsername

func CurrentUsername(client *Client, hostname string) (string, error)

func HandleHTTPError

func HandleHTTPError(resp *http.Response) error

func NewHTTPClient

func NewHTTPClient(opts ...ClientOption) *http.Client

NewHTTPClient initializes an http.Client with a default timeout

func RecordSuggestions added in v0.4.0

func RecordSuggestions(client *Client, hostname string,
	orgID string, execID string, suggestions *[]*core.Suggestion) error

RecordSuggestions records on the API the suggestions for a given execution suggestions can be recorded by batch or one at a time (maybe not ideal) and will be appended on the backend side

func SendContext added in v0.4.0

func SendContext(
	client *Client, hostname string, orgID string,
	context *context.Context) (string, error)

SendContext sends the current runtime context to API

func UnsecureHTTPClient

func UnsecureHTTPClient(hostname string) *http.Client

UnsecureHTTPClient returns a non-authenticated HTTP client

Types

type Client

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

Client facilitates making HTTP requests to the Reliably API

func NewClient

func NewClient(opts ...ClientOption) *Client

NewClient initializes a Client

func NewClientFromHTTP

func NewClientFromHTTP(httpClient *http.Client) *Client

NewClientFromHTTP takes in an http.Client instance

func (Client) REST

func (c Client) REST(hostname string, method string, p string, body io.Reader, data interface{}) error

REST performs a REST request and parses the response.

type ClientOption

type ClientOption = func(http.RoundTripper) http.RoundTripper

ClientOption represents an argument to NewClient

func AddHeader

func AddHeader(name, value string) ClientOption

AddHeader turns a RoundTripper into one that adds a request header

func AddHeaderFunc

func AddHeaderFunc(name string, getValue func(*http.Request) (string, error)) ClientOption

AddHeaderFunc is an AddHeader that gets the string value from a function

type Execution added in v0.4.0

type Execution struct {
	ID          string       `json:"id"`
	Date        time.Time    `json:"created_on"`
	Suggestions []Suggestion `json:"suggestions"`
}

type HTTPError

type HTTPError struct {
	StatusCode int
	RequestURL *url.URL
	Message    string
}

HTTPError is an error returned by a failed API call

func (HTTPError) Error

func (err HTTPError) Error() string

type NewExecution added in v0.4.0

type NewExecution struct {
	ID       string `json:"id"`
	OrgID    string `json:"org_id"`
	SourceID string `json:"source_id"`
}

func SendExecutionContext added in v0.4.0

func SendExecutionContext(
	client *Client, hostname string, orgID string,
	context *context.Context) (*NewExecution, error)

SendExecutionContext sends the current runtime context to API

type Organization

type Organization struct {
	ID        string `json:"id"`
	Name      string `json:"name"`
	CreatedBy string `json:"created_by"`
}

Organization represents an Organization under Reliably

func CurrentUserOrganization

func CurrentUserOrganization(client *Client, hostname string) (*Organization, error)

CurrentUserOrganization returns the default organization of the current logged in user

func ListOrganizations

func ListOrganizations(client *Client, hostname string) ([]Organization, error)

ListOrganizations list all organizations to which the current logged in user is a member of

type Page added in v0.4.0

type Page struct {
	Cursor      string `json:"cursor"`
	HasNextPage bool   `json:"has_next_page"`
}

type Source added in v0.4.0

type Source struct {
	ID   string                 `json:"id"`
	Type string                 `json:"type"`
	Meta map[string]interface{} `json:"meta"`
}

type Suggestion added in v0.4.0

type Suggestion struct {
	ID   string           `json:"id"`
	Date time.Time        `json:"created_on"`
	Data *core.Suggestion `json:"data"`
}

type SuggestionHistory added in v0.4.0

type SuggestionHistory struct {
	PageInfo   Page        `json:"page_info"`
	Executions []Execution `json:"executions"`
}

func GetSuggestionHistory added in v0.4.0

func GetSuggestionHistory(client *Client, hostname string,
	orgID string, sourceID string, cursor string) (*SuggestionHistory, error)

type UserInfo

type UserInfo struct {
	ID        string    `json:"id"`
	Username  string    `json:"username"`
	FullName  string    `json:"fullname"`
	Email     string    `json:"email"`
	LastLogin time.Time `json:"last_login"`
}

func CurrentUser

func CurrentUser(client *Client, hostname string) (*UserInfo, error)

Jump to

Keyboard shortcuts

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