Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit4035f9a

Browse files
committed
fix: include suspended and dormant users in acl query
This fixes two issues:1. When you add a dormant/suspended user, you would not get any feedback in the UI because they were filtered out.2. They were also filtered out when we created the audit log, so although users were added there is no record of it.
1 parentb36d979 commit4035f9a

File tree

3 files changed

+44
-9
lines changed

3 files changed

+44
-9
lines changed

‎coderd/database/dbmem/dbmem.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9884,7 +9884,7 @@ func (q *FakeQuerier) GetTemplateUserRoles(_ context.Context, id uuid.UUID) ([]d
98849884
continue
98859885
}
98869886

9887-
ifuser.Deleted||user.Status==database.UserStatusSuspended{
9887+
ifuser.Deleted {
98889888
continue
98899889
}
98909890

‎coderd/database/modelqueries.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -165,9 +165,7 @@ func (q *sqlQuerier) GetTemplateUserRoles(ctx context.Context, id uuid.UUID) ([]
165165
ON
166166
users.id::text = perms.key
167167
WHERE
168-
users.deleted = false
169-
AND
170-
users.status = 'active';
168+
users.deleted = false;
171169
`
172170

173171
vartus []TemplateUser

‎enterprise/coderd/templates_test.go

Lines changed: 42 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -846,21 +846,52 @@ func TestTemplateACL(t *testing.T) {
846846
}})
847847
anotherClient,_:=coderdtest.CreateAnotherUser(t,client,user.OrganizationID,rbac.RoleTemplateAdmin())
848848

849+
// Create an active user.
849850
_,user2:=coderdtest.CreateAnotherUser(t,client,user.OrganizationID)
850-
_,user3:=coderdtest.CreateAnotherUser(t,client,user.OrganizationID)
851-
version:=coderdtest.CreateTemplateVersion(t,client,user.OrganizationID,nil)
852-
template:=coderdtest.CreateTemplate(t,client,user.OrganizationID,version.ID)
853851

852+
// Create a dormant user.
854853
ctx:=testutil.Context(t,testutil.WaitLong)
854+
user3,err:=client.CreateUserWithOrgs(ctx, codersdk.CreateUserRequestWithOrgs{
855+
Email:"coder@coder.com",
856+
Username:"coder",
857+
Password:"SomeStrongPassword!",
858+
OrganizationIDs: []uuid.UUID{user.OrganizationID},
859+
})
860+
require.NoError(t,err)
861+
require.Equal(t,codersdk.UserStatusDormant,user3.Status)
855862

856-
err:=anotherClient.UpdateTemplateACL(ctx,template.ID, codersdk.UpdateTemplateACL{
863+
// Create a suspended user.
864+
user4,err:=client.CreateUserWithOrgs(ctx, codersdk.CreateUserRequestWithOrgs{
865+
Email:"coder2@coder.com",
866+
Username:"coder2",
867+
Password:"SomeStrongPassword!",
868+
OrganizationIDs: []uuid.UUID{user.OrganizationID},
869+
})
870+
require.NoError(t,err)
871+
872+
user4,err=client.UpdateUserStatus(ctx,user4.ID.String(),codersdk.UserStatusSuspended)
873+
require.NoError(t,err)
874+
require.Equal(t,codersdk.UserStatusSuspended,user4.Status)
875+
876+
// Create a user to delete.
877+
_,user5:=coderdtest.CreateAnotherUser(t,client,user.OrganizationID)
878+
879+
version:=coderdtest.CreateTemplateVersion(t,client,user.OrganizationID,nil)
880+
template:=coderdtest.CreateTemplate(t,client,user.OrganizationID,version.ID)
881+
882+
err=anotherClient.UpdateTemplateACL(ctx,template.ID, codersdk.UpdateTemplateACL{
857883
UserPerms:map[string]codersdk.TemplateRole{
858884
user2.ID.String():codersdk.TemplateRoleUse,
859885
user3.ID.String():codersdk.TemplateRoleAdmin,
886+
user4.ID.String():codersdk.TemplateRoleUse,
887+
user5.ID.String():codersdk.TemplateRoleUse,
860888
},
861889
})
862890
require.NoError(t,err)
863891

892+
err=client.DeleteUser(ctx,user5.ID)
893+
require.NoError(t,err)
894+
864895
acl,err:=anotherClient.TemplateACL(ctx,template.ID)
865896
require.NoError(t,err)
866897

@@ -874,9 +905,15 @@ func TestTemplateACL(t *testing.T) {
874905
Role:codersdk.TemplateRoleAdmin,
875906
}
876907

877-
require.Len(t,acl.Users,2)
908+
templateUser4:= codersdk.TemplateUser{
909+
User:user4,
910+
Role:codersdk.TemplateRoleUse,
911+
}
912+
913+
require.Len(t,acl.Users,3)
878914
require.Contains(t,acl.Users,templateUser2)
879915
require.Contains(t,acl.Users,templateUser3)
916+
require.Contains(t,acl.Users,templateUser4)
880917
})
881918

882919
t.Run("everyoneGroup",func(t*testing.T) {

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp