Skip to content

Commit 1eafd31

Browse files
authored
refactor(projects): use getAllProjectsForUser in getProjectsToDelete (#2616)
1 parent a3ac013 commit 1eafd31

2 files changed

Lines changed: 18 additions & 7 deletions

File tree

pkg/models/user_delete.go

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -88,17 +88,15 @@ func deleteUsers() {
8888

8989
func getProjectsToDelete(s *xorm.Session, u *user.User) (projectsToDelete []*Project, err error) {
9090
projectsToDelete = []*Project{}
91-
lm := &Project{IsArchived: true}
92-
res, _, _, err := lm.ReadAll(s, u, "", 0, -1)
91+
projects, _, err := getAllProjectsForUser(s, u.ID, &projectOptions{
92+
page: 0,
93+
perPage: -1,
94+
getArchived: true,
95+
})
9396
if err != nil {
9497
return nil, err
9598
}
9699

97-
if res == nil {
98-
return nil, nil
99-
}
100-
101-
projects := res.([]*Project)
102100
for _, l := range projects {
103101
if l.ID < 0 {
104102
continue

pkg/models/user_delete_test.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,19 @@ func TestDeleteUser(t *testing.T) {
7373
db.AssertMissing(t, "users", map[string]interface{}{"id": u.ID})
7474
db.AssertMissing(t, "projects", map[string]interface{}{"id": 37}) // only user16 had access to this project, and it was their default
7575
})
76+
t.Run("disabled user", func(t *testing.T) {
77+
db.LoadAndAssertFixtures(t)
78+
s := db.NewSession()
79+
defer s.Close()
80+
notifications.Fake()
81+
82+
u := &user.User{ID: 17}
83+
err := DeleteUser(s, u)
84+
85+
require.NoError(t, err)
86+
require.NoError(t, s.Commit())
87+
db.AssertMissing(t, "users", map[string]interface{}{"id": u.ID})
88+
})
7689
t.Run("cleans up task assignments and subscriptions", func(t *testing.T) {
7790
db.LoadAndAssertFixtures(t)
7891
s := db.NewSession()

0 commit comments

Comments
 (0)