|
|
@@ -2,6 +2,7 @@ package router
|
|
|
|
|
|
import (
|
|
|
"github.com/go-chi/chi"
|
|
|
+ "github.com/porter-dev/porter/api/server/handlers/cluster"
|
|
|
"github.com/porter-dev/porter/api/server/handlers/project"
|
|
|
"github.com/porter-dev/porter/api/server/shared"
|
|
|
"github.com/porter-dev/porter/api/types"
|
|
|
@@ -33,17 +34,6 @@ func GetProjectScopedRoutes(
|
|
|
})
|
|
|
}
|
|
|
|
|
|
- // // Note that we can place the middleware r.Use below
|
|
|
-
|
|
|
- // // all project-scoped routes
|
|
|
-
|
|
|
- // // Create a new "project-scoped" factory which will create a new project-scoped request
|
|
|
- // // after authorization. Each subsequent http.Handler can lookup the project in context.
|
|
|
- // projFactory := authz.NewProjectScopedFactory(config)
|
|
|
-
|
|
|
- // // attach middleware to router
|
|
|
- // r.Use(projFactory.Middleware)
|
|
|
-
|
|
|
return routes
|
|
|
}
|
|
|
|
|
|
@@ -62,10 +52,10 @@ func getProjectRoutes(
|
|
|
|
|
|
routes := make([]*Route, 0)
|
|
|
|
|
|
- // POST /api/projects -> project.NewProjectCreateHandler
|
|
|
+ // GET /api/projects/{project_id} -> project.NewProjectGetHandler
|
|
|
getEndpoint := factory.NewAPIEndpoint(
|
|
|
&types.APIRequestMetadata{
|
|
|
- Verb: types.APIVerbCreate,
|
|
|
+ Verb: types.APIVerbGet,
|
|
|
Method: types.HTTPVerbGet,
|
|
|
Path: &types.Path{
|
|
|
Parent: basePath,
|
|
|
@@ -78,14 +68,41 @@ func getProjectRoutes(
|
|
|
},
|
|
|
)
|
|
|
|
|
|
- createHandler := project.NewProjectGetHandler(
|
|
|
+ getHandler := project.NewProjectGetHandler(
|
|
|
config,
|
|
|
factory.GetResultWriter(),
|
|
|
)
|
|
|
|
|
|
routes = append(routes, &Route{
|
|
|
Endpoint: getEndpoint,
|
|
|
- Handler: createHandler,
|
|
|
+ Handler: getHandler,
|
|
|
+ Router: r,
|
|
|
+ })
|
|
|
+
|
|
|
+ // GET /api/projects/{project_id}/clusters -> cluster.NewClusterListHandler
|
|
|
+ listClusterEndpoint := factory.NewAPIEndpoint(
|
|
|
+ &types.APIRequestMetadata{
|
|
|
+ Verb: types.APIVerbList,
|
|
|
+ Method: types.HTTPVerbGet,
|
|
|
+ Path: &types.Path{
|
|
|
+ Parent: basePath,
|
|
|
+ RelativePath: relPath + "/clusters",
|
|
|
+ },
|
|
|
+ Scopes: []types.PermissionScope{
|
|
|
+ types.UserScope,
|
|
|
+ types.ProjectScope,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ )
|
|
|
+
|
|
|
+ listClusterHandler := cluster.NewClusterListHandler(
|
|
|
+ config,
|
|
|
+ factory.GetResultWriter(),
|
|
|
+ )
|
|
|
+
|
|
|
+ routes = append(routes, &Route{
|
|
|
+ Endpoint: listClusterEndpoint,
|
|
|
+ Handler: listClusterHandler,
|
|
|
Router: r,
|
|
|
})
|
|
|
|