diff options
author | Neil Alexander <neilalexander@users.noreply.github.com> | 2020-07-28 10:53:17 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-28 10:53:17 +0100 |
commit | acc8e80a51515c953c6710cb24f36fd9d1f7aeb1 (patch) | |
tree | b33ecfd8e4d7ed3ac7aa66226f8fd80c1cdcf649 /userapi/inthttp | |
parent | c63286713570e1274759db971b15405665fa391a (diff) |
User directory (#1225)
* User directory
* Fix syncapi unit test
* Make user directory only show remote users you know about from your joined rooms
* Update sytest-whitelist
* Review comments
Diffstat (limited to 'userapi/inthttp')
-rw-r--r-- | userapi/inthttp/client.go | 19 | ||||
-rw-r--r-- | userapi/inthttp/server.go | 13 |
2 files changed, 27 insertions, 5 deletions
diff --git a/userapi/inthttp/client.go b/userapi/inthttp/client.go index b2b42823..3e1ac066 100644 --- a/userapi/inthttp/client.go +++ b/userapi/inthttp/client.go @@ -31,11 +31,12 @@ const ( PerformDeviceCreationPath = "/userapi/performDeviceCreation" PerformAccountCreationPath = "/userapi/performAccountCreation" - QueryProfilePath = "/userapi/queryProfile" - QueryAccessTokenPath = "/userapi/queryAccessToken" - QueryDevicesPath = "/userapi/queryDevices" - QueryAccountDataPath = "/userapi/queryAccountData" - QueryDeviceInfosPath = "/userapi/queryDeviceInfos" + QueryProfilePath = "/userapi/queryProfile" + QueryAccessTokenPath = "/userapi/queryAccessToken" + QueryDevicesPath = "/userapi/queryDevices" + QueryAccountDataPath = "/userapi/queryAccountData" + QueryDeviceInfosPath = "/userapi/queryDeviceInfos" + QuerySearchProfilesPath = "/userapi/querySearchProfiles" ) // NewUserAPIClient creates a UserInternalAPI implemented by talking to a HTTP POST API. @@ -141,3 +142,11 @@ func (h *httpUserInternalAPI) QueryAccountData(ctx context.Context, req *api.Que apiURL := h.apiURL + QueryAccountDataPath return httputil.PostJSON(ctx, span, h.httpClient, apiURL, req, res) } + +func (h *httpUserInternalAPI) QuerySearchProfiles(ctx context.Context, req *api.QuerySearchProfilesRequest, res *api.QuerySearchProfilesResponse) error { + span, ctx := opentracing.StartSpanFromContext(ctx, "QuerySearchProfiles") + defer span.Finish() + + apiURL := h.apiURL + QuerySearchProfilesPath + return httputil.PostJSON(ctx, span, h.httpClient, apiURL, req, res) +} diff --git a/userapi/inthttp/server.go b/userapi/inthttp/server.go index d8e151ad..d29f4d44 100644 --- a/userapi/inthttp/server.go +++ b/userapi/inthttp/server.go @@ -117,4 +117,17 @@ func AddRoutes(internalAPIMux *mux.Router, s api.UserInternalAPI) { return util.JSONResponse{Code: http.StatusOK, JSON: &response} }), ) + internalAPIMux.Handle(QueryDeviceInfosPath, + httputil.MakeInternalAPI("querySearchProfiles", func(req *http.Request) util.JSONResponse { + request := api.QuerySearchProfilesRequest{} + response := api.QuerySearchProfilesResponse{} + if err := json.NewDecoder(req.Body).Decode(&request); err != nil { + return util.MessageResponse(http.StatusBadRequest, err.Error()) + } + if err := s.QuerySearchProfiles(req.Context(), &request, &response); err != nil { + return util.ErrorResponse(err) + } + return util.JSONResponse{Code: http.StatusOK, JSON: &response} + }), + ) } |