Documentation ¶
Overview ¶
Package nextcloud verifies a clientID and clientSecret against a Nextcloud backend.
Index ¶
- func GetNextcloudServerMock(called *[]string) http.Handler
- func New(m map[string]interface{}) (share.Repository, error)
- func TestingHTTPClient(handler http.Handler) (*http.Client, func())
- type Action
- type GranteeAltMap
- type Manager
- func (sm *Manager) DeleteShare(ctx context.Context, user *userpb.User, ref *ocm.ShareReference) error
- func (sm *Manager) GetReceivedShare(ctx context.Context, user *userpb.User, ref *ocm.ShareReference) (*ocm.ReceivedShare, error)
- func (sm *Manager) GetShare(ctx context.Context, user *userpb.User, ref *ocm.ShareReference) (*ocm.Share, error)
- func (sm *Manager) ListReceivedShares(ctx context.Context, user *userpb.User) ([]*ocm.ReceivedShare, error)
- func (sm *Manager) ListShares(ctx context.Context, user *userpb.User, ...) ([]*ocm.Share, error)
- func (sm *Manager) SetHTTPClient(c *http.Client)
- func (sm *Manager) StoreReceivedShare(ctx context.Context, share *ocm.ReceivedShare) (*ocm.ReceivedShare, error)
- func (sm *Manager) StoreShare(ctx context.Context, share *ocm.Share) (*ocm.Share, error)
- func (sm *Manager) UpdateReceivedShare(ctx context.Context, user *userpb.User, share *ocm.ReceivedShare, ...) (*ocm.ReceivedShare, error)
- func (sm *Manager) UpdateShare(ctx context.Context, user *userpb.User, ref *ocm.ShareReference, ...) (*ocm.Share, error)
- type ReceivedShareAltMap
- type Response
- type ShareAltMap
- type ShareManagerConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetNextcloudServerMock ¶
GetNextcloudServerMock returns a handler that pretends to be a remote Nextcloud server.
func New ¶
func New(m map[string]interface{}) (share.Repository, error)
New returns a share manager implementation that verifies against a Nextcloud backend.
func TestingHTTPClient ¶
TestingHTTPClient thanks to https://itnext.io/how-to-stub-requests-to-remote-hosts-with-go-6c2c1db32bf2 Ideally, this function would live in tests/helpers, but if we put it there, it gets excluded by .dockerignore, and the Docker build fails (see https://github.com/cs3org/reva/issues/1999) So putting it here for now - open to suggestions if someone knows a better way to inject this.
Types ¶
type Action ¶
type Action struct {
// contains filtered or unexported fields
}
Action describes a REST request to forward to the Nextcloud backend.
type GranteeAltMap ¶
type GranteeAltMap struct {
ID *provider.Grantee_UserId `json:"id"`
}
GranteeAltMap is an alternative map to JSON-unmarshal a Grantee Grantees are hard to unmarshal, so unmarshalling into a map[string]interface{} first, see also https://github.com/pondersource/sciencemesh-nextcloud/issues/27
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager is the Nextcloud-based implementation of the share.Repository interface see https://github.com/cs3org/reva/blob/v1.13.0/pkg/ocm/share/share.go#L30-L57
func NewShareManager ¶
func NewShareManager(c *ShareManagerConfig) (*Manager, error)
NewShareManager returns a new Nextcloud-based ShareManager.
func (*Manager) DeleteShare ¶
func (sm *Manager) DeleteShare(ctx context.Context, user *userpb.User, ref *ocm.ShareReference) error
DeleteShare deletes the share pointed by ref.
func (*Manager) GetReceivedShare ¶
func (sm *Manager) GetReceivedShare(ctx context.Context, user *userpb.User, ref *ocm.ShareReference) (*ocm.ReceivedShare, error)
GetReceivedShare returns the information for a received share the user has access.
func (*Manager) GetShare ¶
func (sm *Manager) GetShare(ctx context.Context, user *userpb.User, ref *ocm.ShareReference) (*ocm.Share, error)
GetShare gets the information for a share by the given ref.
func (*Manager) ListReceivedShares ¶
func (sm *Manager) ListReceivedShares(ctx context.Context, user *userpb.User) ([]*ocm.ReceivedShare, error)
ListReceivedShares returns the list of shares the user has access.
func (*Manager) ListShares ¶
func (sm *Manager) ListShares(ctx context.Context, user *userpb.User, filters []*ocm.ListOCMSharesRequest_Filter) ([]*ocm.Share, error)
ListShares returns the shares created by the user. If md is provided is not nil, it returns only shares attached to the given resource.
func (*Manager) SetHTTPClient ¶
SetHTTPClient sets the HTTP client.
func (*Manager) StoreReceivedShare ¶
func (sm *Manager) StoreReceivedShare(ctx context.Context, share *ocm.ReceivedShare) (*ocm.ReceivedShare, error)
StoreReceivedShare stores a received share.
func (*Manager) StoreShare ¶
StoreShare stores a share.
func (*Manager) UpdateReceivedShare ¶
func (sm *Manager) UpdateReceivedShare(ctx context.Context, user *userpb.User, share *ocm.ReceivedShare, fieldMask *field_mask.FieldMask) (*ocm.ReceivedShare, error)
UpdateReceivedShare updates the received share with share state.
func (*Manager) UpdateShare ¶
func (sm *Manager) UpdateShare(ctx context.Context, user *userpb.User, ref *ocm.ShareReference, f ...*ocm.UpdateOCMShareRequest_UpdateField) (*ocm.Share, error)
UpdateShare updates the mode of the given share.
type ReceivedShareAltMap ¶
type ReceivedShareAltMap struct {}
ReceivedShareAltMap is an alternative map to JSON-unmarshal a ReceivedShare.
type Response ¶
type Response struct {
// contains filtered or unexported fields
}
Response contains data for the Nextcloud mock server to respond and to switch to a new server state.
type ShareAltMap ¶
type ShareAltMap struct {}
ShareAltMap is an alternative map to JSON-unmarshal a Share.
type ShareManagerConfig ¶
type ShareManagerConfig struct {}
ShareManagerConfig contains config for a Nextcloud-based ShareManager.