func (this *OrganizationWebV1Controller) GetJoinOrgs() { user := new(models.User) orgs := make([]models.Organization, 0) if exist, _, err := user.Has(this.Ctx.Input.Param(":username")); err != nil { this.JSONOut(http.StatusBadRequest, err.Error(), nil) return } else if exist == false { this.JSONOut(http.StatusBadRequest, "User not exist", nil) return } for _, name := range user.JoinOrganizations { org := new(models.Organization) if err := org.GetByName(name); err != nil { this.JSONOut(http.StatusBadRequest, "Get organizations error", nil) return } orgs = append(orgs, *org) } this.JSONOut(http.StatusOK, "", orgs) return }
func (this *TeamWebV1Controller) GetTeams() { if _, exist := this.Ctx.Input.CruSession.Get("user").(models.User); exist == false { this.JSONOut(http.StatusBadRequest, "", map[string]string{"message": "Session load failure", "url": "/auth"}) return } teams := make([]models.Team, 0) org := new(models.Organization) if err := org.GetByName(this.Ctx.Input.Param(":org")); err != nil { this.JSONOut(http.StatusBadRequest, err.Error(), nil) return } for _, name := range org.Teams { team := new(models.Team) if err := team.GetByName(org.Name, name); err != nil { this.JSONOut(http.StatusBadRequest, err.Error(), nil) return } teams = append(teams, *team) } this.JSONOut(http.StatusOK, "", teams) return }
func (this *TeamWebV1Controller) PutTeamAddMember() { if _, exist := this.Ctx.Input.CruSession.Get("user").(models.User); exist == false { this.JSONOut(http.StatusBadRequest, "", map[string]string{"message": "Session load failure", "url": "/auth"}) return } org := new(models.Organization) if err := org.GetByName(this.Ctx.Input.Param(":org")); err != nil { this.JSONOut(http.StatusBadRequest, err.Error(), nil) return } team := new(models.Team) if err := team.GetByName(this.Ctx.Input.Param(":org"), this.Ctx.Input.Param(":team")); err != nil { this.JSONOut(http.StatusBadRequest, err.Error(), nil) return } user := new(models.User) if exist, _, err := user.Has(this.Ctx.Input.Param(":username")); err != nil { this.JSONOut(http.StatusBadRequest, err.Error(), nil) return } else if exist == false { this.JSONOut(http.StatusBadRequest, "User not found", nil) return } exist := false for _, u := range team.Users { if u == this.Ctx.Input.Param(":username") { exist = true } } if exist == true { this.JSONOut(http.StatusBadRequest, "User already in team", nil) return } else { team.Users = append(team.Users, this.Ctx.Input.Param(":username")) if err := team.Save(); err != nil { this.JSONOut(http.StatusBadRequest, err.Error(), nil) return } this.JSONOut(http.StatusOK, "", user) return } }