diff --git a/docusaurus/src/components/ConnectorRegistry.jsx b/docusaurus/src/components/ConnectorRegistry.jsx
index 1766c204eddf..079acedaa99d 100644
--- a/docusaurus/src/components/ConnectorRegistry.jsx
+++ b/docusaurus/src/components/ConnectorRegistry.jsx
@@ -42,7 +42,8 @@ export default function ConnectorRegistry({ type }) {
const connectors = registry
.filter((c) => c.connector_type === type)
- .filter((c) => c.name_oss);
+ .filter((c) => c.name_oss)
+ .filter((c) => c.supportLevel_oss); // at lease one connector is missing a support level
return (
@@ -77,8 +78,14 @@ export default function ConnectorRegistry({ type }) {
{/* min width to prevent wrapping */}
📕
- ⚙️
- 🐛
+ {connector.supportLevel_oss != "archived" ? (
+ ⚙️
+ ) : (
+ ""
+ )}
+ {connector.supportLevel_oss != "archived" ? (
+ 🐛
+ ) : null}
|
{connector.supportLevel_oss}
diff --git a/docusaurus/src/components/HeaderDecoration.jsx b/docusaurus/src/components/HeaderDecoration.jsx
index 9d23dcf77a86..01f43e5570cb 100644
--- a/docusaurus/src/components/HeaderDecoration.jsx
+++ b/docusaurus/src/components/HeaderDecoration.jsx
@@ -67,14 +67,17 @@ export const HeaderDecoration = ({
-
+ {supportLevel !== "archived" && (
+
+ )}
diff --git a/docusaurus/src/remark/utils.js b/docusaurus/src/remark/utils.js
index f946396ce7f1..e28710264693 100644
--- a/docusaurus/src/remark/utils.js
+++ b/docusaurus/src/remark/utils.js
@@ -16,19 +16,52 @@ const isDocsPage = (vfile) => {
};
const getRegistryEntry = async (vfile) => {
- const pathParts = vfile.path.split("/");
- const connectorName = pathParts.pop().split(".")[0];
- const connectorType = pathParts.pop();
- const dockerRepository = `airbyte/${connectorType.replace(
- /s$/,
- ""
- )}-${connectorName}`;
-
- const registry = await catalog;
-
- return registry.find(
- (r) => r.dockerRepository_oss === dockerRepository
+ const pathParts = vfile.path.split("/");
+ const connectorName = pathParts.pop().split(".")[0];
+ const connectorType = pathParts.pop();
+ const dockerRepository = `airbyte/${connectorType.replace(
+ /s$/,
+ ""
+ )}-${connectorName}`;
+
+ const registry = await catalog;
+
+ let registryEntry = registry.find(
+ (r) => r.dockerRepository_oss === dockerRepository
+ );
+
+ if (!registryEntry) {
+ registryEntry = buildArchivedRegistryEntry(
+ connectorName,
+ dockerRepository,
+ connectorType
);
-}
+ }
+
+ return registryEntry;
+};
+
+const buildArchivedRegistryEntry = (
+ connectorName,
+ dockerRepository,
+ connectorType
+) => {
+ const dockerName = dockerRepository.split("/")[1];
+ const registryEntry = {
+ connectorName,
+ name_oss: dockerName,
+ dockerRepository_oss: dockerRepository,
+ is_oss: false,
+ is_cloud: false,
+ iconUrl_oss: `https://connectors.airbyte.com/files/metadata/airbyte/${dockerName}/latest/icon.svg`,
+ supportLevel_oss: "archived",
+ documentationUrl_oss: `https://docs.airbyte.com/integrations/${connectorType}s/${connectorName}`,
+ };
-module.exports = { isDocsPage, getRegistryEntry };
+ return registryEntry;
+};
+
+module.exports = {
+ isDocsPage,
+ getRegistryEntry,
+};
|