aboutsummaryrefslogtreecommitdiff
path: root/userapi/inthttp
diff options
context:
space:
mode:
authorNeil Alexander <neilalexander@users.noreply.github.com>2020-07-28 10:53:17 +0100
committerGitHub <noreply@github.com>2020-07-28 10:53:17 +0100
commitacc8e80a51515c953c6710cb24f36fd9d1f7aeb1 (patch)
treeb33ecfd8e4d7ed3ac7aa66226f8fd80c1cdcf649 /userapi/inthttp
parentc63286713570e1274759db971b15405665fa391a (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.go19
-rw-r--r--userapi/inthttp/server.go13
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}
+ }),
+ )
}