mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-05-18 13:35:37 -04:00
handle spaceshared event
Signed-off-by: Christian Richter <crichter@owncloud.com>
This commit is contained in:
@@ -29,6 +29,7 @@ func RegisteredEvents() []events.Unmarshaller {
|
||||
events.SpaceEnabled{},
|
||||
events.SpaceDisabled{},
|
||||
events.SpaceDeleted{},
|
||||
events.SpaceShared{},
|
||||
events.UserCreated{},
|
||||
events.UserDeleted{},
|
||||
events.UserFeatureChanged{},
|
||||
|
||||
@@ -28,8 +28,10 @@ func Server(cfg *config.Config) *cli.Command {
|
||||
Action: func(c *cli.Context) error {
|
||||
logger := logging.Configure(cfg.Service.Name, cfg.Log)
|
||||
|
||||
// evs defines a list of events to subscribe to
|
||||
evs := []events.Unmarshaller{
|
||||
events.ShareCreated{},
|
||||
events.SpaceShared{},
|
||||
}
|
||||
|
||||
evtsCfg := cfg.Notifications.Events
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
{{ .SpaceSharer }} has invited you to join {{ .SpaceName }}
|
||||
{{ .SpaceSharer }} has invited you to join {{ .SpaceName }}
|
||||
|
||||
Link: {{ .ShareLink }}
|
||||
@@ -73,7 +73,7 @@ func (s eventsNotifier) Run() error {
|
||||
|
||||
func (s eventsNotifier) handleSpaceShared(e events.SpaceShared) {
|
||||
userResponse, err := s.gwClient.GetUser(context.Background(), &userv1beta1.GetUserRequest{
|
||||
UserId: e.Owner,
|
||||
UserId: e.Creator,
|
||||
})
|
||||
if err != nil || userResponse.Status.Code != rpcv1beta1.Code_CODE_OK {
|
||||
s.logger.Error().
|
||||
@@ -120,7 +120,8 @@ func (s eventsNotifier) handleSpaceShared(e events.SpaceShared) {
|
||||
Ref: &providerv1beta1.Reference{
|
||||
ResourceId: &resourceID,
|
||||
},
|
||||
FieldMask: &fieldmaskpb.FieldMask{Paths: []string{"name"}},
|
||||
// TODO: this filter needs to be implemented
|
||||
//FieldMask: &fieldmaskpb.FieldMask{Paths: []string{"space.name"}},
|
||||
})
|
||||
|
||||
if err != nil || md.Status.Code != rpcv1beta1.Code_CODE_OK {
|
||||
@@ -142,11 +143,21 @@ func (s eventsNotifier) handleSpaceShared(e events.SpaceShared) {
|
||||
return
|
||||
}
|
||||
|
||||
// old code
|
||||
shareLink, err := url.JoinPath(e.Executant.Idp, "files/spaces/projects", storagespace.FormatResourceID(*e.ID))
|
||||
|
||||
if err != nil {
|
||||
s.logger.Error().
|
||||
Err(err).
|
||||
Str("event", "ShareCreated").
|
||||
Msg("could not create link to the share")
|
||||
return
|
||||
}
|
||||
|
||||
msg, err := email.RenderEmailTemplate("sharedSpace.email.tmpl", map[string]string{
|
||||
// TODO: add additional fields here (like link etc.)
|
||||
"SpaceSharer": "spacesharer",
|
||||
"SpaceName": md.Info.Space.Name,
|
||||
"SpaceSharer": userResponse.GetUser().DisplayName,
|
||||
"SpaceName": md.GetInfo().GetSpace().Name,
|
||||
"ShareLink": shareLink,
|
||||
}, s.emailTemplatePath)
|
||||
|
||||
if err != nil {
|
||||
@@ -155,8 +166,10 @@ func (s eventsNotifier) handleSpaceShared(e events.SpaceShared) {
|
||||
Str("event", "SpaceCreated").
|
||||
Msg("Could not render E-Mail template for spaces")
|
||||
}
|
||||
if e.Executant != nil {
|
||||
err = s.channel.SendMessage([]string{e.Executant.OpaqueId}, msg, "You were invited to join a space")
|
||||
if e.GranteeUserID != nil {
|
||||
err = s.channel.SendMessage([]string{e.GranteeUserID.OpaqueId}, msg, "You have received a share.")
|
||||
} else if e.GranteeGroupID != nil {
|
||||
err = s.channel.SendMessageToGroup(e.GranteeGroupID, msg, "You have received a share.")
|
||||
}
|
||||
if err != nil {
|
||||
s.logger.Error().
|
||||
@@ -241,8 +254,8 @@ func (s eventsNotifier) handleShareCreated(e events.ShareCreated) {
|
||||
|
||||
msg, err := email.RenderEmailTemplate("shareCreated.email.tmpl", map[string]string{
|
||||
// TODO: add additional fields here (like link etc.)
|
||||
"ShareSharer": userResponse.User.DisplayName,
|
||||
"ShareFolder": md.Info.Name,
|
||||
"ShareSharer": userResponse.GetUser().DisplayName,
|
||||
"ShareFolder": md.GetInfo().Name,
|
||||
"ShareLink": shareLink,
|
||||
}, s.emailTemplatePath)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user