From de5bc553d094cd431c4a9393ecb4194b166c3719 Mon Sep 17 00:00:00 2001 From: Danny Adams Date: Fri, 27 Jan 2023 12:08:21 -0500 Subject: [PATCH] Updates to /graph/betasdk/beta_service.go Addition of constructor and serialize function. --- .../connector/graph/betasdk/beta_service.go | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/internal/connector/graph/betasdk/beta_service.go b/src/internal/connector/graph/betasdk/beta_service.go index aa65dc9c1..a528c7f9c 100644 --- a/src/internal/connector/graph/betasdk/beta_service.go +++ b/src/internal/connector/graph/betasdk/beta_service.go @@ -1,7 +1,9 @@ package betasdk import ( + absser "github.com/microsoft/kiota-abstractions-go/serialization" msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go" + "github.com/pkg/errors" ) // Service wraps BetaClient's functionality. @@ -18,3 +20,25 @@ func (s Service) Adapter() *msgraphsdk.GraphRequestAdapter { func (s Service) Client() *BetaClient { return s.client } + +func NewService(adpt *msgraphsdk.GraphRequestAdapter) *Service { + return &Service{ + client: NewBetaClient(adpt), + } +} + +// Seraialize writes an M365 parsable object into a byte array using the built-in +// application/json writer within the adapter. +func (s Service) Serialize(object absser.Parsable) ([]byte, error) { + writer, err := s.Adapter().GetSerializationWriterFactory().GetSerializationWriter("application/json") + if err != nil || writer == nil { + return nil, errors.Wrap(err, "creating json serialization writer") + } + + err = writer.WriteObjectValue("", object) + if err != nil { + return nil, errors.Wrap(err, "writeObjecValue serialization") + } + + return writer.GetSerializedContent() +}