Skip to content

Instantly share code, notes, and snippets.

@maisarissi
Created May 4, 2023 16:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save maisarissi/3314261f51a6b3a0eb738ad699b30740 to your computer and use it in GitHub Desktop.
Save maisarissi/3314261f51a6b3a0eb738ad699b30740 to your computer and use it in GitHub Desktop.
microsoftgraph-go-v1-batch-dependent-request
meRequest, err := client.Me().ToGetRequestInformation(context.Background(), nil)
if err != nil {
return err
}
mePhoto, err := client.Me().Photo().ToGetRequestInformation(context.Background(), nil)
if err != nil {
return err
}
user := models.NewUser()
userDisplayName := "Cool Dev"
user.SetDisplayName(&userDisplayName)
nameUpdateRequest, err := client.Me().ToPatchRequestInformation(context.Background(), user, nil)
if err != nil {
return err
}
batch := msgraphgocore.NewBatchRequest(adapter)
//First request, no dependency
meStep, err = batch.AddBatchRequestStep(*meRequest)
if err != nil {
return err
}
//Second request, no dependency
_, err = batch.AddBatchRequestStep(*mePhoto)
if err != nil {
return err
}
//Third step, depends on meStep
nameUpdateStep, err := batch.AddBatchRequestStep(*nameUpdateRequest)
if err != nil {
return err
}
nameUpdateStep.DependsOnItem(meStep)
//Execute batch
resp, err := batch.Send(context.Background(), adapter)
if err != nil {
return err
}
//Read new name
user, err := msgraphgocore.GetBatchResponseById[models.Userable](resp, *nameUpdateStep.GetId(), models.CreateUserFromDiscriminatorValue)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment