From 75fe8ee78ba89bdd659d7c27d74306e1d3eaf9c0 Mon Sep 17 00:00:00 2001 From: neha-Gupta1 Date: Fri, 1 Sep 2023 18:28:17 +0530 Subject: [PATCH] use channel pager --- src/internal/m365/collection/groups/backup.go | 6 +- .../collection/groups/channels_handler.go | 8 +-- .../m365/collection/groups/handlers.go | 2 +- src/pkg/services/m365/api/channels_pager.go | 58 ------------------- 4 files changed, 9 insertions(+), 65 deletions(-) diff --git a/src/internal/m365/collection/groups/backup.go b/src/internal/m365/collection/groups/backup.go index 41c1623bb..2a5c80faa 100644 --- a/src/internal/m365/collection/groups/backup.go +++ b/src/internal/m365/collection/groups/backup.go @@ -153,7 +153,9 @@ func populateCollections( // prevDelta = dp.Delta // prevPathStr = dp.Path // do not log: pii; log prevPath instead // prevPath path.Path - ictx = clues.Add( + // TODO: update this path + previousPath string + ictx = clues.Add( ctx, "channel_id", cID) // "previous_delta", pii.SafeURL{ @@ -182,7 +184,7 @@ func populateCollections( // TODO: the handler should provide this implementation. items, err := collectItems( ctx, - bh.NewMessagePager(qp.ProtectedResource.ID(), ptr.Val(c.GetId()))) + bh.NewMessagePager(qp.ProtectedResource.ID(), ptr.Val(c.GetId()), previousPath)) if err != nil { el.AddRecoverable(ctx, clues.Stack(err)) continue diff --git a/src/internal/m365/collection/groups/channels_handler.go b/src/internal/m365/collection/groups/channels_handler.go index 34efdf740..767c89957 100644 --- a/src/internal/m365/collection/groups/channels_handler.go +++ b/src/internal/m365/collection/groups/channels_handler.go @@ -33,7 +33,7 @@ func (gHandler groupBackupHandler) GetChannelByID( func (gHandler groupBackupHandler) NewChannelsPager( teamID string, -) api.ChannelDeltaEnumerator { +) api.Pager[models.Channelable] { return gHandler.ac.NewChannelPager(teamID) } @@ -46,9 +46,9 @@ func (gHandler groupBackupHandler) GetMessageByID( } func (gHandler groupBackupHandler) NewMessagePager( - teamID, channelID string, -) api.ChannelMessageDeltaEnumerator { - return gHandler.ac.NewMessagePager(teamID, channelID) + teamID, channelID, prevDelta string, +) api.DeltaPager[models.ChatMessageable] { + return gHandler.ac.NewChannelMessageDeltaPager(teamID, channelID, prevDelta) } func (gHandler groupBackupHandler) GetMessageReplies( diff --git a/src/internal/m365/collection/groups/handlers.go b/src/internal/m365/collection/groups/handlers.go index 50cf070bf..2b833bddd 100644 --- a/src/internal/m365/collection/groups/handlers.go +++ b/src/internal/m365/collection/groups/handlers.go @@ -23,7 +23,7 @@ type BackupHandler interface { teamID, channelID, itemID string, ) (models.ChatMessageable, error) NewMessagePager( - teamID, channelID string, + teamID, channelID, prevDelta string, ) api.DeltaPager[models.ChatMessageable] GetMessageReplies( diff --git a/src/pkg/services/m365/api/channels_pager.go b/src/pkg/services/m365/api/channels_pager.go index 1ad28bc0d..12e804427 100644 --- a/src/pkg/services/m365/api/channels_pager.go +++ b/src/pkg/services/m365/api/channels_pager.go @@ -51,13 +51,6 @@ func (p *channelMessageDeltaPageCtrl) ValuesIn(l PageLinker) ([]models.ChatMessa return getValues[models.ChatMessageable](l) } -type ChannelDeltaEnumerator interface { - PageLinker - ValuesInPageLinker[models.Channelable] - SetNextLinker - GetPage(ctx context.Context) (PageLinker, error) -} - func (c Channels) NewChannelMessageDeltaPager( teamID, channelID, prevDelta string, ) *channelMessageDeltaPageCtrl { @@ -87,57 +80,6 @@ func (c Channels) NewChannelMessageDeltaPager( } } -// var _ ChannelMessageDeltaEnumerator = &ChannelMessageDeltaPageCtrl{} -var _ Pager[models.Channelable] = &channelPageCtrl{} - -type ChannelMessageDeltaPageCtrl struct { - gs graph.Servicer - builder *teams.ItemChannelsItemMessagesDeltaRequestBuilder - options *teams.ItemChannelsItemMessagesDeltaRequestBuilderGetRequestConfiguration -} - -func (c Channels) NewMessagePager( - teamID, channelID string, - fields []string, -) *ChannelMessageDeltaPageCtrl { - res := &ChannelMessageDeltaPageCtrl{ - gs: c.Stable, - options: nil, - builder: c.Stable. - Client(). - Teams(). - ByTeamId(teamID). - Channels(). - ByChannelId(channelID). - Messages(). - Delta(), - } - - return res -} - -func (p *ChannelMessageDeltaPageCtrl) SetNext(nextLink string) { - p.builder = teams.NewItemChannelsItemMessagesDeltaRequestBuilder(nextLink, p.gs.Adapter()) -} - -func (p *ChannelMessageDeltaPageCtrl) GetPage(ctx context.Context) (DeltaPageLinker, error) { - var ( - resp DeltaPageLinker - err error - ) - - resp, err = p.builder.Get(ctx, p.options) - if err != nil { - return nil, graph.Stack(ctx, err) - } - - return resp, nil -} - -func (p *ChannelMessageDeltaPageCtrl) ValuesIn(l PageLinker) ([]models.ChatMessageable, error) { - return getValues[models.ChatMessageable](l) -} - // --------------------------------------------------------------------------- // non delta channel message pager // ---------------------------------------------------------------------------