@@ -14,6 +14,7 @@ import (
14
14
"github.com/coder/coder/v2/coderd/database/db2sdk"
15
15
"github.com/coder/coder/v2/coderd/httpapi"
16
16
"github.com/coder/coder/v2/coderd/httpmw"
17
+ "github.com/coder/coder/v2/coderd/prebuilds"
17
18
"github.com/coder/coder/v2/codersdk"
18
19
)
19
20
@@ -165,16 +166,19 @@ func (api *API) patchGroup(rw http.ResponseWriter, r *http.Request) {
165
166
aReq .Old = group .Auditable (currentMembers )
166
167
167
168
for _ ,id := range users {
168
- if _ ,err := uuid .Parse (id );err != nil {
169
+ uid ,err := uuid .Parse (id )
170
+ if err != nil {
169
171
httpapi .Write (ctx ,rw ,http .StatusBadRequest , codersdk.Response {
170
172
Message :fmt .Sprintf ("ID %q must be a valid user UUID." ,id ),
171
173
})
172
174
return
173
175
}
174
- _ ,err := database .ExpectOne (api .Database .OrganizationMembers (ctx , database.OrganizationMembersParams {
176
+
177
+ isSystemUser := uid == prebuilds .SystemUserID
178
+ _ ,err = database .ExpectOne (api .Database .OrganizationMembers (ctx , database.OrganizationMembersParams {
175
179
OrganizationID :group .OrganizationID ,
176
- UserID :uuid . MustParse ( id ) ,
177
- IncludeSystem :false ,
180
+ UserID :uid ,
181
+ IncludeSystem :isSystemUser ,
178
182
}))
179
183
if errors .Is (err ,sql .ErrNoRows ) {
180
184
httpapi .Write (ctx ,rw ,http .StatusBadRequest , codersdk.Response {