fix devops api for tenant

This commit is contained in:
shaowenchen
2020-05-25 19:19:33 +08:00
parent bb94d6da24
commit 6d3647405c
3 changed files with 83 additions and 101 deletions

View File

@@ -50,9 +50,9 @@ func newDevOpsHandler(devopsClient devopsClient.Interface, k8sclient kubernetes.
// devopsproject handler about get/list/post/put/delete
func (h *devopsHandler) GetDevOpsProject(request *restful.Request, response *restful.Response) {
workspace := request.PathParameter("workspace")
projectName := request.PathParameter("projectName")
devops := request.PathParameter("devops")
project, err := h.devops.GetDevOpsProject(workspace, projectName)
project, err := h.devops.GetDevOpsProject(workspace, devops)
if err != nil {
klog.Error(err)
@@ -139,9 +139,9 @@ func (h *devopsHandler) UpdateDevOpsProject(request *restful.Request, response *
func (h *devopsHandler) DeleteDevOpsProject(request *restful.Request, response *restful.Response) {
workspace := request.PathParameter("workspace")
projectName := request.PathParameter("projectName")
devops := request.PathParameter("devops")
err := h.devops.DeleteDevOpsProject(workspace, projectName)
err := h.devops.DeleteDevOpsProject(workspace, devops)
if err != nil {
klog.Error(err)
@@ -158,11 +158,10 @@ func (h *devopsHandler) DeleteDevOpsProject(request *restful.Request, response *
// pipeline handler about get/list/post/put/delete
func (h *devopsHandler) GetPipeline(request *restful.Request, response *restful.Response) {
workspace := request.PathParameter("workspace")
projectName := request.PathParameter("projectName")
pipelineName := request.PathParameter("pipelineName")
devops := request.PathParameter("devops")
pipeline := request.PathParameter("pipeline")
obj, err := h.devops.GetPipelineObj(workspace, projectName, pipelineName)
obj, err := h.devops.GetPipelineObj(devops, pipeline)
if err != nil {
klog.Error(err)
@@ -178,9 +177,8 @@ func (h *devopsHandler) GetPipeline(request *restful.Request, response *restful.
}
func (h *devopsHandler) ListPipeline(request *restful.Request, response *restful.Response) {
workspace := request.PathParameter("workspace")
projectName := request.PathParameter("projectName")
objs, err := h.devops.ListPipelineObj(workspace, projectName)
devops := request.PathParameter("devops")
objs, err := h.devops.ListPipelineObj(devops)
if err != nil {
klog.Error(err)
@@ -196,8 +194,7 @@ func (h *devopsHandler) ListPipeline(request *restful.Request, response *restful
}
func (h *devopsHandler) CreatePipeline(request *restful.Request, response *restful.Response) {
workspace := request.PathParameter("workspace")
projectName := request.PathParameter("projectName")
devops := request.PathParameter("devops")
var pipeline v1alpha3.Pipeline
err := request.ReadEntity(&pipeline)
@@ -207,7 +204,7 @@ func (h *devopsHandler) CreatePipeline(request *restful.Request, response *restf
return
}
created, err := h.devops.CreatePipelineObj(workspace, projectName, &pipeline)
created, err := h.devops.CreatePipelineObj(devops, &pipeline)
if err != nil {
klog.Error(err)
@@ -223,8 +220,7 @@ func (h *devopsHandler) CreatePipeline(request *restful.Request, response *restf
}
func (h *devopsHandler) UpdatePipeline(request *restful.Request, response *restful.Response) {
workspace := request.PathParameter("workspace")
projectName := request.PathParameter("projectName")
devops := request.PathParameter("devops")
var pipeline v1alpha3.Pipeline
err := request.ReadEntity(&pipeline)
@@ -235,7 +231,7 @@ func (h *devopsHandler) UpdatePipeline(request *restful.Request, response *restf
return
}
obj, err := h.devops.UpdatePipelineObj(workspace, projectName, &pipeline)
obj, err := h.devops.UpdatePipelineObj(devops, &pipeline)
if err != nil {
klog.Error(err)
@@ -251,11 +247,10 @@ func (h *devopsHandler) UpdatePipeline(request *restful.Request, response *restf
}
func (h *devopsHandler) DeletePipeline(request *restful.Request, response *restful.Response) {
workspace := request.PathParameter("workspace")
projectName := request.PathParameter("projectName")
pipelineName := request.PathParameter("pipelineName")
devops := request.PathParameter("devops")
pipeline := request.PathParameter("pipeline")
err := h.devops.DeletePipelineObj(workspace, projectName, pipelineName)
err := h.devops.DeletePipelineObj(devops, pipeline)
if err != nil {
klog.Error(err)
@@ -272,11 +267,10 @@ func (h *devopsHandler) DeletePipeline(request *restful.Request, response *restf
//credential handler about get/list/post/put/delete
func (h *devopsHandler) GetCredential(request *restful.Request, response *restful.Response) {
workspace := request.PathParameter("workspace")
projectName := request.PathParameter("projectName")
credentialName := request.PathParameter("credentialName")
devops := request.PathParameter("devops")
credential := request.PathParameter("credential")
obj, err := h.devops.GetCredentialObj(workspace, projectName, credentialName)
obj, err := h.devops.GetCredentialObj(devops, credential)
if err != nil {
klog.Error(err)
@@ -292,10 +286,9 @@ func (h *devopsHandler) GetCredential(request *restful.Request, response *restfu
}
func (h *devopsHandler) ListCredential(request *restful.Request, response *restful.Response) {
workspace := request.PathParameter("workspace")
projectName := request.PathParameter("projectName")
devops := request.PathParameter("devops")
objs, err := h.devops.ListCredentialObj(workspace, projectName)
objs, err := h.devops.ListCredentialObj(devops)
if err != nil {
klog.Error(err)
@@ -311,8 +304,7 @@ func (h *devopsHandler) ListCredential(request *restful.Request, response *restf
}
func (h *devopsHandler) CreateCredential(request *restful.Request, response *restful.Response) {
workspace := request.PathParameter("workspace")
projectName := request.PathParameter("projectName")
devops := request.PathParameter("devops")
var obj v1.Secret
err := request.ReadEntity(&obj)
@@ -322,7 +314,7 @@ func (h *devopsHandler) CreateCredential(request *restful.Request, response *res
return
}
created, err := h.devops.CreateCredentialObj(workspace, projectName, &obj)
created, err := h.devops.CreateCredentialObj(devops, &obj)
if err != nil {
klog.Error(err)
@@ -338,8 +330,7 @@ func (h *devopsHandler) CreateCredential(request *restful.Request, response *res
}
func (h *devopsHandler) UpdateCredential(request *restful.Request, response *restful.Response) {
workspace := request.PathParameter("workspace")
projectName := request.PathParameter("projectName")
devops := request.PathParameter("devops")
var obj v1.Secret
err := request.ReadEntity(&obj)
@@ -349,7 +340,7 @@ func (h *devopsHandler) UpdateCredential(request *restful.Request, response *res
return
}
updated, err := h.devops.UpdateCredentialObj(workspace, projectName, &obj)
updated, err := h.devops.UpdateCredentialObj(devops, &obj)
if err != nil {
klog.Error(err)
@@ -365,11 +356,10 @@ func (h *devopsHandler) UpdateCredential(request *restful.Request, response *res
}
func (h *devopsHandler) DeleteCredential(request *restful.Request, response *restful.Response) {
workspace := request.PathParameter("workspace")
projectName := request.PathParameter("projectName")
credentialName := request.PathParameter("credentialName")
devops := request.PathParameter("devops")
credential := request.PathParameter("credential")
err := h.devops.DeleteCredentialObj(workspace, projectName, credentialName)
err := h.devops.DeleteCredentialObj(devops, credential)
if err != nil {
klog.Error(err)

View File

@@ -51,128 +51,120 @@ func AddToContainer(container *restful.Container, devopsClient devopsClient.Inte
ws := runtime.NewWebService(GroupVersion)
handler := newDevOpsHandler(devopsClient, k8sclient, ksclient, ksInformers, k8sInformers)
// credential
ws.Route(ws.GET("/workspaces/{workspace}/devopsprojects/{projectName}/credential/").
ws.Route(ws.GET("/devops/{devops}/credentials").
To(handler.ListCredential).
Param(ws.PathParameter("workspace", "workspace name")).
Param(ws.PathParameter("projectName", "devops name")).
Doc("list the credential of the specified devops for the current user").
Param(ws.PathParameter("devops", "devops name")).
Doc("list the credentials of the specified devops for the current user").
Returns(http.StatusOK, api.StatusOK, []v1alpha3.PipelineList{}).
Metadata(restfulspec.KeyOpenAPITags, []string{constants.DevOpsProjectTag}))
ws.Route(ws.POST("/workspaces/{workspace}/devopsprojects/{projectName}/credential/").
ws.Route(ws.POST("/devops/{devops}/credentials").
To(handler.CreateCredential).
Param(ws.PathParameter("workspace", "workspace name")).
Param(ws.PathParameter("projectName", "devops name")).
Param(ws.PathParameter("devops", "devops name")).
Doc("create the credential of the specified devops for the current user").
Returns(http.StatusOK, api.StatusOK, []v1alpha3.Pipeline{}).
Metadata(restfulspec.KeyOpenAPITags, []string{constants.DevOpsProjectTag}))
ws.Route(ws.GET("/workspaces/{workspace}/devopsprojects/{projectName}/credential/{credentialName}/").
ws.Route(ws.GET("/devops/{devops}/credentials/{credential}").
To(handler.GetCredential).
Param(ws.PathParameter("workspace", "workspace name")).
Param(ws.PathParameter("projectName", "project name")).
Param(ws.PathParameter("devops", "project name")).
Param(ws.PathParameter("credential", "pipeline name")).
Doc("get the credential of the specified devops for the current user").
Returns(http.StatusOK, api.StatusOK, []v1.Secret{}).
Metadata(restfulspec.KeyOpenAPITags, []string{constants.DevOpsProjectTag}))
ws.Route(ws.PUT("/workspaces/{workspace}/devopsprojects/{projectName}/credential/{credentialName}/").
ws.Route(ws.PUT("/devops/{devops}/credentials/{credential}").
To(handler.UpdateCredential).
Param(ws.PathParameter("workspace", "workspace name")).
Param(ws.PathParameter("projectName", "project name")).
Param(ws.PathParameter("credentialName", "credential name")).
Param(ws.PathParameter("devops", "project name")).
Param(ws.PathParameter("credential", "credential name")).
Doc("put the credential of the specified devops for the current user").
Returns(http.StatusOK, api.StatusOK, []v1.Secret{}).
Metadata(restfulspec.KeyOpenAPITags, []string{constants.DevOpsProjectTag}))
ws.Route(ws.DELETE("/workspaces/{workspace}/devopsprojects/{projectName}/credential/{credentialName}/").
ws.Route(ws.DELETE("/devops/{devops}/credentials/{credential}").
To(handler.DeleteCredential).
Param(ws.PathParameter("workspace", "workspace name")).
Param(ws.PathParameter("projectName", "project name")).
Param(ws.PathParameter("credentialName", "credential name")).
Param(ws.PathParameter("devops", "project name")).
Param(ws.PathParameter("credential", "credential name")).
Doc("delete the credential of the specified devops for the current user").
Returns(http.StatusOK, api.StatusOK, []v1.Secret{}).
Metadata(restfulspec.KeyOpenAPITags, []string{constants.DevOpsPipelineTag}))
// pipeline
ws.Route(ws.GET("/workspaces/{workspace}/devopsprojects/{projectName}/pipelines/").
ws.Route(ws.GET("/devops/{devops}/pipelines").
To(handler.ListPipeline).
Param(ws.PathParameter("workspace", "workspace name")).
Param(ws.PathParameter("projectName", "devops name")).
Doc("list the pipeline of the specified devops for the current user").
Param(ws.PathParameter("devops", "devops name")).
Doc("list the pipelines of the specified devops for the current user").
Returns(http.StatusOK, api.StatusOK, []v1alpha3.PipelineList{}).
Metadata(restfulspec.KeyOpenAPITags, []string{constants.DevOpsProjectTag}))
ws.Route(ws.POST("/workspaces/{workspace}/devopsprojects/{projectName}/pipelines/").
ws.Route(ws.POST("/devops/{devops}/pipelines").
To(handler.CreatePipeline).
Param(ws.PathParameter("workspace", "workspace name")).
Param(ws.PathParameter("projectName", "devops name")).
Param(ws.PathParameter("devops", "devops name")).
Doc("create the pipeline of the specified devops for the current user").
Returns(http.StatusOK, api.StatusOK, []v1alpha3.Pipeline{}).
Metadata(restfulspec.KeyOpenAPITags, []string{constants.DevOpsProjectTag}))
ws.Route(ws.GET("/workspaces/{workspace}/devopsprojects/{projectName}/pipelines/{pipelineName}/").
ws.Route(ws.GET("/devops/{devops}/pipelines/{pipeline}").
To(handler.GetPipeline).
Param(ws.PathParameter("workspace", "workspace name")).
Param(ws.PathParameter("projectName", "project name")).
Param(ws.PathParameter("pipelineName", "pipeline name")).
Param(ws.PathParameter("devops", "project name")).
Param(ws.PathParameter("pipeline", "pipeline name")).
Doc("get the pipeline of the specified devops for the current user").
Returns(http.StatusOK, api.StatusOK, []v1alpha3.Pipeline{}).
Metadata(restfulspec.KeyOpenAPITags, []string{constants.DevOpsProjectTag}))
ws.Route(ws.PUT("/workspaces/{workspace}/devopsprojects/{projectName}/pipelines/{pipelineName}/").
ws.Route(ws.PUT("/devops/{devops}/pipelines/{pipeline}").
To(handler.UpdatePipeline).
Param(ws.PathParameter("workspace", "workspace name")).
Param(ws.PathParameter("projectName", "project name")).
Param(ws.PathParameter("pipelineName", "pipeline name")).
Param(ws.PathParameter("devops", "project name")).
Param(ws.PathParameter("pipeline", "pipeline name")).
Doc("put the pipeline of the specified devops for the current user").
Returns(http.StatusOK, api.StatusOK, []v1alpha3.Pipeline{}).
Metadata(restfulspec.KeyOpenAPITags, []string{constants.DevOpsProjectTag}))
ws.Route(ws.DELETE("/workspaces/{workspace}/devopsprojects/{projectName}/pipelines/{pipelineName}/").
ws.Route(ws.DELETE("/devops/{devops}/pipelines/{pipeline}").
To(handler.DeletePipeline).
Param(ws.PathParameter("workspace", "workspace name")).
Param(ws.PathParameter("projectName", "project name")).
Param(ws.PathParameter("pipelineName", "pipeline name")).
Param(ws.PathParameter("devops", "project name")).
Param(ws.PathParameter("pipeline", "pipeline name")).
Doc("delete the pipeline of the specified devops for the current user").
Returns(http.StatusOK, api.StatusOK, []v1alpha3.Pipeline{}).
Metadata(restfulspec.KeyOpenAPITags, []string{constants.DevOpsPipelineTag}))
// devops
ws.Route(ws.GET("/workspaces/{workspace}/devopsprojects/").
ws.Route(ws.GET("/workspaces/{workspace}/devops").
To(handler.ListDevOpsProject).
Param(ws.PathParameter("workspace", "workspace name")).
Doc("List the devopsproject of the specified workspace for the current user").
Returns(http.StatusOK, api.StatusOK, []v1alpha3.DevOpsProjectList{}).
Metadata(restfulspec.KeyOpenAPITags, []string{constants.DevOpsProjectTag}))
ws.Route(ws.POST("/workspaces/{workspace}/devopsprojects/").
ws.Route(ws.POST("/workspaces/{workspace}/devops").
To(handler.CreateDevOpsProject).
Param(ws.PathParameter("workspace", "workspace name")).
Doc("Create the devopsproject of the specified workspace for the current user").
Returns(http.StatusOK, api.StatusOK, []v1alpha3.DevOpsProject{}).
Metadata(restfulspec.KeyOpenAPITags, []string{constants.DevOpsProjectTag}))
ws.Route(ws.GET("/workspaces/{workspace}/devopsprojects/{projectName}/").
ws.Route(ws.GET("/workspaces/{workspace}/devops/{devops}").
To(handler.GetDevOpsProject).
Param(ws.PathParameter("workspace", "workspace name")).
Param(ws.PathParameter("projectName", "project name")).
Param(ws.PathParameter("devops", "project name")).
Doc("Get the devopsproject of the specified workspace for the current user").
Returns(http.StatusOK, api.StatusOK, []v1alpha3.DevOpsProject{}).
Metadata(restfulspec.KeyOpenAPITags, []string{constants.DevOpsProjectTag}))
ws.Route(ws.PUT("/workspaces/{workspace}/devopsprojects/{projectName}/").
ws.Route(ws.PUT("/workspaces/{workspace}/devops/{devops}").
To(handler.UpdateDevOpsProject).
Param(ws.PathParameter("workspace", "workspace name")).
Param(ws.PathParameter("projectName", "project name")).
Param(ws.PathParameter("devops", "project name")).
Doc("Put the devopsproject of the specified workspace for the current user").
Returns(http.StatusOK, api.StatusOK, []v1alpha3.DevOpsProject{}).
Metadata(restfulspec.KeyOpenAPITags, []string{constants.DevOpsProjectTag}))
ws.Route(ws.DELETE("/workspaces/{workspace}/devopsprojects/{projectName}/").
ws.Route(ws.DELETE("/workspaces/{workspace}/devops/{devops}").
To(handler.DeleteDevOpsProject).
Param(ws.PathParameter("workspace", "workspace name")).
Param(ws.PathParameter("projectName", "project name")).
Param(ws.PathParameter("devops", "project name")).
Doc("Get the devopsproject of the specified workspace for the current user").
Returns(http.StatusOK, api.StatusOK, []v1alpha3.DevOpsProject{}).
Metadata(restfulspec.KeyOpenAPITags, []string{constants.DevOpsProjectTag}))