github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/atc/api/pipelineserver/delete.go (about)

     1  package pipelineserver
     2  
     3  import (
     4  	"net/http"
     5  
     6  	"code.cloudfoundry.org/lager"
     7  	"github.com/pf-qiu/concourse/v6/atc/db"
     8  )
     9  
    10  func (s *Server) DeletePipeline(pipelineDB db.Pipeline) http.Handler {
    11  	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
    12  		logger := s.logger.Session("destroying-pipeline", lager.Data{
    13  			"name": pipelineDB.Name(),
    14  		})
    15  
    16  		logger.Info("start")
    17  
    18  		err := pipelineDB.Destroy()
    19  		if err != nil {
    20  			logger.Error("failed", err)
    21  
    22  			w.WriteHeader(http.StatusInternalServerError)
    23  			return
    24  		}
    25  
    26  		logger.Info("done")
    27  
    28  		w.WriteHeader(http.StatusNoContent)
    29  	})
    30  }