func removeUserFromTeamInRepository(u *auth.User, team *auth.Team) error { teamApps, err := team.AllowedApps() if err != nil { return err } userApps, err := u.AllowedApps() if err != nil { return err } appsToRemove := make([]string, 0, len(teamApps)) for _, teamApp := range teamApps { found := false for _, userApp := range userApps { if userApp == teamApp { found = true break } } if !found { appsToRemove = append(appsToRemove, teamApp) } } manager := repository.Manager() for _, app := range appsToRemove { manager.RevokeAccess(app, u.Email) } return nil }
func removeUserFromTeamInGandalf(u *auth.User, team *auth.Team) error { gURL := repository.ServerURL() teamApps, err := team.AllowedApps() if err != nil { return err } userApps, err := u.AllowedApps() if err != nil { return err } appsToRemove := make([]string, 0, len(teamApps)) for _, teamApp := range teamApps { found := false for _, userApp := range userApps { if userApp == teamApp { found = true break } } if !found { appsToRemove = append(appsToRemove, teamApp) } } client := gandalf.Client{Endpoint: gURL} if err := client.RevokeAccess(appsToRemove, []string{u.Email}); err != nil { return fmt.Errorf("Failed to revoke access from git repositories: %s", err) } return nil }
func removeUserFromTeamInDatabase(u *auth.User, team *auth.Team) error { conn, err := db.Conn() if err != nil { return err } defer conn.Close() if err = team.RemoveUser(u); err != nil { return &errors.HTTP{Code: http.StatusNotFound, Message: err.Error()} } return conn.Teams().UpdateId(team.Name, team) }
func addUserToTeamInDatabase(user *auth.User, team *auth.Team) error { if err := team.AddUser(user); err != nil { return &errors.HTTP{Code: http.StatusConflict, Message: err.Error()} } conn, err := db.Conn() if err != nil { return err } defer conn.Close() return conn.Teams().UpdateId(team.Name, team) }
func addUserToTeamInGandalf(user *auth.User, t *auth.Team) error { gURL := repository.ServerURL() alwdApps, err := t.AllowedApps() if err != nil { return fmt.Errorf("Failed to obtain allowed apps to grant: %s", err) } if err := (&gandalf.Client{Endpoint: gURL}).GrantAccess(alwdApps, []string{user.Email}); err != nil { return fmt.Errorf("Failed to grant access to git repositories: %s", err) } return nil }
func addUserToTeamInRepository(user *auth.User, t *auth.Team) error { alwdApps, err := t.AllowedApps() if err != nil { return fmt.Errorf("Failed to obtain allowed apps to grant: %s", err) } manager := repository.Manager() for _, app := range alwdApps { err = manager.GrantAccess(app, user.Email) if err != nil { return err } } return nil }