Update to use internal fields rather than creating additional objects.
This commit is contained in:
parent
9a872fd388
commit
d331ad8ecf
@ -13,8 +13,6 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
absser "github.com/microsoft/kiota-abstractions-go/serialization"
|
absser "github.com/microsoft/kiota-abstractions-go/serialization"
|
||||||
kioser "github.com/microsoft/kiota-serialization-json-go"
|
|
||||||
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
|
|
||||||
"github.com/microsoftgraph/msgraph-sdk-go/models"
|
"github.com/microsoftgraph/msgraph-sdk-go/models"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
|
||||||
@ -281,10 +279,11 @@ func (col *Collection) streamItems(ctx context.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
service := col.service.(graph.Service)
|
||||||
|
|
||||||
byteCount, err := serializeFunc(
|
byteCount, err := serializeFunc(
|
||||||
ctx,
|
ctx,
|
||||||
col.service.Client(),
|
&service,
|
||||||
kioser.NewJsonSerializationWriter(),
|
|
||||||
col.data,
|
col.data,
|
||||||
response,
|
response,
|
||||||
user)
|
user)
|
||||||
@ -342,8 +341,7 @@ func getModTime(mt modTimer) time.Time {
|
|||||||
// responses into data.Stream items contained within the Collection
|
// responses into data.Stream items contained within the Collection
|
||||||
type GraphSerializeFunc func(
|
type GraphSerializeFunc func(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
client *msgraphsdk.GraphServiceClient,
|
service *graph.Service, // TODO: Keepers: Not sure how to have the interface use Serialize without updating all the files.
|
||||||
objectWriter *kioser.JsonSerializationWriter,
|
|
||||||
dataChannel chan<- data.Stream,
|
dataChannel chan<- data.Stream,
|
||||||
parsable absser.Parsable,
|
parsable absser.Parsable,
|
||||||
user string,
|
user string,
|
||||||
@ -353,16 +351,13 @@ type GraphSerializeFunc func(
|
|||||||
// data.Stream objects. Returns an error the process finishes unsuccessfully.
|
// data.Stream objects. Returns an error the process finishes unsuccessfully.
|
||||||
func serializeAndStreamEvent(
|
func serializeAndStreamEvent(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
client *msgraphsdk.GraphServiceClient,
|
service *graph.Service,
|
||||||
objectWriter *kioser.JsonSerializationWriter,
|
|
||||||
dataChannel chan<- data.Stream,
|
dataChannel chan<- data.Stream,
|
||||||
parsable absser.Parsable,
|
parsable absser.Parsable,
|
||||||
user string,
|
user string,
|
||||||
) (int, error) {
|
) (int, error) {
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
defer objectWriter.Close()
|
|
||||||
|
|
||||||
event, ok := parsable.(models.Eventable)
|
event, ok := parsable.(models.Eventable)
|
||||||
if !ok {
|
if !ok {
|
||||||
return 0, fmt.Errorf("expected Eventable, got %T", parsable)
|
return 0, fmt.Errorf("expected Eventable, got %T", parsable)
|
||||||
@ -372,7 +367,8 @@ func serializeAndStreamEvent(
|
|||||||
var retriesErr error
|
var retriesErr error
|
||||||
|
|
||||||
for count := 0; count < numberOfRetries; count++ {
|
for count := 0; count < numberOfRetries; count++ {
|
||||||
attached, err := client.
|
attached, err := service.
|
||||||
|
Client().
|
||||||
UsersById(user).
|
UsersById(user).
|
||||||
EventsById(*event.GetId()).
|
EventsById(*event.GetId()).
|
||||||
Attachments().
|
Attachments().
|
||||||
@ -395,12 +391,7 @@ func serializeAndStreamEvent(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
err = objectWriter.WriteObjectValue("", event)
|
byteArray, err := service.Serialize(event)
|
||||||
if err != nil {
|
|
||||||
return 0, support.SetNonRecoverableError(errors.Wrap(err, *event.GetId()))
|
|
||||||
}
|
|
||||||
|
|
||||||
byteArray, err := objectWriter.GetSerializedContent()
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, support.WrapAndAppend(*event.GetId(), errors.Wrap(err, "serializing content"), nil)
|
return 0, support.WrapAndAppend(*event.GetId(), errors.Wrap(err, "serializing content"), nil)
|
||||||
}
|
}
|
||||||
@ -420,25 +411,17 @@ func serializeAndStreamEvent(
|
|||||||
// serializeAndStreamContact is a GraphSerializeFunc for models.Contactable
|
// serializeAndStreamContact is a GraphSerializeFunc for models.Contactable
|
||||||
func serializeAndStreamContact(
|
func serializeAndStreamContact(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
client *msgraphsdk.GraphServiceClient,
|
service *graph.Service,
|
||||||
objectWriter *kioser.JsonSerializationWriter,
|
|
||||||
dataChannel chan<- data.Stream,
|
dataChannel chan<- data.Stream,
|
||||||
parsable absser.Parsable,
|
parsable absser.Parsable,
|
||||||
user string,
|
user string,
|
||||||
) (int, error) {
|
) (int, error) {
|
||||||
defer objectWriter.Close()
|
|
||||||
|
|
||||||
contact, ok := parsable.(models.Contactable)
|
contact, ok := parsable.(models.Contactable)
|
||||||
if !ok {
|
if !ok {
|
||||||
return 0, fmt.Errorf("expected Contactable, got %T", parsable)
|
return 0, fmt.Errorf("expected Contactable, got %T", parsable)
|
||||||
}
|
}
|
||||||
|
|
||||||
err := objectWriter.WriteObjectValue("", contact)
|
bs, err := service.Serialize(contact)
|
||||||
if err != nil {
|
|
||||||
return 0, support.SetNonRecoverableError(errors.Wrap(err, *contact.GetId()))
|
|
||||||
}
|
|
||||||
|
|
||||||
bs, err := objectWriter.GetSerializedContent()
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, support.WrapAndAppend(*contact.GetId(), err, nil)
|
return 0, support.WrapAndAppend(*contact.GetId(), err, nil)
|
||||||
}
|
}
|
||||||
@ -458,16 +441,13 @@ func serializeAndStreamContact(
|
|||||||
// serializeAndStreamMessage is the GraphSerializeFunc for models.Messageable
|
// serializeAndStreamMessage is the GraphSerializeFunc for models.Messageable
|
||||||
func serializeAndStreamMessage(
|
func serializeAndStreamMessage(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
client *msgraphsdk.GraphServiceClient,
|
service *graph.Service,
|
||||||
objectWriter *kioser.JsonSerializationWriter,
|
|
||||||
dataChannel chan<- data.Stream,
|
dataChannel chan<- data.Stream,
|
||||||
parsable absser.Parsable,
|
parsable absser.Parsable,
|
||||||
user string,
|
user string,
|
||||||
) (int, error) {
|
) (int, error) {
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
defer objectWriter.Close()
|
|
||||||
|
|
||||||
msg, ok := parsable.(models.Messageable)
|
msg, ok := parsable.(models.Messageable)
|
||||||
if !ok {
|
if !ok {
|
||||||
return 0, fmt.Errorf("expected Messageable, got %T", parsable)
|
return 0, fmt.Errorf("expected Messageable, got %T", parsable)
|
||||||
@ -478,7 +458,8 @@ func serializeAndStreamMessage(
|
|||||||
var retriesErr error
|
var retriesErr error
|
||||||
|
|
||||||
for count := 0; count < numberOfRetries; count++ {
|
for count := 0; count < numberOfRetries; count++ {
|
||||||
attached, err := client.
|
attached, err := service.
|
||||||
|
Client().
|
||||||
UsersById(user).
|
UsersById(user).
|
||||||
MessagesById(*msg.GetId()).
|
MessagesById(*msg.GetId()).
|
||||||
Attachments().
|
Attachments().
|
||||||
@ -497,12 +478,7 @@ func serializeAndStreamMessage(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
err = objectWriter.WriteObjectValue("", msg)
|
bs, err := service.Serialize(msg)
|
||||||
if err != nil {
|
|
||||||
return 0, support.SetNonRecoverableError(errors.Wrapf(err, "%s", *msg.GetId()))
|
|
||||||
}
|
|
||||||
|
|
||||||
bs, err := objectWriter.GetSerializedContent()
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = support.WrapAndAppend(*msg.GetId(), errors.Wrap(err, "serializing mail content"), nil)
|
err = support.WrapAndAppend(*msg.GetId(), errors.Wrap(err, "serializing mail content"), nil)
|
||||||
return 0, support.SetNonRecoverableError(err)
|
return 0, support.SetNonRecoverableError(err)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user