aboutsummaryrefslogtreecommitdiff
path: root/mediaapi
diff options
context:
space:
mode:
authorKegsay <kegan@matrix.org>2020-06-16 14:10:55 +0100
committerGitHub <noreply@github.com>2020-06-16 14:10:55 +0100
commit9c77022513f400db59409f5b55fc6223d38d6bb8 (patch)
tree52223755553ef4d7065747528e40c27a79a71dff /mediaapi
parent57b7fa3db801c27190bfd143cfebe98e3d76a6ae (diff)
Make userapi responsible for checking access tokens (#1133)
* Make userapi responsible for checking access tokens There's still plenty of dependencies on account/device DBs, but this is a start. This is a breaking change as it adds a required config value `listen.user_api`. * Cleanup * Review comments and test fix
Diffstat (limited to 'mediaapi')
-rw-r--r--mediaapi/mediaapi.go7
-rw-r--r--mediaapi/routing/routing.go17
2 files changed, 7 insertions, 17 deletions
diff --git a/mediaapi/mediaapi.go b/mediaapi/mediaapi.go
index d4e260ea..9219ba20 100644
--- a/mediaapi/mediaapi.go
+++ b/mediaapi/mediaapi.go
@@ -16,18 +16,17 @@ package mediaapi
import (
"github.com/gorilla/mux"
- "github.com/matrix-org/dendrite/clientapi/auth/storage/devices"
"github.com/matrix-org/dendrite/internal/config"
"github.com/matrix-org/dendrite/mediaapi/routing"
"github.com/matrix-org/dendrite/mediaapi/storage"
+ userapi "github.com/matrix-org/dendrite/userapi/api"
"github.com/matrix-org/gomatrixserverlib"
"github.com/sirupsen/logrus"
)
// AddPublicRoutes sets up and registers HTTP handlers for the MediaAPI component.
func AddPublicRoutes(
- router *mux.Router, cfg *config.Dendrite,
- deviceDB devices.Database,
+ router *mux.Router, cfg *config.Dendrite, userAPI userapi.UserInternalAPI,
) {
mediaDB, err := storage.Open(string(cfg.Database.MediaAPI), cfg.DbProperties())
if err != nil {
@@ -35,6 +34,6 @@ func AddPublicRoutes(
}
routing.Setup(
- router, cfg, mediaDB, deviceDB, gomatrixserverlib.NewClient(),
+ router, cfg, mediaDB, userAPI, gomatrixserverlib.NewClient(),
)
}
diff --git a/mediaapi/routing/routing.go b/mediaapi/routing/routing.go
index 6bcd3f55..71804606 100644
--- a/mediaapi/routing/routing.go
+++ b/mediaapi/routing/routing.go
@@ -17,11 +17,9 @@ package routing
import (
"net/http"
- "github.com/matrix-org/dendrite/clientapi/auth"
- "github.com/matrix-org/dendrite/clientapi/auth/authtypes"
+ userapi "github.com/matrix-org/dendrite/userapi/api"
"github.com/gorilla/mux"
- "github.com/matrix-org/dendrite/clientapi/auth/storage/devices"
"github.com/matrix-org/dendrite/internal/config"
"github.com/matrix-org/dendrite/internal/httputil"
"github.com/matrix-org/dendrite/mediaapi/storage"
@@ -44,7 +42,7 @@ func Setup(
publicAPIMux *mux.Router,
cfg *config.Dendrite,
db storage.Database,
- deviceDB devices.Database,
+ userAPI userapi.UserInternalAPI,
client *gomatrixserverlib.Client,
) {
r0mux := publicAPIMux.PathPrefix(pathPrefixR0).Subrouter()
@@ -52,16 +50,9 @@ func Setup(
activeThumbnailGeneration := &types.ActiveThumbnailGeneration{
PathToResult: map[string]*types.ThumbnailGenerationResult{},
}
- authData := auth.Data{
- AccountDB: nil,
- DeviceDB: deviceDB,
- AppServices: nil,
- }
-
- // TODO: Add AS support
r0mux.Handle("/upload", httputil.MakeAuthAPI(
- "upload", authData,
- func(req *http.Request, _ *authtypes.Device) util.JSONResponse {
+ "upload", userAPI,
+ func(req *http.Request, _ *userapi.Device) util.JSONResponse {
return Upload(req, cfg, db, activeThumbnailGeneration)
},
)).Methods(http.MethodPost, http.MethodOptions)