From daaa08aa0958a2a39211eef8ab9b3b6196e0a466 Mon Sep 17 00:00:00 2001 From: Christian Richter Date: Thu, 15 Sep 2022 16:02:19 +0200 Subject: [PATCH] bugfixes Signed-off-by: Christian Richter --- services/notifications/pkg/email/email.go | 8 +++++--- .../pkg/email/templates/shareCreated.email.tmpl | 2 +- .../pkg/email/templates/sharedSpace.email.tmpl | 2 +- services/notifications/pkg/service/service.go | 17 +++++------------ 4 files changed, 12 insertions(+), 17 deletions(-) diff --git a/services/notifications/pkg/email/email.go b/services/notifications/pkg/email/email.go index fe56ca890..c0709b9ea 100644 --- a/services/notifications/pkg/email/email.go +++ b/services/notifications/pkg/email/email.go @@ -7,11 +7,13 @@ import ( "path/filepath" ) -// go:embed templates/*.tmpl +var ( + //go:embed templates + templatesFS embed.FS +) // RenderEmailTemplate renders the email template for a new share func RenderEmailTemplate(templateName string, templateVariables map[string]string, emailTemplatePath string) (string, error) { - var fs embed.FS var err error var tpl *template.Template templateHasBeenFound := false @@ -24,7 +26,7 @@ func RenderEmailTemplate(templateName string, templateVariables map[string]strin } if !templateHasBeenFound { // template has not been found in the fs, or path has not been specified => use embed templates - tpl, err = template.ParseFS(fs, templateName) + tpl, err = template.ParseFS(templatesFS, filepath.Join("templates/", templateName)) if err != nil { return "", err } diff --git a/services/notifications/pkg/email/templates/shareCreated.email.tmpl b/services/notifications/pkg/email/templates/shareCreated.email.tmpl index 408297ea3..4f6916033 100644 --- a/services/notifications/pkg/email/templates/shareCreated.email.tmpl +++ b/services/notifications/pkg/email/templates/shareCreated.email.tmpl @@ -1 +1 @@ -{{ShareSharer}} has shared {{ShareFolder}} with you. \ No newline at end of file +{{ .ShareSharer }} has shared {{ .ShareFolder }} with you. \ No newline at end of file diff --git a/services/notifications/pkg/email/templates/sharedSpace.email.tmpl b/services/notifications/pkg/email/templates/sharedSpace.email.tmpl index 0f67ce965..f70ec9a4c 100644 --- a/services/notifications/pkg/email/templates/sharedSpace.email.tmpl +++ b/services/notifications/pkg/email/templates/sharedSpace.email.tmpl @@ -1 +1 @@ -{{SpaceSharer}} has invited you to join {{SpaceName}} \ No newline at end of file +{{ .SpaceSharer }} has invited you to join {{ .SpaceName }} \ No newline at end of file diff --git a/services/notifications/pkg/service/service.go b/services/notifications/pkg/service/service.go index 8ae372788..7f01bacf6 100644 --- a/services/notifications/pkg/service/service.go +++ b/services/notifications/pkg/service/service.go @@ -72,7 +72,7 @@ func (s eventsNotifier) Run() error { func (s eventsNotifier) handleSpaceCreated(e events.SpaceCreated) { userResponse, err := s.gwClient.GetUser(context.Background(), &userv1beta1.GetUserRequest{ - UserId: e.Executant, + UserId: e.Owner, }) if err != nil || userResponse.Status.Code != rpcv1beta1.Code_CODE_OK { s.logger.Error(). @@ -143,8 +143,9 @@ func (s eventsNotifier) handleSpaceCreated(e events.SpaceCreated) { // old code msg, err := email.RenderEmailTemplate("sharedSpace.email.tmpl", map[string]string{ + // TODO: add additional fields here (like link etc.) "SpaceSharer": "spacesharer", - "SpaceName": "spacename", + "SpaceName": md.Info.Space.Name, }, s.emailTemplatePath) if err != nil { @@ -200,19 +201,10 @@ func (s eventsNotifier) handleShareCreated(e events.ShareCreated) { } ownerCtx = metadata.AppendToOutgoingContext(ownerCtx, ctxpkg.TokenHeader, authRes.Token) - resourceID, err := storagespace.ParseID(e.ItemID.OpaqueId) - if err != nil { - s.logger.Error(). - Err(err). - Str("event", "ShareCreated"). - Str("itemid", e.ItemID.OpaqueId). - Msg("could not parse resourceid from ItemID ") - return - } // TODO: maybe cache this stat to reduce storage iops md, err := s.gwClient.Stat(ownerCtx, &providerv1beta1.StatRequest{ Ref: &providerv1beta1.Reference{ - ResourceId: &resourceID, + ResourceId: e.ItemID, }, FieldMask: &fieldmaskpb.FieldMask{Paths: []string{"name"}}, }) @@ -237,6 +229,7 @@ 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, }, s.emailTemplatePath)