| '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 |
|
|