Documentation ¶
Index ¶
- Variables
- func GetProtocolName(p Protocol) string
- func New(ctx context.Context, m map[string]interface{}) (global.Service, error)
- type Datatx
- type InviteAcceptedRequest
- type NewShareRequest
- type NewShareResponse
- type OCMClient
- func (c *OCMClient) Discover(ctx context.Context, endpoint string) (*wellknown.OcmDiscoveryData, error)
- func (c *OCMClient) InviteAccepted(ctx context.Context, endpoint string, r *InviteAcceptedRequest) (*User, error)
- func (c *OCMClient) NewShare(ctx context.Context, endpoint string, r *NewShareRequest) (*NewShareResponse, error)
- type Protocol
- type Protocols
- type User
- type WebDAV
- type Webapp
Constants ¶
This section is empty.
Variables ¶
var ErrInvalidParameters = errors.New("invalid parameters")
ErrInvalidParameters is the error returned by the shares endpoint when the request does not contain required properties.
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.
var ErrTokenInvalid = errors.New("the invitation token is invalid or not found")
ErrTokenInvalid is the error returned by the invite-accepted endpoint when the token is not valid or not existing.
var ErrUserAlreadyAccepted = errors.New("invitation already accepted")
ErrUserAlreadyAccepted is the error returned by the invite-accepted endpoint when a token was already used by a user in the remote cloud.
Functions ¶
func GetProtocolName ¶
GetProtocolName returns the name of the protocol by reflection.
Types ¶
type Datatx ¶
type Datatx struct { SourceURI string `json:"srcUri" validate:"required"` Size uint64 `json:"size" validate:"required"` }
Datatx contains the parameters for the Datatx protocol.
func (*Datatx) ToOCMProtocol ¶
ToOCMProtocol convert the protocol to a ocm Protocol struct.
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 {}
NewShareRequest contains the parameters for creating a new OCM share.
type NewShareResponse ¶
type NewShareResponse struct {
}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 (*OCMClient) Discover ¶
func (c *OCMClient) Discover(ctx context.Context, endpoint string) (*wellknown.OcmDiscoveryData, error)
Discover 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 Protocol ¶
type Protocol interface { // ToOCMProtocol convert the protocol to a ocm Protocol struct ToOCMProtocol() *ocm.Protocol }
Protocol represents the way of access the resource in the OCM share.
type Protocols ¶
type Protocols []Protocol
Protocols is the list of protocols.
func (Protocols) MarshalJSON ¶
MarshalJSON implements the Marshaler interface.
func (*Protocols) UnmarshalJSON ¶
UnmarshalJSON implements the Unmarshaler interface.
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.
type WebDAV ¶
type WebDAV struct { Permissions []string `json:"permissions" validate:"required,dive,required,oneof=read write share"` URL string `json:"url" validate:"required"` }
WebDAV contains the parameters for the WebDAV protocol.
func (*WebDAV) ToOCMProtocol ¶
ToOCMProtocol convert the protocol to a ocm Protocol struct.
type Webapp ¶
type Webapp struct { URITemplate string `json:"uriTemplate" validate:"required"` ViewMode string `json:"viewMode" validate:"required,dive,required,oneof=view read write"` }
Webapp contains the parameters for the Webapp protocol.
func (*Webapp) ToOCMProtocol ¶
ToOCMProtocol convert the protocol to a ocm Protocol struct.