MCPcopy Index your code
hub / github.com/coder/coder / deleteGroup

Method deleteGroup

enterprise/coderd/groups.go:336–378  ·  view source on GitHub ↗

@Summary Delete group by name @ID delete-group-by-name @Security CoderSessionToken @Produce json @Tags Enterprise @Param group path string true "Group name" @Success 200 {object} codersdk.Group @Router /api/v2/groups/{group} [delete]

(rw http.ResponseWriter, r *http.Request)

Source from the content-addressed store, hash-verified

334// @Success 200 {object} codersdk.Group
335// @Router /api/v2/groups/{group} [delete]
336func (api *API) deleteGroup(rw http.ResponseWriter, r *http.Request) {
337 var (
338 ctx = r.Context()
339 group = httpmw.GroupParam(r)
340 auditor = api.AGPL.Auditor.Load()
341 aReq, commitAudit = audit.InitRequest[database.AuditableGroup](rw, &audit.RequestParams{
342 Audit: *auditor,
343 Log: api.Logger,
344 Request: r,
345 Action: database.AuditActionDelete,
346 OrganizationID: group.OrganizationID,
347 })
348 )
349 defer commitAudit()
350
351 if group.Name == database.EveryoneGroup {
352 httpapi.Write(ctx, rw, http.StatusBadRequest, codersdk.Response{
353 Message: fmt.Sprintf("%q is a reserved group and cannot be deleted!", database.EveryoneGroup),
354 })
355 return
356 }
357
358 groupMembers, getMembersErr := api.Database.GetGroupMembersByGroupID(ctx, database.GetGroupMembersByGroupIDParams{
359 GroupID: group.ID,
360 IncludeSystem: false,
361 })
362 if getMembersErr != nil {
363 httpapi.InternalServerError(rw, getMembersErr)
364 return
365 }
366
367 aReq.Old = group.Auditable(groupMembers)
368
369 err := api.Database.DeleteGroupByID(ctx, group.ID)
370 if err != nil {
371 httpapi.InternalServerError(rw, err)
372 return
373 }
374
375 httpapi.Write(ctx, rw, http.StatusOK, codersdk.Response{
376 Message: "Successfully deleted group!",
377 })
378}
379
380// @Summary Get group by organization and group name
381// @ID get-group-by-organization-and-group-name

Callers 1

deleteGroupFunction · 0.80

Calls 9

GroupParamFunction · 0.92
InitRequestFunction · 0.92
WriteFunction · 0.92
InternalServerErrorFunction · 0.92
ContextMethod · 0.65
DeleteGroupByIDMethod · 0.65
LoadMethod · 0.45
AuditableMethod · 0.45

Tested by

no test coverage detected