vikunja-api/models/team_list_delete.go

29 lines
618 B
Go
Raw Normal View History

package models
// Delete deletes a team <-> list relation based on the list & team id
func (tl *TeamList) Delete() (err error) {
2018-08-30 19:00:27 +02:00
// Check if the team exists
_, err = GetTeamByID(tl.TeamID)
if err != nil {
return
}
2018-08-30 19:00:27 +02:00
// Check if the team has access to the list
has, err := x.Where("team_id = ? AND list_id = ?", tl.TeamID, tl.ListID).
Get(&TeamList{})
if err != nil {
return
}
2018-08-30 19:00:27 +02:00
if !has {
return ErrTeamDoesNotHaveAccessToList{TeamID: tl.TeamID, ListID: tl.ListID}
}
// Delete the relation
_, err = x.Where("team_id = ?", tl.TeamID).
And("list_id = ?", tl.ListID).
Delete(TeamList{})
return
}