Help us shape the future of Go! Take the 2026 Go Developer Survey

client

package
v2.52.0 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2026 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrInvalidParameters = errors.New("invalid parameters")

ErrInvalidParameters is the error returned by the shares endpoint when the request does not contain required properties.

View Source
var ErrServiceNotTrusted = errors.New("service is not trusted to accept invitations")

ErrServiceNotTrusted is the error returned by the invite-accepted endpoint when the service is not trusted to accept invitations.

View Source
var ErrTokenInvalid = errors.New("the invitation token is invalid")

ErrTokenInvalid is the error returned by the invite-accepted endpoint when the token is not valid.

View Source
var ErrTokenNotFound = errors.New("token not found")

ErrTokenNotFound is the error returned by the invite-accepted endpoint when the request is done using a not existing token.

View Source
var ErrUserAlreadyAccepted = errors.New("user already accepted an invitation token")

ErrUserAlreadyAccepted is the error returned by the invite-accepted endpoint when a user is already know by the remote cloud.

Functions

This section is empty.

Types

type Capabilities

type Capabilities struct {
	Enabled       bool   `json:"enabled"`
	APIVersion    string `json:"apiVersion"`
	EndPoint      string `json:"endPoint"`
	Provider      string `json:"provider"`
	ResourceTypes []struct {
		Name       string   `json:"name"`
		ShareTypes []string `json:"shareTypes"`
		Protocols  struct {
			Webdav *string `json:"webdav"`
			Webapp *string `json:"webapp"`
			Datatx *string `json:"datatx"`
		} `json:"protocols"`
	} `json:"resourceTypes"`
	Capabilities []string `json:"capabilities"`
}

Capabilities contains a set of properties exposed by a remote cloud storage.

type Config

type Config struct {
	Timeout  time.Duration
	Insecure bool
}

Config is the configuration to be used for the OCMClient.

type InviteAcceptedRequest

type InviteAcceptedRequest struct {
	UserID            string `json:"userID"`
	Email             string `json:"email"`
	Name              string `json:"name"`
	RecipientProvider string `json:"recipientProvider"`
	Token             string `json:"token"`
}

InviteAcceptedRequest contains the parameters for accepting an invitation.

type NewShareRequest

type NewShareRequest struct {
	ShareWith         string         `json:"shareWith"`
	Name              string         `json:"name"`
	Description       string         `json:"description"`
	ProviderID        string         `json:"providerId"`
	Owner             string         `json:"owner"`
	Sender            string         `json:"sender"`
	OwnerDisplayName  string         `json:"ownerDisplayName"`
	SenderDisplayName string         `json:"senderDisplayName"`
	ShareType         string         `json:"shareType"`
	Expiration        uint64         `json:"expiration"`
	ResourceType      string         `json:"resourceType"`
	Protocols         ocmd.Protocols `json:"protocol"`
}

NewShareRequest contains the parameters for creating a new OCM share.

type NewShareResponse

type NewShareResponse struct {
	RecipientDisplayName string `json:"recipientDisplayName"`
}

NewShareResponse is the response returned when creating a new share.

type OCMClient

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

OCMClient is the client for an OCM provider.

func New

func New(c *Config) *OCMClient

New returns a new OCMClient.

func (*OCMClient) Discovery

func (c *OCMClient) Discovery(ctx context.Context, endpoint string) (*Capabilities, error)

Discovery returns a number of properties used to discover the capabilities offered by a remote cloud storage. https://cs3org.github.io/OCM-API/docs.html?branch=develop&repo=OCM-API&user=cs3org#/paths/~1ocm-provider/get

func (*OCMClient) InviteAccepted

func (c *OCMClient) InviteAccepted(ctx context.Context, endpoint string, r *InviteAcceptedRequest) (*User, error)

InviteAccepted informs the sender that the invitation was accepted to start sharing https://cs3org.github.io/OCM-API/docs.html?branch=develop&repo=OCM-API&user=cs3org#/paths/~1invite-accepted/post

func (*OCMClient) NewShare

func (c *OCMClient) NewShare(ctx context.Context, endpoint string, r *NewShareRequest) (*NewShareResponse, error)

NewShare creates a new share. https://github.com/cs3org/OCM-API/blob/develop/spec.yaml

type User

type User struct {
	UserID string `json:"userID"`
	Email  string `json:"email"`
	Name   string `json:"name"`
}

User contains the remote user's information when accepting an invitation.

Jump to

Keyboard shortcuts

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