Skip to content

Commit

Permalink
add two API calls to sync ConfluenceSpaces with data_source_folders
Browse files Browse the repository at this point in the history
  • Loading branch information
aubin-tchoi committed Dec 16, 2024
1 parent ed85d83 commit 7bb0307
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions connectors/src/connectors/confluence/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,12 @@ import {
BaseConnectorManager,
ConnectorManagerError,
} from "@connectors/connectors/interface";
import { dataSourceConfigFromConnector } from "@connectors/lib/api/data_source_config";
import { concurrentExecutor } from "@connectors/lib/async_utils";
import {
deleteFolderNode,
upsertFolderNode,
} from "@connectors/lib/data_sources";
import {
ConfluenceConfiguration,
ConfluencePage,
Expand Down Expand Up @@ -322,6 +327,7 @@ export class ConfluenceConnectorManager extends BaseConnectorManager<null> {
new Error(`Connector not found with id ${this.connectorId}`)
);
}
const dataSourceConfig = dataSourceConfigFromConnector(connector);

let spaces: ConfluenceSpaceType[] = [];
// Fetch Confluence spaces only if the intention is to add new spaces to sync.
Expand Down Expand Up @@ -349,6 +355,11 @@ export class ConfluenceConnectorManager extends BaseConnectorManager<null> {
},
});

await deleteFolderNode({
dataSourceConfig,
folderId: makeSpaceInternalId(internalId),
});

removedSpaceIds.push(confluenceId);
} else if (permission === "read") {
const confluenceSpace = spaces.find((s) => s.id === confluenceId);
Expand All @@ -360,6 +371,13 @@ export class ConfluenceConnectorManager extends BaseConnectorManager<null> {
urlSuffix: confluenceSpace?._links.webui,
});

await upsertFolderNode({
dataSourceConfig,
folderId: makeSpaceInternalId(internalId),
parents: [makeSpaceInternalId(internalId)],
title: confluenceSpace?.name ?? confluenceId,
});

addedSpaceIds.push(confluenceId);
} else {
return new Err(
Expand Down

0 comments on commit 7bb0307

Please sign in to comment.