Groups

Use Cases

Get single object

Haalt een enkele groep op via id of ref. Handig om groepsdetails of leden op te vragen.

query {
  group(id: "uuid-hier") {
    id
    name
    ref
    maxUsers
    enableChat
    isEditable
  }
}

Get list

Geeft een lijst van alle groepen in de organisatie. Gebruik deze voor simpele lijsten zonder filtering.

query {
  groups {
    id
    name
    ref
  }
}

Create object

Maakt een nieuwe groep aan. Je kunt optioneel een ref toevoegen voor eigen identificatie.

mutation {
  createGroup(group: {
    name: "Nieuwe groep"
    maxUsers: 50
    enableChat: true
    ref: "groep-ref"
  }) {
    group {
      id
      name
      ref
    }
  }
}

Update object

Wijzigt een bestaande groep. Je kunt eigenschappen zoals name, enableChat of maxUsers aanpassen.

mutation {
  updateGroup(
    id: "uuid-hier"
    group: {
      name: "Bijgewerkte groep"
      enableChat: false
    }
  ) {
    group {
      id
      name
    }
  }
}

Delete group

Verwijdert een enkele groep. Gebruik dit met zorg, de groep wordt permanent verwijderd.

mutation {
  deleteGroup(id: "uuid-hier") {
    ok
  }
}

Delete multiple groups

Verwijdert meerdere groepen tegelijk. Je krijgt een overzicht van geslaagde en mislukte verwijderingen.

mutation {
  deleteGroups(ids: ["uuid-1", "uuid-2"]) {
    bulkDelete {
      succeededIds
      failedIds
    }
  }
}

GraphQL Definitions

Type

De Group type beschrijft de eigenschappen van een groep. Dit omvat onder andere naam, referentiecode, limieten en toegangsmogelijkheden.

type Group {
  id: UUID!
  name: String!
  ref: String
  maxUsers: Int!
  enableChat: Boolean!
  isEditable: Boolean!
  users: UserConnection
  managers: UserConnection
  trainings: [TrainingListItem!]!
  extraCategoryValues: [ExtraCategoryValue!]!
  isEditable: Boolean!
  userCount: Int
  managerCount: Int
  permissions: JSONString
  skills: [SkillListItem!]
}

Queries

Gebruik group om een specifieke groep op te halen, of groups/paginatedGroups voor lijsten.

group(id: UUID, ref: String): Group
groups(groupVia: GroupVia): [Group!]
paginatedGroups(...): GroupConnection

Mutations

Mutaties om groepen aan te maken, te wijzigen of te verwijderen. Je kunt ook meerdere groepen tegelijk verwijderen.

createGroup(group: CreateGroupInput!): CreateGroup
updateGroup(id: UUID, ref: String, group: UpdateGroupInput!): UpdateGroup
deleteGroup(id: UUID!): DeleteGroup
deleteGroups(ids: [UUID!]): DeleteGroups

Notes

  • Gebruik ref of id voor het selecteren van specifieke groepen.
  • paginatedGroups is aan te raden voor uitgebreide filtering, sortering en paginatie.
  • Extra mutaties bestaan voor het beheren van gebruikers en managers binnen een groep.
Sluit melding