package semble import "context" type ConnectionQuery struct { PageQuery Direction, Identifier string ConnectionTypes []string } type CreateConnectionRequest struct { SourceType string `json:"sourceType,omitempty"` SourceValue string `json:"sourceValue,omitempty"` TargetType string `json:"targetType,omitempty"` TargetValue string `json:"targetValue,omitempty"` ConnectionType ConnectionType `json:"connectionType,omitempty"` Note string `json:"note,omitempty"` } type UpdateConnectionRequest struct { ConnectionID string `json:"connectionId"` ConnectionType ConnectionType `json:"connectionType,omitempty"` Note string `json:"note,omitempty"` RemoveNote bool `json:"removeNote,omitempty"` Swap bool `json:"swap,omitempty"` } func (c *Client) GetConnectionsForURL( ctx context.Context, url string, q ConnectionQuery, ) (*Page[ConnectionView], error) { var out Page[ConnectionView] qs := append( pagination(q.PageQuery), qp("url", url), qp("direction", q.Direction), qps("connectionTypes", q.ConnectionTypes), ) return &out, c.get(ctx, "network.cosmik.connection.getForUrl", values(qs...), &out) } func (c *Client) CreateConnection( ctx context.Context, r CreateConnectionRequest, ) (*IDResponse, error) { var out IDResponse return &out, c.post(ctx, "network.cosmik.connection.create", r, &out) } func (c *Client) ListConnectionsByUser( ctx context.Context, identifier string, q ConnectionQuery, ) (*Page[ConnectionView], error) { var out Page[ConnectionView] qs := append( pagination(q.PageQuery), qp("identifier", identifier), qps("connectionTypes", q.ConnectionTypes), ) return &out, c.get(ctx, "network.cosmik.connection.listByUser", values(qs...), &out) } func (c *Client) UpdateConnection( ctx context.Context, r UpdateConnectionRequest, ) (*IDResponse, error) { var out IDResponse return &out, c.post(ctx, "network.cosmik.connection.update", r, &out) } func (c *Client) DeleteConnection(ctx context.Context, id string) (*IDResponse, error) { var out IDResponse return &out, c.post( ctx, "network.cosmik.connection.delete", map[string]string{"connectionId": id}, &out, ) }