Skip to content

Commit 16a74b0

Browse files
committed
fix: do not use user_link for deleted accounts
1 parent 4f0203d commit 16a74b0

File tree

4 files changed

+17
-3
lines changed

4 files changed

+17
-3
lines changed

coderd/database/dbmem/dbmem.go

+4
Original file line numberDiff line numberDiff line change
@@ -3762,6 +3762,10 @@ func (q *FakeQuerier) GetUserLinkByLinkedID(_ context.Context, id string) (datab
37623762
defer q.mutex.RUnlock()
37633763

37643764
for _, link := range q.userLinks {
3765+
user, err := q.getUserByIDNoLock(link.UserID)
3766+
if err == nil && user.Deleted {
3767+
continue
3768+
}
37653769
if link.LinkedID == id {
37663770
return link, nil
37673771
}

coderd/database/queries.sql.go

+5-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/queries/user_links.sql

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
-- name: GetUserLinkByLinkedID :one
22
SELECT
3-
*
3+
user_links.*
44
FROM
55
user_links
6+
INNER JOIN
7+
users ON user_links.user_id = users.id
68
WHERE
7-
linked_id = $1;
9+
linked_id = $1
10+
AND
11+
deleted = false;
812

913
-- name: GetUserLinkByUserIDLoginType :one
1014
SELECT

coderd/userauth_test.go

+2
Original file line numberDiff line numberDiff line change
@@ -661,6 +661,8 @@ func TestUserOAuth2Github(t *testing.T) {
661661

662662
client, _ = fake.Login(t, client, jwt.MapClaims{})
663663
deleted, err := client.User(ctx, "me")
664+
require.NoError(t, err)
665+
664666
err = owner.DeleteUser(ctx, deleted.ID)
665667
require.NoError(t, err)
666668

0 commit comments

Comments
 (0)