aboutsummaryrefslogtreecommitdiff
path: root/clientapi
diff options
context:
space:
mode:
authorKegsay <kegan@matrix.org>2020-06-10 10:34:22 +0100
committerGitHub <noreply@github.com>2020-06-10 10:34:22 +0100
commit98cb0705eab07233cbc78fbe4342e1b1890c2a60 (patch)
tree66fe1d58d6926c0b477ddc507571503eb5d2e9c3 /clientapi
parent85ac8a3f5ba407ece584843a4d77466c1c4f5565 (diff)
Remove unused UserUpdates producer (#1109)
Diffstat (limited to 'clientapi')
-rw-r--r--clientapi/clientapi.go7
-rw-r--r--clientapi/producers/userupdate.go62
-rw-r--r--clientapi/routing/profile.go18
-rw-r--r--clientapi/routing/routing.go5
4 files changed, 5 insertions, 87 deletions
diff --git a/clientapi/clientapi.go b/clientapi/clientapi.go
index 987815c2..90db9eea 100644
--- a/clientapi/clientapi.go
+++ b/clientapi/clientapi.go
@@ -51,11 +51,6 @@ func AddPublicRoutes(
roomserverProducer := producers.NewRoomserverProducer(rsAPI)
eduProducer := producers.NewEDUServerProducer(eduInputAPI)
- userUpdateProducer := &producers.UserUpdateProducer{
- Producer: producer,
- Topic: string(cfg.Kafka.Topics.UserUpdates),
- }
-
syncProducer := &producers.SyncAPIProducer{
Producer: producer,
Topic: string(cfg.Kafka.Topics.OutputClientData),
@@ -70,7 +65,7 @@ func AddPublicRoutes(
routing.Setup(
router, cfg, roomserverProducer, rsAPI, asAPI,
- accountsDB, deviceDB, federation, *keyRing, userUpdateProducer,
+ accountsDB, deviceDB, federation, *keyRing,
syncProducer, eduProducer, transactionsCache, fsAPI,
)
}
diff --git a/clientapi/producers/userupdate.go b/clientapi/producers/userupdate.go
deleted file mode 100644
index 02e1700f..00000000
--- a/clientapi/producers/userupdate.go
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright 2017 Vector Creations Ltd
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package producers
-
-import (
- "encoding/json"
-
- "github.com/Shopify/sarama"
-)
-
-// UserUpdateProducer produces events related to user updates.
-type UserUpdateProducer struct {
- Topic string
- Producer sarama.SyncProducer
-}
-
-// TODO: Move this struct to `internal` so the components that consume the topic
-// can use it when parsing incoming messages
-type profileUpdate struct {
- Updated string `json:"updated"` // Which attribute is updated (can be either `avatar_url` or `displayname`)
- OldValue string `json:"old_value"` // The attribute's value before the update
- NewValue string `json:"new_value"` // The attribute's value after the update
-}
-
-// SendUpdate sends an update using kafka to notify the roomserver of the
-// profile update. Returns an error if the update failed to send.
-func (p *UserUpdateProducer) SendUpdate(
- userID string, updatedAttribute string, oldValue string, newValue string,
-) error {
- var update profileUpdate
- var m sarama.ProducerMessage
-
- m.Topic = string(p.Topic)
- m.Key = sarama.StringEncoder(userID)
-
- update = profileUpdate{
- Updated: updatedAttribute,
- OldValue: oldValue,
- NewValue: newValue,
- }
-
- value, err := json.Marshal(update)
- if err != nil {
- return err
- }
- m.Value = sarama.ByteEncoder(value)
-
- _, _, err = p.Producer.SendMessage(&m)
- return err
-}
diff --git a/clientapi/routing/profile.go b/clientapi/routing/profile.go
index dbf6ef1d..c0fe32a3 100644
--- a/clientapi/routing/profile.go
+++ b/clientapi/routing/profile.go
@@ -94,7 +94,7 @@ func GetAvatarURL(
// nolint:gocyclo
func SetAvatarURL(
req *http.Request, accountDB accounts.Database, device *authtypes.Device,
- userID string, producer *producers.UserUpdateProducer, cfg *config.Dendrite,
+ userID string, cfg *config.Dendrite,
rsProducer *producers.RoomserverProducer, rsAPI api.RoomserverInternalAPI,
) util.JSONResponse {
if userID != device.UserID {
@@ -104,8 +104,6 @@ func SetAvatarURL(
}
}
- changedKey := "avatar_url"
-
var r internal.AvatarURL
if resErr := httputil.UnmarshalJSONRequest(req, &r); resErr != nil {
return *resErr
@@ -174,11 +172,6 @@ func SetAvatarURL(
return jsonerror.InternalServerError()
}
- if err := producer.SendUpdate(userID, changedKey, oldProfile.AvatarURL, r.AvatarURL); err != nil {
- util.GetLogger(req.Context()).WithError(err).Error("producer.SendUpdate failed")
- return jsonerror.InternalServerError()
- }
-
return util.JSONResponse{
Code: http.StatusOK,
JSON: struct{}{},
@@ -216,7 +209,7 @@ func GetDisplayName(
// nolint:gocyclo
func SetDisplayName(
req *http.Request, accountDB accounts.Database, device *authtypes.Device,
- userID string, producer *producers.UserUpdateProducer, cfg *config.Dendrite,
+ userID string, cfg *config.Dendrite,
rsProducer *producers.RoomserverProducer, rsAPI api.RoomserverInternalAPI,
) util.JSONResponse {
if userID != device.UserID {
@@ -226,8 +219,6 @@ func SetDisplayName(
}
}
- changedKey := "displayname"
-
var r internal.DisplayName
if resErr := httputil.UnmarshalJSONRequest(req, &r); resErr != nil {
return *resErr
@@ -296,11 +287,6 @@ func SetDisplayName(
return jsonerror.InternalServerError()
}
- if err := producer.SendUpdate(userID, changedKey, oldProfile.DisplayName, r.DisplayName); err != nil {
- util.GetLogger(req.Context()).WithError(err).Error("producer.SendUpdate failed")
- return jsonerror.InternalServerError()
- }
-
return util.JSONResponse{
Code: http.StatusOK,
JSON: struct{}{},
diff --git a/clientapi/routing/routing.go b/clientapi/routing/routing.go
index 83e399ac..eb558205 100644
--- a/clientapi/routing/routing.go
+++ b/clientapi/routing/routing.go
@@ -55,7 +55,6 @@ func Setup(
deviceDB devices.Database,
federation *gomatrixserverlib.FederationClient,
keyRing gomatrixserverlib.KeyRing,
- userUpdateProducer *producers.UserUpdateProducer,
syncProducer *producers.SyncAPIProducer,
eduProducer *producers.EDUServerProducer,
transactionsCache *transactions.Cache,
@@ -387,7 +386,7 @@ func Setup(
if err != nil {
return util.ErrorResponse(err)
}
- return SetAvatarURL(req, accountDB, device, vars["userID"], userUpdateProducer, cfg, producer, rsAPI)
+ return SetAvatarURL(req, accountDB, device, vars["userID"], cfg, producer, rsAPI)
}),
).Methods(http.MethodPut, http.MethodOptions)
// Browsers use the OPTIONS HTTP method to check if the CORS policy allows
@@ -409,7 +408,7 @@ func Setup(
if err != nil {
return util.ErrorResponse(err)
}
- return SetDisplayName(req, accountDB, device, vars["userID"], userUpdateProducer, cfg, producer, rsAPI)
+ return SetDisplayName(req, accountDB, device, vars["userID"], cfg, producer, rsAPI)
}),
).Methods(http.MethodPut, http.MethodOptions)
// Browsers use the OPTIONS HTTP method to check if the CORS policy allows