notify about SpaceShared

Signed-off-by: jkoberg <jkoberg@owncloud.com>
This commit is contained in:
jkoberg
2023-03-09 09:24:16 +01:00
parent 00c8d68700
commit 49914e1c6b
4 changed files with 104 additions and 69 deletions
@@ -69,6 +69,42 @@ func (ul *UserlogService) SpaceDisabled(ctx context.Context, eventid string, ev
}
// SpaceShared converts a SpaceShared event to an OC10Notification
func (ul *UserlogService) SpaceShared(ctx context.Context, eventid string, ev events.SpaceShared) (OC10Notification, error) {
user, err := ul.getUser(ctx, ev.Executant)
if err != nil {
return OC10Notification{}, err
}
space, err := ul.getSpace(ul.impersonate(user.GetId()), ev.ID.GetOpaqueId())
if err != nil {
return OC10Notification{}, err
}
subj, subjraw, msg, msgraw, err := ul.composeMessage(SpaceShared, map[string]string{
"username": user.GetDisplayName(),
"spacename": space.GetName(),
})
if err != nil {
return OC10Notification{}, err
}
return OC10Notification{
EventID: eventid,
Service: ul.cfg.Service.Name,
UserName: user.GetUsername(),
Timestamp: time.Now().Format(time.RFC3339Nano),
ResourceID: ev.ID.GetOpaqueId(),
ResourceType: _resourceTypeSpace,
Subject: subj,
SubjectRaw: subjraw,
Message: msg,
MessageRaw: msgraw,
MessageDetails: ul.getDetails(user, space, nil),
}, nil
}
func (ul *UserlogService) composeMessage(eventname string, vars map[string]string) (string, string, string, string, error) {
tpl, ok := _templates[eventname]
if !ok {