github.com/covergates/covergates@v0.2.2-0.20201009050117-42ef8a19fb95/routers/api/repo/context.go (about)

     1  package repo
     2  
     3  import (
     4  	"github.com/covergates/covergates/core"
     5  	"github.com/gin-gonic/gin"
     6  )
     7  
     8  const keyRepo = "repository"
     9  
    10  // WithRepo in context
    11  func WithRepo(store core.RepoStore) gin.HandlerFunc {
    12  	return func(c *gin.Context) {
    13  		repo, err := store.Find(&core.Repo{
    14  			NameSpace: c.Param("namespace"),
    15  			Name:      c.Param("name"),
    16  			SCM:       core.SCMProvider(c.Param("scm")),
    17  		})
    18  		if err != nil {
    19  			c.String(400, err.Error())
    20  			c.Abort()
    21  			return
    22  		}
    23  		c.Set(keyRepo, repo)
    24  	}
    25  }