diff --git a/models/teams.go b/models/teams.go index 043625dc..8f2c80ce 100644 --- a/models/teams.go +++ b/models/teams.go @@ -120,3 +120,15 @@ func (t *Team) ReadOne(id int64) (err error) { *t, err = GetTeamByID(id) return } + +// ReadAll gets all teams the user is part of +func (t *Team) ReadAll(user *User) (teams interface{}, err error) { + all := []*Team{} + err = x.Select("teams.*"). + Table("teams"). + Join("INNER", "team_members", "team_members.team_id = teams.id"). + Where("team_members.user_id = ?", user.ID). + Find(&all) + + return all, err +} diff --git a/models/teams_read_one.go b/models/teams_read_one.go deleted file mode 100644 index 2640e7f9..00000000 --- a/models/teams_read_one.go +++ /dev/null @@ -1 +0,0 @@ -package models diff --git a/routes/crud/read_all.go b/routes/crud/read_all.go index 195ecccd..8d84762d 100644 --- a/routes/crud/read_all.go +++ b/routes/crud/read_all.go @@ -1,6 +1,7 @@ package crud import ( + "fmt" "git.kolaente.de/konrad/list/models" "github.com/labstack/echo" "net/http" @@ -15,6 +16,8 @@ func (c *WebHandler) ReadAllWeb(ctx echo.Context) error { lists, err := c.CObject.ReadAll(¤tUser) if err != nil { + fmt.Println(err) + return echo.NewHTTPError(http.StatusInternalServerError, "An error occured.") }