Documentation ¶
Index ¶
- Variables
- func Consume(s Consumer, group string, evs ...Unmarshaller) (<-chan interface{}, error)
- func Publish(s Publisher, ev interface{}) error
- type Consumer
- type ContainerCreated
- type FileDownloaded
- type FileUploaded
- type FileVersionRestored
- type GroupCreated
- type GroupDeleted
- type GroupMemberAdded
- type GroupMemberRemoved
- type ItemMoved
- type ItemPurged
- type ItemRestored
- type ItemTrashed
- type LinkAccessFailed
- type LinkAccessed
- type LinkCreated
- type LinkRemoved
- type LinkUpdated
- type Publisher
- type ReceivedShareUpdated
- type ShareCreated
- type ShareRemoved
- type ShareUpdated
- type SpaceCreated
- type SpaceDeleted
- type SpaceDisabled
- type SpaceEnabled
- type SpaceRenamed
- type Stream
- type Unmarshaller
- type UserCreated
- type UserDeleted
- type UserFeature
- type UserFeatureChanged
Constants ¶
This section is empty.
Variables ¶
var ( // MainQueueName is the name of the main queue // All events will go through here as they are forwarded to the consumer via the // group name // TODO: "fan-out" so not all events go through the same queue? requires investigation MainQueueName = "main-queue" // MetadatakeyEventType is the key used for the eventtype in the metadata map of the event MetadatakeyEventType = "eventtype" )
Functions ¶
func Consume ¶
func Consume(s Consumer, group string, evs ...Unmarshaller) (<-chan interface{}, error)
Consume returns a channel that will get all events that match the given evs group defines the service type: One group will get exactly one copy of a event that is emitted NOTE: uses reflect on initialization
Types ¶
type ContainerCreated ¶ added in v2.3.0
ContainerCreated is emitted when a directory has been created
func (ContainerCreated) Unmarshal ¶ added in v2.3.0
func (ContainerCreated) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type FileDownloaded ¶ added in v2.1.0
FileDownloaded is emitted when a file is downloaded
func (FileDownloaded) Unmarshal ¶ added in v2.1.0
func (FileDownloaded) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type FileUploaded ¶ added in v2.1.0
FileUploaded is emitted when a file is uploaded
func (FileUploaded) Unmarshal ¶ added in v2.1.0
func (FileUploaded) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type FileVersionRestored ¶ added in v2.1.0
type FileVersionRestored struct { Executant *user.UserId Ref *provider.Reference Owner *user.UserId Key string }
FileVersionRestored is emitted when a file version is restored
func (FileVersionRestored) Unmarshal ¶ added in v2.1.0
func (FileVersionRestored) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type GroupCreated ¶ added in v2.2.0
GroupCreated is emitted when a group was created
func (GroupCreated) Unmarshal ¶ added in v2.2.0
func (GroupCreated) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type GroupDeleted ¶ added in v2.2.0
GroupDeleted is emitted when a group was deleted
func (GroupDeleted) Unmarshal ¶ added in v2.2.0
func (GroupDeleted) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type GroupMemberAdded ¶ added in v2.2.0
GroupMemberAdded is emitted when a user was added to a group
func (GroupMemberAdded) Unmarshal ¶ added in v2.2.0
func (GroupMemberAdded) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type GroupMemberRemoved ¶ added in v2.2.0
GroupMemberRemoved is emitted when a user was removed from a group
func (GroupMemberRemoved) Unmarshal ¶ added in v2.2.0
func (GroupMemberRemoved) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type ItemMoved ¶ added in v2.1.0
type ItemMoved struct { Executant *user.UserId Ref *provider.Reference Owner *user.UserId OldReference *provider.Reference }
ItemMoved is emitted when a file or folder is moved
type ItemPurged ¶ added in v2.1.0
type ItemPurged struct { Executant *user.UserId ID *provider.ResourceId Ref *provider.Reference Owner *user.UserId }
ItemPurged is emitted when a file or folder is removed from trashbin
func (ItemPurged) Unmarshal ¶ added in v2.1.0
func (ItemPurged) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type ItemRestored ¶ added in v2.1.0
type ItemRestored struct { Executant *user.UserId ID *provider.ResourceId Ref *provider.Reference Owner *user.UserId OldReference *provider.Reference Key string }
ItemRestored is emitted when a file or folder is restored from trashbin
func (ItemRestored) Unmarshal ¶ added in v2.1.0
func (ItemRestored) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type ItemTrashed ¶ added in v2.1.0
type ItemTrashed struct { Executant *user.UserId ID *provider.ResourceId Ref *provider.Reference Owner *user.UserId }
ItemTrashed is emitted when a file or folder is trashed
func (ItemTrashed) Unmarshal ¶ added in v2.1.0
func (ItemTrashed) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type LinkAccessFailed ¶ added in v2.1.0
LinkAccessFailed is emitted when an access to a public link has resulted in an error (by token)
func (LinkAccessFailed) Unmarshal ¶ added in v2.1.0
func (LinkAccessFailed) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type LinkAccessed ¶ added in v2.1.0
type LinkAccessed struct { Executant *user.UserId ItemID *provider.ResourceId Permissions *link.PublicSharePermissions DisplayName string Expiration *types.Timestamp PasswordProtected bool CTime *types.Timestamp Token string }
LinkAccessed is emitted when a public link is accessed successfully (by token)
func (LinkAccessed) Unmarshal ¶ added in v2.1.0
func (LinkAccessed) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type LinkCreated ¶ added in v2.1.0
type LinkCreated struct { Executant *user.UserId ItemID *provider.ResourceId Permissions *link.PublicSharePermissions DisplayName string Expiration *types.Timestamp PasswordProtected bool CTime *types.Timestamp Token string }
LinkCreated is emitted when a public link is created
func (LinkCreated) Unmarshal ¶ added in v2.1.0
func (LinkCreated) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type LinkRemoved ¶ added in v2.1.0
LinkRemoved is emitted when a share is removed
func (LinkRemoved) Unmarshal ¶ added in v2.1.0
func (LinkRemoved) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type LinkUpdated ¶ added in v2.1.0
type LinkUpdated struct { Executant *user.UserId ItemID *provider.ResourceId Permissions *link.PublicSharePermissions DisplayName string Expiration *types.Timestamp PasswordProtected bool CTime *types.Timestamp Token string FieldUpdated string }
LinkUpdated is emitted when a public link is updated
func (LinkUpdated) Unmarshal ¶ added in v2.1.0
func (LinkUpdated) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type Publisher ¶
type Publisher interface {
Publish(string, interface{}, ...events.PublishOption) error
}
Publisher is the interface publishers need to fulfill
type ReceivedShareUpdated ¶ added in v2.1.0
type ReceivedShareUpdated struct {}
ReceivedShareUpdated is emitted when a received share is accepted or declined
func (ReceivedShareUpdated) Unmarshal ¶ added in v2.1.0
func (ReceivedShareUpdated) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type ShareCreated ¶
type ShareCreated struct { // split the protobuf Grantee oneof so we can use stdlib encoding/json }
ShareCreated is emitted when a share is created
func (ShareCreated) Unmarshal ¶
func (ShareCreated) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type ShareRemoved ¶ added in v2.1.0
type ShareRemoved struct { // split protobuf Spec }
ShareRemoved is emitted when a share is removed
func (ShareRemoved) Unmarshal ¶ added in v2.1.0
func (ShareRemoved) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type ShareUpdated ¶ added in v2.1.0
type ShareUpdated struct { string }Updated
ShareUpdated is emitted when a share is updated
func (ShareUpdated) Unmarshal ¶ added in v2.1.0
func (ShareUpdated) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type SpaceCreated ¶ added in v2.1.0
type SpaceCreated struct { Executant *user.UserId ID *provider.StorageSpaceId Owner *user.UserId Root *provider.ResourceId Name string Type string Quota *provider.Quota MTime *types.Timestamp }
SpaceCreated is emitted when a space is created
func (SpaceCreated) Unmarshal ¶ added in v2.1.0
func (SpaceCreated) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type SpaceDeleted ¶ added in v2.1.0
type SpaceDeleted struct { Executant *user.UserId ID *provider.StorageSpaceId }
SpaceDeleted is emitted when a space is deleted
func (SpaceDeleted) Unmarshal ¶ added in v2.1.0
func (SpaceDeleted) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type SpaceDisabled ¶ added in v2.1.0
type SpaceDisabled struct { Executant *user.UserId ID *provider.StorageSpaceId }
SpaceDisabled is emitted when a space is disabled
func (SpaceDisabled) Unmarshal ¶ added in v2.1.0
func (SpaceDisabled) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type SpaceEnabled ¶ added in v2.1.0
SpaceEnabled is emitted when a space is (re-)enabled
func (SpaceEnabled) Unmarshal ¶ added in v2.1.0
func (SpaceEnabled) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type SpaceRenamed ¶ added in v2.1.0
type SpaceRenamed struct { Executant *user.UserId ID *provider.StorageSpaceId Owner *user.UserId Name string }
SpaceRenamed is emitted when a space is renamed
func (SpaceRenamed) Unmarshal ¶ added in v2.1.0
func (SpaceRenamed) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type Stream ¶
type Stream interface { Publish(string, interface{}, ...events.PublishOption) error Consume(string, ...events.ConsumeOption) (<-chan events.Event, error) }
Stream is the interface common to Publisher and Consumer
type Unmarshaller ¶
Unmarshaller is the interface events need to fulfill
type UserCreated ¶ added in v2.2.0
UserCreated is emitted when a user was created
func (UserCreated) Unmarshal ¶ added in v2.2.0
func (UserCreated) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type UserDeleted ¶ added in v2.2.0
UserDeleted is emitted when a user was deleted
func (UserDeleted) Unmarshal ¶ added in v2.2.0
func (UserDeleted) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
type UserFeature ¶ added in v2.2.0
UserFeature represents a user feature
type UserFeatureChanged ¶ added in v2.2.0
type UserFeatureChanged struct { Executant *user.UserId UserID string Features []UserFeature }
UserFeatureChanged is emitted when a user feature was changed
func (UserFeatureChanged) Unmarshal ¶ added in v2.2.0
func (UserFeatureChanged) Unmarshal(v []byte) (interface{}, error)
Unmarshal to fulfill umarshaller interface
Directories ¶
Path | Synopsis |
---|---|
consumer
Package consumer contains an example implementation of an event consumer
|
Package consumer contains an example implementation of an event consumer |
publisher
Package publisher contains an example implementation for a publisher
|
Package publisher contains an example implementation for a publisher |