From 112488607e1d5eb8705dbe1ad3f800ab06fe5766 Mon Sep 17 00:00:00 2001 From: Ralf Haferkamp Date: Mon, 9 May 2022 11:31:09 +0200 Subject: [PATCH] Publish UserFeatureChanged event when users update their password --- extensions/graph/pkg/service/v0/password.go | 10 ++++++++++ extensions/graph/pkg/service/v0/password_test.go | 1 + 2 files changed, 11 insertions(+) diff --git a/extensions/graph/pkg/service/v0/password.go b/extensions/graph/pkg/service/v0/password.go index e24011a6e..51da7b41b 100644 --- a/extensions/graph/pkg/service/v0/password.go +++ b/extensions/graph/pkg/service/v0/password.go @@ -9,6 +9,7 @@ import ( gateway "github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1" cs3rpc "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1" revactx "github.com/cs3org/reva/v2/pkg/ctx" + "github.com/cs3org/reva/v2/pkg/events" "github.com/go-chi/render" libregraph "github.com/owncloud/libre-graph-api-go" "github.com/owncloud/ocis/v2/extensions/graph/pkg/service/v0/errorcode" @@ -83,6 +84,15 @@ func (g Graph) ChangeOwnPassword(w http.ResponseWriter, r *http.Request) { return } + g.publishEvent( + events.UserFeatureChanged{ + UserID: u.Id.OpaqueId, + Features: []events.UserFeature{ + events.UserFeature{Name: "password", Value: "***"}, + }, + }, + ) + render.Status(r, http.StatusNoContent) render.NoContent(w, r) } diff --git a/extensions/graph/pkg/service/v0/password_test.go b/extensions/graph/pkg/service/v0/password_test.go index 9c7c06f7c..65a0cb2ed 100644 --- a/extensions/graph/pkg/service/v0/password_test.go +++ b/extensions/graph/pkg/service/v0/password_test.go @@ -85,6 +85,7 @@ var _ = Describe("Users changing their own password", func() { }, } ctx = revactx.ContextSetUser(ctx, user) + eventsPublisher.On("Publish", mock.Anything, mock.Anything, mock.Anything).Return(nil) }) It("fails if no user in context", func() {