Update /sharepoint/data_collections.g
Adds function collectPages() to logic of dataCollections.
This commit is contained in:
parent
ec613b636d
commit
f5326c0304
@ -10,6 +10,7 @@ import (
|
|||||||
"github.com/alcionai/corso/src/internal/connector/support"
|
"github.com/alcionai/corso/src/internal/connector/support"
|
||||||
"github.com/alcionai/corso/src/internal/data"
|
"github.com/alcionai/corso/src/internal/data"
|
||||||
"github.com/alcionai/corso/src/internal/observe"
|
"github.com/alcionai/corso/src/internal/observe"
|
||||||
|
"github.com/alcionai/corso/src/pkg/account"
|
||||||
"github.com/alcionai/corso/src/pkg/control"
|
"github.com/alcionai/corso/src/pkg/control"
|
||||||
"github.com/alcionai/corso/src/pkg/logger"
|
"github.com/alcionai/corso/src/pkg/logger"
|
||||||
"github.com/alcionai/corso/src/pkg/path"
|
"github.com/alcionai/corso/src/pkg/path"
|
||||||
@ -154,6 +155,53 @@ func collectLibraries(
|
|||||||
return append(collections, odcs...), errs
|
return append(collections, odcs...), errs
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// collectPages constructs a sharepoint Collections struct and Get()s the associated
|
||||||
|
// M365 IDs for the associated Pages
|
||||||
|
func collectPages(
|
||||||
|
ctx context.Context,
|
||||||
|
creds account.M365Config,
|
||||||
|
serv graph.Servicer,
|
||||||
|
tenantID, siteID string,
|
||||||
|
scope selectors.SharePointScope,
|
||||||
|
updater statusUpdater,
|
||||||
|
ctrlOpts control.Options,
|
||||||
|
) ([]data.Collection, error) {
|
||||||
|
logger.Ctx(ctx).With("site", siteID).Debug("Creating SharePoint Pages collections")
|
||||||
|
|
||||||
|
adpt, err := graph.CreateBetaAdapter(creds.AzureTenantID, creds.AzureClientID, creds.AzureClientSecret)
|
||||||
|
if err != nil {
|
||||||
|
return nil, support.ConnectorStackErrorTraceWrap(err, "fetching beta adapter")
|
||||||
|
}
|
||||||
|
|
||||||
|
service := graph.NewBetaService(adpt)
|
||||||
|
|
||||||
|
spcs := make([]data.Collection, 0)
|
||||||
|
|
||||||
|
tuples, err := fetchPages(ctx, *service, siteID)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tuple := range tuples {
|
||||||
|
dir, err := path.Builder{}.Append(tuple.name).
|
||||||
|
ToDataLayerSharePointPath(
|
||||||
|
tenantID,
|
||||||
|
siteID,
|
||||||
|
path.PagesCategory,
|
||||||
|
false)
|
||||||
|
if err != nil {
|
||||||
|
return nil, errors.Wrapf(err, "failed to create collection path for site: %s", siteID)
|
||||||
|
}
|
||||||
|
|
||||||
|
collection := NewCollection(dir, serv, updater.UpdateStatus)
|
||||||
|
collection.AddJob(tuple.id)
|
||||||
|
|
||||||
|
spcs = append(spcs, collection)
|
||||||
|
}
|
||||||
|
|
||||||
|
return spcs, nil
|
||||||
|
}
|
||||||
|
|
||||||
type folderMatcher struct {
|
type folderMatcher struct {
|
||||||
scope selectors.SharePointScope
|
scope selectors.SharePointScope
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user