mirror of
https://github.com/danswer-ai/danswer.git
synced 2025-10-05 17:53:54 +02:00
Fix zulip page
This commit is contained in:
@@ -59,7 +59,7 @@ const MainSection = () => {
|
|||||||
(connectorIndexingStatus) =>
|
(connectorIndexingStatus) =>
|
||||||
connectorIndexingStatus.connector.source === "zulip"
|
connectorIndexingStatus.connector.source === "zulip"
|
||||||
);
|
);
|
||||||
const zulipCredential: Credential<ZulipCredentialJson> =
|
const zulipCredential: Credential<ZulipCredentialJson> | undefined =
|
||||||
credentialsData.filter(
|
credentialsData.filter(
|
||||||
(credential) => credential.credential_json?.zuliprc_content
|
(credential) => credential.credential_json?.zuliprc_content
|
||||||
)[0];
|
)[0];
|
||||||
@@ -134,72 +134,86 @@ const MainSection = () => {
|
|||||||
Step 2: Which workspaces do you want to make searchable?
|
Step 2: Which workspaces do you want to make searchable?
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
{zulipConnectorIndexingStatuses.length > 0 && (
|
{zulipCredential ? (
|
||||||
<>
|
<>
|
||||||
<p className="text-sm mb-2">
|
{zulipConnectorIndexingStatuses.length > 0 && (
|
||||||
We pull the latest messages from each workspace listed below every{" "}
|
<>
|
||||||
<b>10</b> minutes.
|
<p className="text-sm mb-2">
|
||||||
</p>
|
We pull the latest messages from each workspace listed below
|
||||||
<div className="mb-2">
|
every <b>10</b> minutes.
|
||||||
<ConnectorsTable
|
</p>
|
||||||
connectorIndexingStatuses={zulipConnectorIndexingStatuses}
|
<div className="mb-2">
|
||||||
liveCredential={zulipCredential}
|
<ConnectorsTable
|
||||||
getCredential={(credential) =>
|
connectorIndexingStatuses={zulipConnectorIndexingStatuses}
|
||||||
credential.credential_json.zuliprc_content
|
liveCredential={zulipCredential}
|
||||||
|
getCredential={(credential) =>
|
||||||
|
credential.credential_json.zuliprc_content
|
||||||
|
}
|
||||||
|
specialColumns={[
|
||||||
|
{
|
||||||
|
header: "Realm name",
|
||||||
|
key: "realm_name",
|
||||||
|
getValue: (ccPairStatus) =>
|
||||||
|
ccPairStatus.connector.connector_specific_config
|
||||||
|
.realm_name,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
header: "Realm url",
|
||||||
|
key: "realm_url",
|
||||||
|
getValue: (ccPairStatus) =>
|
||||||
|
ccPairStatus.connector.connector_specific_config
|
||||||
|
.realm_url,
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
onUpdate={() =>
|
||||||
|
mutate("/api/manage/admin/connector/indexing-status")
|
||||||
|
}
|
||||||
|
onCredentialLink={async (connectorId) => {
|
||||||
|
if (zulipCredential) {
|
||||||
|
await linkCredential(connectorId, zulipCredential.id);
|
||||||
|
mutate("/api/manage/admin/connector/indexing-status");
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
)}
|
||||||
|
|
||||||
|
<div className="border-solid border-gray-600 border rounded-md p-6 mt-4">
|
||||||
|
<h2 className="font-bold mb-3">Connect to a New Realm</h2>
|
||||||
|
<ConnectorForm<ZulipConfig>
|
||||||
|
nameBuilder={(values) => `ZulipConnector-${values.realm_name}`}
|
||||||
|
ccPairNameBuilder={(values) => values.realm_name}
|
||||||
|
source="zulip"
|
||||||
|
inputType="poll"
|
||||||
|
credentialId={zulipCredential.id}
|
||||||
|
formBody={
|
||||||
|
<>
|
||||||
|
<TextFormField name="realm_name" label="Realm name:" />
|
||||||
|
<TextFormField name="realm_url" label="Realm url:" />
|
||||||
|
</>
|
||||||
}
|
}
|
||||||
specialColumns={[
|
validationSchema={Yup.object().shape({
|
||||||
{
|
realm_name: Yup.string().required(
|
||||||
header: "Realm name",
|
"Please enter the realm name"
|
||||||
key: "realm_name",
|
),
|
||||||
getValue: (ccPairStatus) =>
|
realm_url: Yup.string().required("Please enter the realm url"),
|
||||||
ccPairStatus.connector.connector_specific_config.realm_name,
|
})}
|
||||||
},
|
initialValues={{
|
||||||
{
|
realm_name: "",
|
||||||
header: "Realm url",
|
realm_url: "",
|
||||||
key: "realm_url",
|
|
||||||
getValue: (ccPairStatus) =>
|
|
||||||
ccPairStatus.connector.connector_specific_config.realm_url,
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
onUpdate={() =>
|
|
||||||
mutate("/api/manage/admin/connector/indexing-status")
|
|
||||||
}
|
|
||||||
onCredentialLink={async (connectorId) => {
|
|
||||||
if (zulipCredential) {
|
|
||||||
await linkCredential(connectorId, zulipCredential.id);
|
|
||||||
mutate("/api/manage/admin/connector/indexing-status");
|
|
||||||
}
|
|
||||||
}}
|
}}
|
||||||
|
refreshFreq={10 * 60} // 10 minutes
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
|
) : (
|
||||||
|
<p className="text-sm">
|
||||||
|
Please provide your Zulip credentials in Step 1 first! Once done with
|
||||||
|
that, you can then specify which Zulip realms you want to make
|
||||||
|
searchable.
|
||||||
|
</p>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
<div className="border-solid border-gray-600 border rounded-md p-6 mt-4">
|
|
||||||
<h2 className="font-bold mb-3">Connect to a New Realm</h2>
|
|
||||||
<ConnectorForm<ZulipConfig>
|
|
||||||
nameBuilder={(values) => `ZulipConnector-${values.realm_name}`}
|
|
||||||
ccPairNameBuilder={(values) => values.realm_name}
|
|
||||||
source="zulip"
|
|
||||||
inputType="poll"
|
|
||||||
credentialId={zulipCredential.id}
|
|
||||||
formBody={
|
|
||||||
<>
|
|
||||||
<TextFormField name="realm_name" label="Realm name:" />
|
|
||||||
<TextFormField name="realm_url" label="Realm url:" />
|
|
||||||
</>
|
|
||||||
}
|
|
||||||
validationSchema={Yup.object().shape({
|
|
||||||
realm_name: Yup.string().required("Please enter the realm name"),
|
|
||||||
realm_url: Yup.string().required("Please enter the realm url"),
|
|
||||||
})}
|
|
||||||
initialValues={{
|
|
||||||
realm_name: "",
|
|
||||||
realm_url: "",
|
|
||||||
}}
|
|
||||||
refreshFreq={10 * 60} // 10 minutes
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user