Use gomatrixserverlib device structs
MODIFY
federationapi/routing/devices.go
federationapi/routing/devices.go
@@ -15,19 +15,13 @@ package routing
import (
"net/http"
- "github.com/matrix-org/dendrite/clientapi/auth/authtypes"
"github.com/matrix-org/dendrite/clientapi/auth/storage/devices"
"github.com/matrix-org/dendrite/clientapi/jsonerror"
"github.com/matrix-org/dendrite/clientapi/userutil"
+ "github.com/matrix-org/gomatrixserverlib"
"github.com/matrix-org/util"
)
-type userDevicesResponse struct {
- UserID string `json:"user_id"`
- StreamID int `json:"stream_id"`
- Devices []authtypes.Device `json:"devices"`
-}
-
// GetUserDevices for the given user id
func GetUserDevices(
req *http.Request,
@@ -42,20 +36,30 @@ func GetUserDevices(
}
}
+ response := gomatrixserverlib.RespUserDevices{
+ UserID: userID,
+ // TODO: we should return an incrementing stream ID each time the device
+ // list changes for delta changes to be recognised
+ StreamID: 0,
+ }
+
devs, err := deviceDB.GetDevicesByLocalpart(req.Context(), localpart)
if err != nil {
util.GetLogger(req.Context()).WithError(err).Error("deviceDB.GetDevicesByLocalPart failed")
return jsonerror.InternalServerError()
}
+ for _, dev := range devs {
+ device := gomatrixserverlib.RespUserDevice{
+ DeviceID: dev.ID,
+ DisplayName: dev.DisplayName,
+ Keys: []gomatrixserverlib.RespUserDeviceKeys{},
+ }
+ response.Devices = append(response.Devices, device)
+ }
+
return util.JSONResponse{
Code: 200,
- // TODO: we should return an incrementing stream ID each time the device
- // list changes for delta changes to be recognised
- JSON: userDevicesResponse{
- UserID: userID,
- StreamID: 0,
- Devices: devs,
- },
+ JSON: response,
}
}

MODIFY
go.mod
go.mod
@@ -18,7 +18,7 @@ require (
github.com/matrix-org/go-http-js-libp2p v0.0.0-20200518170932-783164aeeda4
github.com/matrix-org/go-sqlite3-js v0.0.0-20200522092705-bc8506ccbcf3
github.com/matrix-org/gomatrix v0.0.0-20190528120928-7df988a63f26
- github.com/matrix-org/gomatrixserverlib v0.0.0-20200601162724-79e93fe989cf
+ github.com/matrix-org/gomatrixserverlib v0.0.0-20200602095934-0117edafc57a
github.com/matrix-org/naffka v0.0.0-20200422140631-181f1ee7401f
github.com/matrix-org/util v0.0.0-20190711121626-527ce5ddefc7
github.com/mattn/go-sqlite3 v2.0.2+incompatible

MODIFY
go.sum
go.sum
@@ -356,8 +356,8 @@ github.com/matrix-org/go-sqlite3-js v0.0.0-20200522092705-bc8506ccbcf3 h1:Yb+Wlf
github.com/matrix-org/go-sqlite3-js v0.0.0-20200522092705-bc8506ccbcf3/go.mod h1:e+cg2q7C7yE5QnAXgzo512tgFh1RbQLC0+jozuegKgo=
github.com/matrix-org/gomatrix v0.0.0-20190528120928-7df988a63f26 h1:Hr3zjRsq2bhrnp3Ky1qgx/fzCtCALOoGYylh2tpS9K4=
github.com/matrix-org/gomatrix v0.0.0-20190528120928-7df988a63f26/go.mod h1:3fxX6gUjWyI/2Bt7J1OLhpCzOfO/bB3AiX0cJtEKud0=
-github.com/matrix-org/gomatrixserverlib v0.0.0-20200601162724-79e93fe989cf h1:iT2dfJ6JmYNRZBQTXeCNwsZIvfkBbFggzclM8iKnbR0=
-github.com/matrix-org/gomatrixserverlib v0.0.0-20200601162724-79e93fe989cf/go.mod h1:JsAzE1Ll3+gDWS9JSUHPJiiyAksvOOnGWF2nXdg4ZzU=
+github.com/matrix-org/gomatrixserverlib v0.0.0-20200602095934-0117edafc57a h1:TX8oRfmzq84CFTcEuk1uvDPzV+jA9SlRSEj8MU/W3o0=
+github.com/matrix-org/gomatrixserverlib v0.0.0-20200602095934-0117edafc57a/go.mod h1:JsAzE1Ll3+gDWS9JSUHPJiiyAksvOOnGWF2nXdg4ZzU=
github.com/matrix-org/naffka v0.0.0-20200422140631-181f1ee7401f h1:pRz4VTiRCO4zPlEMc3ESdUOcW4PXHH4Kj+YDz1XyE+Y=
github.com/matrix-org/naffka v0.0.0-20200422140631-181f1ee7401f/go.mod h1:y0oDTjZDv5SM9a2rp3bl+CU+bvTRINQsdb7YlDql5Go=
github.com/matrix-org/util v0.0.0-20190711121626-527ce5ddefc7 h1:ntrLa/8xVzeSs8vHFHK25k0C+NV74sYMJnNSg5NoSRo=

Use gomatrixserverlib device structs (#1079)