Wat binnen Pluvo in de gebruikersinterface bekend staat als een leerlijn, wordt in de API aangeduid als een Training
. Alle handelingen rondom leerlijnen—zoals aanmaken, bewerken, deelnemers koppelen, of modules toevoegen—lopen dus via de Training
entiteit in de GraphQL API.
Haalt één specifieke training op via id
of ref
. Wordt vaak gebruikt om details en modules van een training op te halen.
query {
training(id: "uuid-hier") {
id
title
ref
isActive
portfolioItem {
id
}
}
}
Gebruik paginatedTrainings
om trainingen op te halen met filtering, paginatie en sortering.
query {
paginatedTrainings(q: "veiligheid", first: 10) {
edges {
node {
id
title
isActive
}
}
}
Maakt een nieuwe training aan met titel en optioneel andere metadata zoals startdatum en ref.
mutation {
createTraining(training: {
title: "Introductie Veilig Werken"
isActive: true
ref: "veilig-2024"
}) {
training {
id
title
ref
}
}
}
Wijzigt gegevens van een bestaande training zoals titel, zichtbaarheid of metadata.
mutation {
updateTraining(
id: "uuid-hier"
training: {
title: "Bijgewerkte Titel"
archived: true
}
) {
training {
id
title
archived
}
}
}
Zet de training op gearchiveerd of inactief. Handig om oude trainingen te verbergen.
mutation {
updateTraining(
id: "uuid-hier"
training: {
isActive: false
archived: true
}
) {
training {
id
isActive
archived
}
}
}
De Training
type bevat de structuur van een leertraject, inclusief metadata, zichtbaarheid, en relaties naar gebruikers, bestanden en modules.
type Training {
id: UUID!
title: String!
subtitle: String
introduction: String
ref: String
isActive: Boolean!
archived: Boolean!
overviewImage: File
startDate: Date
endDate: Date
estimatedTimeSpent: String
portfolioItem: PortfolioItemListItem
users: [User!]
participants(...): TrainingUserConnection!
trainers(...): TrainingUserConnection!
modules: [Module!]!
}
Gebruik de volgende queries om trainingen op te halen:
training(id: UUID, ref: String): Training
trainings(query: String): [TrainingListItem!] @deprecated
paginatedTrainings(q: String, active: Boolean, archived: Boolean): TrainingListItemConnection
Voor het aanmaken en aanpassen van trainingen:
createTraining(training: CreateTrainingInput!): CreateTraining
updateTraining(id: UUID, ref: String, training: UpdateTrainingInput!): UpdateTraining
paginatedTrainings
voor lijstweergaves met filters.archived
en isActive
zijn aanwezig voor beheer.deleteTraining
mutatie — gebruik archiveren.