Guard endpoint

This commit is contained in:
Neil Alexander 2022-04-28 12:33:05 +01:00
parent 87c1dae4ae
commit 7359617c1c
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944

View file

@ -122,6 +122,19 @@ func Setup(
synapseAdminRouter.Handle("/admin/evacuateRoom",
httputil.MakeExternalAPI("admin_evacuate_room", func(req *http.Request) util.JSONResponse {
device, err := getSenderDevice(context.Background(), userAPI, cfg)
if err != nil {
return util.JSONResponse{
Code: http.StatusForbidden,
JSON: jsonerror.Forbidden("Couldn't determine if you were an admin or not."),
}
}
if device.AccountType != userapi.AccountTypeAdmin {
return util.JSONResponse{
Code: http.StatusForbidden,
JSON: jsonerror.Forbidden("This API can only be used by admin users."),
}
}
vars, err := httputil.URLDecodeMapValues(mux.Vars(req))
if err != nil {
return util.ErrorResponse(err)