You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by li...@apache.org on 2023/01/03 13:11:24 UTC

[incubator-devlake] branch main updated: fix: accept project with name containing slash (#4087)

This is an automated email from the ASF dual-hosted git repository.

likyh pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git


The following commit(s) were added to refs/heads/main by this push:
     new 37468f1d9 fix: accept project with name containing slash (#4087)
37468f1d9 is described below

commit 37468f1d95c7fd3ba042828979f57c8561bbc7ef
Author: Klesh Wong <zh...@merico.dev>
AuthorDate: Tue Jan 3 21:11:20 2023 +0800

    fix: accept project with name containing slash (#4087)
---
 api/project/project.go | 4 ++--
 api/router.go          | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/api/project/project.go b/api/project/project.go
index 22e25b524..f9662b19c 100644
--- a/api/project/project.go
+++ b/api/project/project.go
@@ -42,7 +42,7 @@ type PaginatedProjects struct {
 // @Failure 500  {string} errcode.Error "Internal Error"
 // @Router /projects/:projectName [get]
 func GetProject(c *gin.Context) {
-	projectName := c.Param("projectName")
+	projectName := c.Param("projectName")[1:]
 
 	projectOutput, err := services.GetProject(projectName)
 	if err != nil {
@@ -116,7 +116,7 @@ func PostProject(c *gin.Context) {
 // @Failure 500  {string} errcode.Error "Internal Error"
 // @Router /projects/:projectName [patch]
 func PatchProject(c *gin.Context) {
-	projectName := c.Param("projectName")
+	projectName := c.Param("projectName")[1:]
 
 	var body map[string]interface{}
 	err := c.ShouldBind(&body)
diff --git a/api/router.go b/api/router.go
index d7311c4fd..c0761a0f2 100644
--- a/api/router.go
+++ b/api/router.go
@@ -66,8 +66,8 @@ func RegisterRouter(r *gin.Engine) {
 	r.GET("/plugins", plugininfo.GetPluginMetas)
 
 	// project api
-	r.GET("/projects/:projectName", project.GetProject)
-	r.PATCH("/projects/:projectName", project.PatchProject)
+	r.GET("/projects/*projectName", project.GetProject)
+	r.PATCH("/projects/*projectName", project.PatchProject)
 	//r.DELETE("/projects/:projectName", project.DeleteProject)
 	r.POST("/projects", project.PostProject)
 	r.GET("/projects", project.GetProjects)