postgrest_go

package
v0.0.0-...-d42b428 Latest Latest
Warning

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

Go to latest
Published: Aug 13, 2023 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SanitizeParam

func SanitizeParam(param string) string

func SanitizePatternParam

func SanitizePatternParam(pattern string) string

Types

type Client

type Client struct {
	Debug bool

	Transport *PostgrestTransport
	// contains filtered or unexported fields
}

func NewClient

func NewClient(baseURL url.URL, opts ...ClientOption) *Client

func (*Client) AddHeader

func (c *Client) AddHeader(key string, value string)

func (*Client) CloseIdleConnections

func (c *Client) CloseIdleConnections()

func (*Client) From

func (c *Client) From(table string) *RequestBuilder

func (*Client) Headers

func (c *Client) Headers() http.Header

func (Client) Rpc

func (c Client) Rpc(f string, params interface{}) (*http.Response, error)

type ClientOption

type ClientOption func(c *Client)

func WithBasicAuth

func WithBasicAuth(username, password string) ClientOption

func WithSchema

func WithSchema(schema string) ClientOption

func WithTokenAuth

func WithTokenAuth(token string) ClientOption

type FilterRequestBuilder

type FilterRequestBuilder struct {
	QueryRequestBuilder
	// contains filtered or unexported fields
}

FilterRequestBuilder represents a builder for filter requests.

func (*FilterRequestBuilder) Ad

func (b *FilterRequestBuilder) Ad(column string, values []string) *FilterRequestBuilder

Ad adds an adjacent to filter condition to the request.

func (*FilterRequestBuilder) Cd

func (b *FilterRequestBuilder) Cd(column string, values []string) *FilterRequestBuilder

Cd adds a contained by set filter condition to the request.

func (*FilterRequestBuilder) Cs

func (b *FilterRequestBuilder) Cs(column string, values []string) *FilterRequestBuilder

Cs adds a contains set filter condition to the request.

func (*FilterRequestBuilder) Eq

func (b *FilterRequestBuilder) Eq(column, value string) *FilterRequestBuilder

Eq adds an equality filter condition to the request.

func (*FilterRequestBuilder) Filter

func (b *FilterRequestBuilder) Filter(column, operator, criteria string) *FilterRequestBuilder

Filter adds a filter condition to the request.

func (*FilterRequestBuilder) Fts

func (b *FilterRequestBuilder) Fts(column, value string) *FilterRequestBuilder

Fts adds a full-text search filter condition to the request.

func (*FilterRequestBuilder) Gt

func (b *FilterRequestBuilder) Gt(column, value string) *FilterRequestBuilder

Gt adds a greater-than filter condition to the request.

func (*FilterRequestBuilder) Gte

func (b *FilterRequestBuilder) Gte(column, value string) *FilterRequestBuilder

Gte adds a greater-than-or-equal filter condition to the request.

func (*FilterRequestBuilder) Ilike

func (b *FilterRequestBuilder) Ilike(column, value string) *FilterRequestBuilder

Ilike adds a ILIKE filter condition to the request.

func (*FilterRequestBuilder) In

func (b *FilterRequestBuilder) In(column string, values []string) *FilterRequestBuilder

In adds an IN filter condition to the request.

func (*FilterRequestBuilder) Is

func (b *FilterRequestBuilder) Is(column, value string) *FilterRequestBuilder

Is adds an IS filter condition to the request.

func (*FilterRequestBuilder) Like

func (b *FilterRequestBuilder) Like(column, value string) *FilterRequestBuilder

Like adds a LIKE filter condition to the request.

func (*FilterRequestBuilder) Lt

func (b *FilterRequestBuilder) Lt(column, value string) *FilterRequestBuilder

Lt adds a less-than filter condition to the request.

func (*FilterRequestBuilder) Lte

func (b *FilterRequestBuilder) Lte(column, value string) *FilterRequestBuilder

Lte adds a less-than-or-equal filter condition to the request.

func (*FilterRequestBuilder) Neq

func (b *FilterRequestBuilder) Neq(column, value string) *FilterRequestBuilder

Neq adds a not-equal filter condition to the request.

func (*FilterRequestBuilder) Not

Not negates the next filter condition.

func (*FilterRequestBuilder) Nxl

func (b *FilterRequestBuilder) Nxl(column string, from, to int) *FilterRequestBuilder

Nxl adds a not strictly left of filter condition to the request.

func (*FilterRequestBuilder) Nxr

func (b *FilterRequestBuilder) Nxr(column string, from, to int) *FilterRequestBuilder

Nxr adds a not strictly right of filter condition to the request.

func (*FilterRequestBuilder) Ov

func (b *FilterRequestBuilder) Ov(column string, values []string) *FilterRequestBuilder

Ov adds an overlaps set filter condition to the request.

func (*FilterRequestBuilder) Phfts

func (b *FilterRequestBuilder) Phfts(column, value string) *FilterRequestBuilder

Phfts adds a phrase-headline-level full-text search filter condition to the request.

func (*FilterRequestBuilder) Plfts

func (b *FilterRequestBuilder) Plfts(column, value string) *FilterRequestBuilder

Plfts adds a phrase-level full-text search filter condition to the request.

func (*FilterRequestBuilder) Sl

func (b *FilterRequestBuilder) Sl(column string, from, to int) *FilterRequestBuilder

Sl adds a strictly left of filter condition to the request.

func (*FilterRequestBuilder) Sr

func (b *FilterRequestBuilder) Sr(column string, from, to int) *FilterRequestBuilder

Sr adds a strictly right of filter condition to the request.

func (*FilterRequestBuilder) Wfts

func (b *FilterRequestBuilder) Wfts(column, value string) *FilterRequestBuilder

Wfts adds a word-level full-text search filter condition to the request.

type PostgrestTransport

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

func (*PostgrestTransport) RoundTrip

func (c *PostgrestTransport) RoundTrip(req *http.Request) (*http.Response, error)

type QueryRequestBuilder

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

QueryRequestBuilder represents a builder for query requests.

func (*QueryRequestBuilder) Execute

func (b *QueryRequestBuilder) Execute(r interface{}) error

Execute sends the query request and unmarshals the response JSON into the provided object.

func (*QueryRequestBuilder) ExecuteWithContext

func (b *QueryRequestBuilder) ExecuteWithContext(ctx context.Context, r interface{}) error

ExecuteWithContext sends the query request with the provided context and unmarshals the response JSON into the provided object.

type RequestBuilder

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

RequestBuilder represents a builder for PostgREST requests.

func (*RequestBuilder) Delete

func (b *RequestBuilder) Delete() *FilterRequestBuilder

Delete starts building a DELETE request.

func (*RequestBuilder) Insert

func (b *RequestBuilder) Insert(json interface{}) *QueryRequestBuilder

Insert starts building an INSERT request with the provided JSON data.

func (*RequestBuilder) Select

func (b *RequestBuilder) Select(columns ...string) *SelectRequestBuilder

Select starts building a SELECT request with the specified columns.

func (*RequestBuilder) Update

func (b *RequestBuilder) Update(json interface{}) *FilterRequestBuilder

Update starts building an UPDATE request with the provided JSON data.

func (*RequestBuilder) Upsert

func (b *RequestBuilder) Upsert(json interface{}) *QueryRequestBuilder

Upsert starts building an UPSERT request with the provided JSON data.

type RequestError

type RequestError struct {
	Message        string `json:"message"`
	Details        string `json:"details"`
	Hint           string `json:"hint"`
	Code           string `json:"code"`
	HTTPStatusCode int    `json:"-"`
}

RequestError represents an error response from the PostgREST server.

func (*RequestError) Error

func (rq *RequestError) Error() string

type SelectRequestBuilder

type SelectRequestBuilder struct {
	FilterRequestBuilder
}

FilterRequestBuilder represents a builder for SELECT requests.

func (*SelectRequestBuilder) OnlyPayload

func (b *SelectRequestBuilder) OnlyPayload() *SelectRequestBuilder

OnlyPayload sets the only payload behavior for the SELECT request.

func (*SelectRequestBuilder) OrderBy

func (b *SelectRequestBuilder) OrderBy(column, direction string) *SelectRequestBuilder

OrderBy sets the ordering column and direction for the SELECT request.

func (*SelectRequestBuilder) Range

func (b *SelectRequestBuilder) Range(from, to int) *SelectRequestBuilder

Range sets the range of rows to be returned for the SELECT request.

func (*SelectRequestBuilder) SingleRow

SingleRow sets the single row behavior for the SELECT request.

func (*SelectRequestBuilder) SingleValue

func (b *SelectRequestBuilder) SingleValue() *SelectRequestBuilder

SingleValue sets the single value behavior for the SELECT request.

func (*SelectRequestBuilder) WithoutCount

func (b *SelectRequestBuilder) WithoutCount() *SelectRequestBuilder

WithoutCount sets the without count behavior for the SELECT request.

Jump to

Keyboard shortcuts

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