batch

package
v0.1.3 Latest Latest
Warning

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

Go to latest
Published: Feb 3, 2023 License: MPL-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ApiClient

type ApiClient struct {
	*Config
}

func (*ApiClient) CreateCollection

func (*ApiClient) CreateTeamMember

func (*ApiClient) DeleteCollection

func (a *ApiClient) DeleteCollection(collectionID string) (*UpdateCollectionResponse, diag.Diagnostics)

func (*ApiClient) DeleteTeamMember

func (a *ApiClient) DeleteTeamMember(id string) diag.Diagnostics

func (*ApiClient) GetCollection

func (a *ApiClient) GetCollection(collectionID string) (*ReadCollectionResponse, diag.Diagnostics)

GetCollection obtains data for a single collection

func (*ApiClient) GetDataLake

func (a *ApiClient) GetDataLake(filters []*Filter) (map[string]interface{}, diag.Diagnostics)

func (*ApiClient) GetSchema

func (a *ApiClient) GetSchema(filters []*Filter) (map[string]interface{}, diag.Diagnostics)

func (*ApiClient) GetTeamMember

func (a *ApiClient) GetTeamMember(accountID string) (*ReadTeamMemberResponse, diag.Diagnostics)

func (*ApiClient) Request

func (a *ApiClient) Request(method, endpoint string, payload []byte) ([]byte, diag.Diagnostics)

TODO: rate limiting, retry?

func (*ApiClient) UpdateCollection

func (a *ApiClient) UpdateCollection(collectionID string, params *UpdateCollectionRequest) (*UpdateCollectionResponse, diag.Diagnostics)

func (*ApiClient) UpdateTeamMember

type Config

type Config struct {
	HttpClient  *http.Client
	ApiToken    string
	Version     string
	APIEndpoint string
}

type CreateCollectionRequest

type CreateCollectionRequest struct {
	Name                string `json:"name"`
	Notes               string `json:"notes"`
	SchemaID            string `json:"schema_id"`
	DatalakeID          string `json:"datalake_id"`
	EnvelopeType        string `json:"envelope_type"`
	EnvelopeRootMessage string `json:"envelope_root_message"`
	PayloadRootMessage  string `json:"payload_root_message"`
	PayloadFieldID      int    `json:"payload_field_id"`
}

type CreateCollectionResponse

type CreateCollectionResponse struct {
	ID        string `json:"id"`
	Token     string `json:"token"`
	CreatedAt string `json:"created_at"`
	UpdatedAt string `json:"updated_at"`
}

type CreateTeamMemberRequest

type CreateTeamMemberRequest struct {
	Name     string   `json:"name"`
	Email    string   `json:"email"`
	Password string   `json:"password"`
	Roles    []string `json:"roles"`
}

type CreateTeamMemberResponse

type CreateTeamMemberResponse struct {
	Id             string `json:"id"`
	Name           string `json:"name"`
	Email          string `json:"email"`
	AvailableTeams []struct {
		Id   string `json:"id"`
		Name string `json:"name"`
	} `json:"available_teams"`
	Roles []string `json:"roles"`
}

type ErrorResponse

type ErrorResponse struct {
	Errors []*ResponseError `json:"errors"`
}

ErrorResponse is used to unmarshal an error response from our API

type Filter

type Filter struct {
	Name   string
	Values []string
}

type IBatchAPI

type IBatchAPI interface {
	CreateCollection(params *CreateCollectionRequest) (*CreateCollectionResponse, diag.Diagnostics)
	DeleteCollection(collectionID string) (*UpdateCollectionResponse, diag.Diagnostics)
	GetCollection(collectionID string) (*ReadCollectionResponse, diag.Diagnostics)
	UpdateCollection(collectionID string, params *UpdateCollectionRequest) (*UpdateCollectionResponse, diag.Diagnostics)

	CreateTeamMember(params *CreateTeamMemberRequest) (*CreateTeamMemberResponse, diag.Diagnostics)
	DeleteTeamMember(id string) diag.Diagnostics
	GetTeamMember(accountID string) (*ReadTeamMemberResponse, diag.Diagnostics)
	UpdateTeamMember(id string, params *UpdateTeamMemberRequest) (*UpdateTeamMemberResponse, diag.Diagnostics)

	GetDataLake(filters []*Filter) (map[string]interface{}, diag.Diagnostics)

	GetSchema(filters []*Filter) (map[string]interface{}, diag.Diagnostics)
}

func New

func New(cfg *Config) (IBatchAPI, error)

type ReadCollectionResponse

type ReadCollectionResponse struct {
	ID                  string `json:"id"`
	Token               string `json:"token"`
	Name                string `json:"name"`
	Notes               string `json:"notes"`
	Archived            bool   `json:"archived"`
	SchemaID            string `json:"schema_id"`
	DatalakeID          string `json:"datalake_id"`
	EnvelopeType        string `json:"envelope_type"`
	EnvelopeRootMessage string `json:"envelope_root_message"`
	PayloadRootMessage  string `json:"payload_root_message"`
	PayloadFieldID      int    `json:"payload_field_id"`
	CreatedAt           string `json:"created_at"`
	UpdatedAt           string `json:"updated_at"`
}

ReadCollectionResponse is used to unmarshal a read response from the API

type ReadTeamMemberResponse

type ReadTeamMemberResponse struct {
	Id             string `json:"id"`
	Name           string `json:"name"`
	Email          string `json:"email"`
	AvailableTeams []struct {
		Id   string `json:"id"`
		Name string `json:"name"`
	} `json:"available_teams"`
	Roles []string `json:"roles"`
}

type ResponseError

type ResponseError struct {
	Code     int    `json:"code"`
	Domain   string `json:"domain"`
	Status   string `json:"status"`
	RawError string `json:"raw_error"`
	Message  string `json:"message"`
	Field    string `json:"field"`
}

ResponseError is used to unmarshal an error response from our API

type UpdateCollectionRequest

type UpdateCollectionRequest struct {
	CollectionID string `json:"collection_id"`
	Name         string `json:"name,omitempty"`
	Notes        string `json:"notes,omitempty"`
	Archived     bool   `json:"archived,omitempty"`
}

type UpdateCollectionResponse

type UpdateCollectionResponse struct {
	ID                  string `json:"id"`
	Name                string `json:"name"`
	Notes               string `json:"notes"`
	SchemaID            string `json:"schema_id"`
	DatalakeID          string `json:"datalake_id"`
	EnvelopeType        string `json:"envelope_type"`
	EnvelopeRootMessage string `json:"envelope_root_message"`
	PayloadRootMessage  string `json:"payload_root_message"`
	PayloadFieldID      int    `json:"payload_field_id"`
	Paused              bool   `json:"paused"`
	CreatedAt           string `json:"created_at"`
	UpdatedAt           string `json:"updated_at"`
	Archived            bool   `json:"archived"`
}

type UpdateTeamMemberRequest

type UpdateTeamMemberRequest struct {
	Name     string   `json:"name"`
	Email    string   `json:"email"`
	Password string   `json:"password"`
	Roles    []string `json:"roles"`
}

type UpdateTeamMemberResponse

type UpdateTeamMemberResponse struct {
	Id             string `json:"id"`
	Name           string `json:"name"`
	Email          string `json:"email"`
	AvailableTeams []struct {
		Id   string `json:"id"`
		Name string `json:"name"`
	} `json:"available_teams"`
	Roles []string `json:"roles"`
}

Directories

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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