Skip to content
Snippets Groups Projects
Commit 83f41642 authored by Travis Ralston's avatar Travis Ralston
Browse files

Reorganize project structure; Move the middle layer into a temporary home

The middle layer is being completely replaced. We're keeping it for reference for now though.

Part of #58
parent da57f17e
No related branches found
No related tags found
No related merge requests found
Showing
with 50 additions and 44 deletions
package r0
package custom
import (
"net/http"
......@@ -6,7 +6,7 @@ import (
"github.com/sirupsen/logrus"
"github.com/turt2live/matrix-media-repo/api"
"github.com/turt2live/matrix-media-repo/services/media_service"
"github.com/turt2live/matrix-media-repo/old_middle_layer/services/media_service"
)
type MediaPurgedResponse struct {
......
package r0
package custom
import (
"context"
......@@ -8,10 +8,10 @@ import (
"github.com/gorilla/mux"
"github.com/sirupsen/logrus"
"github.com/turt2live/matrix-media-repo/api"
"github.com/turt2live/matrix-media-repo/config"
"github.com/turt2live/matrix-media-repo/common/config"
"github.com/turt2live/matrix-media-repo/matrix"
"github.com/turt2live/matrix-media-repo/media_cache"
"github.com/turt2live/matrix-media-repo/services/media_service"
"github.com/turt2live/matrix-media-repo/old_middle_layer/media_cache"
"github.com/turt2live/matrix-media-repo/old_middle_layer/services/media_service"
"github.com/turt2live/matrix-media-repo/util"
)
......
......@@ -9,7 +9,7 @@ import (
"github.com/sirupsen/logrus"
"github.com/turt2live/matrix-media-repo/api"
"github.com/turt2live/matrix-media-repo/common"
"github.com/turt2live/matrix-media-repo/media_cache"
"github.com/turt2live/matrix-media-repo/old_middle_layer/media_cache"
"github.com/turt2live/matrix-media-repo/util"
)
......
......@@ -13,7 +13,7 @@ import (
"github.com/gorilla/mux"
"github.com/sirupsen/logrus"
"github.com/turt2live/matrix-media-repo/api"
"github.com/turt2live/matrix-media-repo/config"
"github.com/turt2live/matrix-media-repo/common/config"
"github.com/turt2live/matrix-media-repo/util"
)
......
......@@ -8,8 +8,8 @@ import (
"github.com/sirupsen/logrus"
"github.com/turt2live/matrix-media-repo/api"
"github.com/turt2live/matrix-media-repo/common"
"github.com/turt2live/matrix-media-repo/config"
"github.com/turt2live/matrix-media-repo/services/url_service"
"github.com/turt2live/matrix-media-repo/common/config"
"github.com/turt2live/matrix-media-repo/old_middle_layer/services/url_service"
"github.com/turt2live/matrix-media-repo/util"
)
......
......@@ -8,8 +8,8 @@ import (
"github.com/sirupsen/logrus"
"github.com/turt2live/matrix-media-repo/api"
"github.com/turt2live/matrix-media-repo/common"
"github.com/turt2live/matrix-media-repo/config"
"github.com/turt2live/matrix-media-repo/media_cache"
"github.com/turt2live/matrix-media-repo/common/config"
"github.com/turt2live/matrix-media-repo/old_middle_layer/media_cache"
"github.com/turt2live/matrix-media-repo/util"
)
......
......@@ -8,7 +8,7 @@ import (
"github.com/sirupsen/logrus"
"github.com/turt2live/matrix-media-repo/api"
"github.com/turt2live/matrix-media-repo/common"
"github.com/turt2live/matrix-media-repo/services/media_service"
"github.com/turt2live/matrix-media-repo/old_middle_layer/services/media_service"
)
type MediaUploadedResponse struct {
......
package r0
package unstable
import (
"net/http"
......@@ -9,7 +9,7 @@ import (
"github.com/sirupsen/logrus"
"github.com/turt2live/matrix-media-repo/api"
"github.com/turt2live/matrix-media-repo/common"
"github.com/turt2live/matrix-media-repo/media_cache"
"github.com/turt2live/matrix-media-repo/old_middle_layer/media_cache"
)
type MediaInfoResponse struct {
......
package r0
package unstable
import (
"net/http"
"github.com/sirupsen/logrus"
"github.com/turt2live/matrix-media-repo/api"
"github.com/turt2live/matrix-media-repo/config"
"github.com/turt2live/matrix-media-repo/common/config"
)
type LimitsResponse struct {
......
package r0
package unstable
import (
"net/http"
......@@ -7,9 +7,10 @@ import (
"github.com/gorilla/mux"
"github.com/sirupsen/logrus"
"github.com/turt2live/matrix-media-repo/api"
"github.com/turt2live/matrix-media-repo/api/r0"
"github.com/turt2live/matrix-media-repo/common"
"github.com/turt2live/matrix-media-repo/media_cache"
"github.com/turt2live/matrix-media-repo/services/media_service"
"github.com/turt2live/matrix-media-repo/old_middle_layer/media_cache"
"github.com/turt2live/matrix-media-repo/old_middle_layer/services/media_service"
)
func LocalCopy(r *http.Request, log *logrus.Entry, user api.UserInfo) interface{} {
......@@ -55,7 +56,7 @@ func LocalCopy(r *http.Request, log *logrus.Entry, user api.UserInfo) interface{
// Don't clone the media if it's already available on this domain
if streamedMedia.Media.Origin == r.Host {
return &MediaUploadedResponse{streamedMedia.Media.MxcUri()}
return &r0.MediaUploadedResponse{streamedMedia.Media.MxcUri()}
}
newMedia, err := svc.StoreMedia(streamedMedia.Stream, streamedMedia.Media.ContentType, streamedMedia.Media.UploadName, user.UserId, r.Host, "")
......@@ -68,5 +69,5 @@ func LocalCopy(r *http.Request, log *logrus.Entry, user api.UserInfo) interface{
return api.InternalServerError("Unexpected Error")
}
return &MediaUploadedResponse{newMedia.MxcUri()}
return &r0.MediaUploadedResponse{newMedia.MxcUri()}
}
......@@ -10,8 +10,10 @@ import (
"github.com/gorilla/mux"
"github.com/sirupsen/logrus"
"github.com/turt2live/matrix-media-repo/api"
"github.com/turt2live/matrix-media-repo/api/custom"
"github.com/turt2live/matrix-media-repo/api/r0"
"github.com/turt2live/matrix-media-repo/config"
"github.com/turt2live/matrix-media-repo/api/unstable"
"github.com/turt2live/matrix-media-repo/common/config"
)
type route struct {
......@@ -29,15 +31,15 @@ func Init() {
thumbnailHandler := handler{api.AccessTokenOptionalRoute(r0.ThumbnailMedia), counter}
previewUrlHandler := handler{api.AccessTokenRequiredRoute(r0.PreviewUrl), counter}
identiconHandler := handler{api.AccessTokenOptionalRoute(r0.Identicon), counter}
purgeHandler := handler{api.RepoAdminRoute(r0.PurgeRemoteMedia), counter}
quarantineHandler := handler{api.AccessTokenRequiredRoute(r0.QuarantineMedia), counter}
quarantineRoomHandler := handler{api.AccessTokenRequiredRoute(r0.QuarantineRoomMedia), counter}
localCopyHandler := handler{api.AccessTokenRequiredRoute(r0.LocalCopy), counter}
infoHandler := handler{api.AccessTokenRequiredRoute(r0.MediaInfo), counter}
limitsHandler := handler{api.AccessTokenRequiredRoute(r0.Limits), counter}
purgeHandler := handler{api.RepoAdminRoute(custom.PurgeRemoteMedia), counter}
quarantineHandler := handler{api.AccessTokenRequiredRoute(custom.QuarantineMedia), counter}
quarantineRoomHandler := handler{api.AccessTokenRequiredRoute(custom.QuarantineRoomMedia), counter}
localCopyHandler := handler{api.AccessTokenRequiredRoute(unstable.LocalCopy), counter}
infoHandler := handler{api.AccessTokenRequiredRoute(unstable.MediaInfo), counter}
limitsHandler := handler{api.AccessTokenRequiredRoute(unstable.Limits), counter}
routes := make(map[string]route)
versions := []string{"r0", "v1"} // r0 is typically clients and v1 is typically servers. v1 is deprecated.
versions := []string{"r0", "v1", "unstable"} // r0 is typically clients and v1 is typically servers. v1 is deprecated.
for _, version := range versions {
// Standard routes we have to handle
......@@ -47,18 +49,21 @@ func Init() {
routes["/_matrix/media/"+version+"/thumbnail/{server:[a-zA-Z0-9.:\\-_]+}/{mediaId:[a-zA-Z0-9.\\-_]+}"] = route{"GET", thumbnailHandler}
routes["/_matrix/media/"+version+"/preview_url"] = route{"GET", previewUrlHandler}
routes["/_matrix/media/"+version+"/identicon/{seed:.*}"] = route{"GET", identiconHandler}
routes["/_matrix/media/"+version+"/limits"] = route{"GET", limitsHandler}
// Routes that we define but are not part of the spec
routes["/_matrix/media/"+version+"/admin/purge_remote"] = route{"POST", purgeHandler}
routes["/_matrix/media/"+version+"/admin/quarantine/{server:[a-zA-Z0-9.:\\-_]+}/{mediaId:[a-zA-Z0-9.\\-_]+}"] = route{"POST", quarantineHandler}
routes["/_matrix/media/"+version+"/admin/room/{roomId:[^/]+}/quarantine"] = route{"POST", quarantineRoomHandler}
routes["/_matrix/media/"+version+"/local_copy/{server:[a-zA-Z0-9.:\\-_]+}/{mediaId:[a-zA-Z0-9.\\-_]+}"] = route{"GET", localCopyHandler}
routes["/_matrix/media/"+version+"/info/{server:[a-zA-Z0-9.:\\-_]+}/{mediaId:[a-zA-Z0-9.\\-_]+}"] = route{"GET", infoHandler}
// Routes that we should handle but aren't in the media namespace
routes["/_matrix/client/"+version+"/admin/purge_media_cache"] = route{"POST", purgeHandler}
routes["/_matrix/client/"+version+"/admin/quarantine_media/{roomId:[^/]+}"] = route{"POST", quarantineRoomHandler}
if version == "unstable" {
routes["/_matrix/media/"+version+"/limits"] = route{"GET", limitsHandler}
routes["/_matrix/media/"+version+"/local_copy/{server:[a-zA-Z0-9.:\\-_]+}/{mediaId:[a-zA-Z0-9.\\-_]+}"] = route{"GET", localCopyHandler}
routes["/_matrix/media/"+version+"/info/{server:[a-zA-Z0-9.:\\-_]+}/{mediaId:[a-zA-Z0-9.\\-_]+}"] = route{"GET", infoHandler}
}
}
for routePath, route := range routes {
......
......@@ -14,9 +14,9 @@ import (
"github.com/howeyc/gopass"
"github.com/jeffail/tunny"
"github.com/sirupsen/logrus"
"github.com/turt2live/matrix-media-repo/config"
"github.com/turt2live/matrix-media-repo/logging"
"github.com/turt2live/matrix-media-repo/services/media_service"
"github.com/turt2live/matrix-media-repo/common/config"
"github.com/turt2live/matrix-media-repo/common/logging"
"github.com/turt2live/matrix-media-repo/old_middle_layer/services/media_service"
"github.com/turt2live/matrix-media-repo/synapse"
)
......
......@@ -5,8 +5,8 @@ import (
"github.com/sirupsen/logrus"
"github.com/turt2live/matrix-media-repo/api/webserver"
"github.com/turt2live/matrix-media-repo/config"
"github.com/turt2live/matrix-media-repo/logging"
"github.com/turt2live/matrix-media-repo/common/config"
"github.com/turt2live/matrix-media-repo/common/logging"
)
func main() {
......
......@@ -6,7 +6,7 @@ import (
"github.com/matrix-org/gomatrix"
"github.com/rubyist/circuitbreaker"
"github.com/turt2live/matrix-media-repo/common"
"github.com/turt2live/matrix-media-repo/config"
"github.com/turt2live/matrix-media-repo/common/config"
"github.com/turt2live/matrix-media-repo/util"
)
......
......@@ -9,7 +9,7 @@ import (
"github.com/patrickmn/go-cache"
"github.com/sirupsen/logrus"
"github.com/turt2live/matrix-media-repo/config"
"github.com/turt2live/matrix-media-repo/common/config"
"github.com/turt2live/matrix-media-repo/util"
"github.com/turt2live/matrix-media-repo/util/download_tracker"
)
......
......@@ -11,8 +11,8 @@ import (
"github.com/pkg/errors"
"github.com/sirupsen/logrus"
"github.com/turt2live/matrix-media-repo/common"
"github.com/turt2live/matrix-media-repo/config"
"github.com/turt2live/matrix-media-repo/services/media_service"
"github.com/turt2live/matrix-media-repo/common/config"
"github.com/turt2live/matrix-media-repo/old_middle_layer/services/media_service"
"github.com/turt2live/matrix-media-repo/types"
"github.com/turt2live/matrix-media-repo/util"
)
......
......@@ -13,8 +13,8 @@ import (
"github.com/patrickmn/go-cache"
"github.com/sirupsen/logrus"
"github.com/turt2live/matrix-media-repo/common"
"github.com/turt2live/matrix-media-repo/config"
"github.com/turt2live/matrix-media-repo/services/thumbnail_service"
"github.com/turt2live/matrix-media-repo/common/config"
"github.com/turt2live/matrix-media-repo/old_middle_layer/services/thumbnail_service"
"github.com/turt2live/matrix-media-repo/types"
"github.com/turt2live/matrix-media-repo/util"
)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment