func ProjectMiddleware(c *gin.Context) { user := c.MustGet("user").(*models.User) projectID, err := util.GetIntParam("project_id", c) if err != nil { return } query, args, _ := squirrel.Select("p.*"). From("project as p"). Join("project__user as pu on pu.project_id=p.id"). Where("p.id=?", projectID). Where("pu.user_id=?", user.ID). ToSql() var project models.Project if err := database.Mysql.SelectOne(&project, query, args...); err != nil { if err == sql.ErrNoRows { c.AbortWithStatus(404) return } panic(err) } c.Set("project", project) c.Next() }
func EnvironmentMiddleware(c *gin.Context) { project := c.MustGet("project").(models.Project) envID, err := util.GetIntParam("environment_id", c) if err != nil { return } query, args, _ := squirrel.Select("*"). From("project__environment"). Where("project_id=?", project.ID). Where("id=?", envID). ToSql() var env models.Environment if err := database.Mysql.SelectOne(&env, query, args...); err != nil { if err == sql.ErrNoRows { c.AbortWithStatus(404) return } panic(err) } c.Set("environment", env) c.Next() }
func InventoryMiddleware(c *gin.Context) { project := c.MustGet("project").(models.Project) inventoryID, err := util.GetIntParam("inventory_id", c) if err != nil { return } query, args, _ := squirrel.Select("*"). From("project__inventory"). Where("project_id=?", project.ID). Where("id=?", inventoryID). ToSql() var inventory models.Inventory if err := database.Mysql.SelectOne(&inventory, query, args...); err != nil { if err == sql.ErrNoRows { c.AbortWithStatus(404) return } panic(err) } c.Set("inventory", inventory) c.Next() }
func GetTaskMiddleware(c *gin.Context) { taskID, err := util.GetIntParam("task_id", c) if err != nil { panic(err) } var task models.Task if err := database.Mysql.SelectOne(&task, "select * from task where id=?", taskID); err != nil { panic(err) } c.Set("task", task) c.Next() }
func getUserMiddleware(c *gin.Context) { userID, err := util.GetIntParam("user_id", c) if err != nil { return } var user models.User if err := database.Mysql.SelectOne(&user, "select * from user where id=?", userID); err != nil { if err == sql.ErrNoRows { c.AbortWithStatus(404) return } panic(err) } c.Set("_user", user) c.Next() }
func TemplatesMiddleware(c *gin.Context) { project := c.MustGet("project").(models.Project) templateID, err := util.GetIntParam("template_id", c) if err != nil { return } var template models.Template if err := database.Mysql.SelectOne(&template, "select * from project__template where project_id=? and id=?", project.ID, templateID); err != nil { if err == sql.ErrNoRows { c.AbortWithStatus(404) return } panic(err) } c.Set("template", template) c.Next() }
func UserMiddleware(c *gin.Context) { project := c.MustGet("project").(models.Project) userID, err := util.GetIntParam("user_id", c) if err != nil { return } var user models.User if err := database.Mysql.SelectOne(&user, "select u.* from project__user as pu join user as u on pu.user_id=u.id where pu.user_id=? and pu.project_id=?", userID, project.ID); err != nil { if err == sql.ErrNoRows { c.AbortWithStatus(404) return } panic(err) } c.Set("projectUser", user) c.Next() }
func RepositoryMiddleware(c *gin.Context) { project := c.MustGet("project").(models.Project) repositoryID, err := util.GetIntParam("repository_id", c) if err != nil { return } var repository models.Repository if err := database.Mysql.SelectOne(&repository, "select * from project__repository where project_id=? and id=?", project.ID, repositoryID); err != nil { if err == sql.ErrNoRows { c.AbortWithStatus(404) return } panic(err) } c.Set("repository", repository) c.Next() }
func KeyMiddleware(c *gin.Context) { project := c.MustGet("project").(models.Project) keyID, err := util.GetIntParam("key_id", c) if err != nil { return } var key models.AccessKey if err := database.Mysql.SelectOne(&key, "select * from access_key where project_id=? and id=?", project.ID, keyID); err != nil { if err == sql.ErrNoRows { c.AbortWithStatus(404) return } panic(err) } c.Set("accessKey", key) c.Next() }