func (self *RootController) Index(c *gin.Context) { username := self.CurrentUser(c) if username == "" { c.HTML(http.StatusOK, "index.tmpl", gin.H{ "alert": false, "error": false, "logged_in": false, "message": "", "baseDomain": self.config.BaseDomain, }) return } if !user.Exists(self.etcd, username) { c.HTML(http.StatusNotFound, "apps.tmpl", gin.H{ "error": true, "message": fmt.Sprintf("User %s does not exist.", username), }) return } c.HTML(http.StatusOK, "index.tmpl", gin.H{ "alert": false, "avater_url": user.GetAvaterURL(self.etcd, username), "error": false, "logged_in": true, "message": "", "username": username, "baseDomain": self.config.BaseDomain, }) }
func (self *AppController) Index(c *gin.Context) { username := self.CurrentUser(c) if username == "" { c.Redirect(http.StatusFound, "/") return } if !user.Exists(self.etcd, username) { c.HTML(http.StatusNotFound, "apps.tmpl", gin.H{ "error": true, "message": fmt.Sprintf("User %s does not exist.", username), }) return } apps, err := app.List(self.etcd, username) if err != nil { fmt.Fprintf(os.Stderr, "%+v\n", err) c.HTML(http.StatusInternalServerError, "apps.tmpl", gin.H{ "error": true, "message": "Failed to list apps.", }) return } c.HTML(http.StatusOK, "apps.tmpl", gin.H{ "error": false, "apps": apps, "avater_url": user.GetAvaterURL(self.etcd, username), "logged_in": true, "username": username, }) }
func (self *AppController) Get(c *gin.Context) { var latestURL string username := self.CurrentUser(c) if username == "" { c.Redirect(http.StatusFound, "/") return } if !user.Exists(self.etcd, username) { c.HTML(http.StatusNotFound, "apps.tmpl", gin.H{ "error": true, "message": fmt.Sprintf("User %s does not exist.", username), }) return } appName := c.Param("appName") if !app.Exists(self.etcd, username, appName) { c.HTML(http.StatusNotFound, "apps.tmpl", gin.H{ "error": true, "message": fmt.Sprintf("Application %s does not exist.", appName), }) return } urls, err := app.URLs(self.etcd, self.config.URIScheme, self.config.BaseDomain, username, appName) if err != nil { fmt.Fprintf(os.Stderr, "%+v\n", err) c.HTML(http.StatusInternalServerError, "app.tmpl", gin.H{ "error": true, "message": "Failed to list app URLs.", }) return } envs, err := env.List(self.etcd, username, appName) if err != nil { fmt.Fprintf(os.Stderr, "%+v\n", err) c.HTML(http.StatusInternalServerError, "app.tmpl", gin.H{ "error": true, "message": "Failed to list environment variables.", }) return } buildArgs, err := arg.List(self.etcd, username, appName) if err != nil { fmt.Fprintf(os.Stderr, "%+v\n", err) c.HTML(http.StatusInternalServerError, "app.tmpl", gin.H{ "error": true, "message": "Failed to list build args.", }) return } hc, err := healthcheck.Get(self.etcd, username, appName) if err != nil { fmt.Fprintf(os.Stderr, "%+v\n", err) c.HTML(http.StatusInternalServerError, "app.tmpl", gin.H{ "error": true, "message": "Failed to get healthcheck.", }) return } if len(urls) > 0 { latestURL = app.LatestAppURLOfUser(self.config.URIScheme, self.config.BaseDomain, username, appName) } c.HTML(http.StatusOK, "app.tmpl", gin.H{ "error": false, "app": appName, "avater_url": user.GetAvaterURL(self.etcd, username), "buildArgs": buildArgs, "envs": envs, "healthcheck": hc, "latestURL": latestURL, "logged_in": true, "urls": urls, "username": username, }) }