simperium

package
v1.15.0 Latest Latest
Warning

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

Go to latest
Published: Jan 4, 2023 License: BSD-2-Clause Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuthorizeResponse

type AuthorizeResponse struct {
	AccessToken string `json:"access_token"`
	UserID      string `json:"userid"`
	Username    string `json:"username"`
}

type Change

type Change[T interface{}] struct {
	ClientID      string    `json:"clientid,omitempty"`
	ChangeVersion string    `json:"cv,omitempty"`
	EndVersion    int       `json:"ev,omitempty"`
	SourceVersion int       `json:"sv,omitempty"`
	EntityID      string    `json:"id"`
	Operation     string    `json:"o"`
	Values        T         `json:"v,omitempty"`
	ChangeID      string    `json:"ccid,omitempty"`  // download changes only
	ChangeIDs     []string  `json:"ccids,omitempty"` // upload changes only
	Data          *struct{} `json:"d,omitempty"`
	Error         int       `json:"error,omitempty"`
}

type Client

type Client[DiffType interface{}] struct {
	// contains filtered or unexported fields
}

func NewClient

func NewClient[DT interface{}](appID string, apiKey string, apiVer string, clientID string, clientName string, clientVer string) *Client[DT]

func (*Client[DT]) Authorize

func (client *Client[DT]) Authorize(username string, password string) (string, error)

https://simperium.com/docs/reference/http/#auth

func (*Client[DT]) ConnectToSocket

func (client *Client[DT]) ConnectToSocket(ctx context.Context) error

func (*Client[DT]) DisconnectSocket

func (client *Client[DT]) DisconnectSocket() error

func (*Client[DT]) ReadMessage

func (client *Client[DT]) ReadMessage(ctx context.Context) (string, error)

func (*Client[DT]) WriteChangeMessage

func (client *Client[DT]) WriteChangeMessage(ctx context.Context, channel int, changeVersion string, entityVersion int, entityID string, operation string, diff DT) (string, error)

func (*Client[DT]) WriteChangeVersionMessage

func (client *Client[DT]) WriteChangeVersionMessage(ctx context.Context, channel int, changeVersion string) error

func (*Client[DT]) WriteIndexMessage

func (client *Client[DT]) WriteIndexMessage(ctx context.Context, channel int, returnData bool, offset string, mark string, limit int) error

func (*Client[DT]) WriteInitMessage

func (client *Client[DT]) WriteInitMessage(ctx context.Context, channel int, token string, bucketName string) error

type EntitySummary

type EntitySummary[T any] struct {
	ID      string `json:"id"`
	Version int    `json:"v"`
	Data    T      `json:"d,omitempty"`
}

type IndexMessageResponse

type IndexMessageResponse[T any] struct {
	CurrentVersion string             `json:"current"`
	Entities       []EntitySummary[T] `json:"index"`
	Mark           string             `json:"mark"`
}

type InitMessage

type InitMessage struct {
	ClientID   string `json:"clientid"`
	API        string `json:"api"`
	Token      string `json:"token"`
	AppID      string `json:"app_id"`
	BucketName string `json:"name"`
	Library    string `json:"library"`
	Version    string `json:"version"`
}

Jump to

Keyboard shortcuts

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