| 'use client' | |
| import React, { useState } from 'react' | |
| import { useRouter } from 'next/navigation' | |
| import { useToastContext } from '@/app/components/base/toast' | |
| import ExternalKnowledgeBaseCreate from '@/app/components/datasets/external-knowledge-base/create' | |
| import type { CreateKnowledgeBaseReq } from '@/app/components/datasets/external-knowledge-base/create/declarations' | |
| import { createExternalKnowledgeBase } from '@/service/datasets' | |
| const ExternalKnowledgeBaseConnector = () => { | |
| const { notify } = useToastContext() | |
| const [loading, setLoading] = useState(false) | |
| const router = useRouter() | |
| const handleConnect = async (formValue: CreateKnowledgeBaseReq) => { | |
| try { | |
| setLoading(true) | |
| const result = await createExternalKnowledgeBase({ body: formValue }) | |
| if (result && result.id) { | |
| notify({ type: 'success', message: 'External Knowledge Base Connected Successfully' }) | |
| router.back() | |
| } | |
| else { throw new Error('Failed to create external knowledge base') } | |
| } | |
| catch (error) { | |
| console.error('Error creating external knowledge base:', error) | |
| notify({ type: 'error', message: 'Failed to connect External Knowledge Base' }) | |
| } | |
| setLoading(false) | |
| } | |
| return ( | |
| <ExternalKnowledgeBaseCreate onConnect={handleConnect} loading={loading} /> | |
| ) | |
| } | |
| export default ExternalKnowledgeBaseConnector | |
