pdfPreviewService.ts 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. import { PDFStatus } from '../types';
  2. import { apiClient } from './apiClient';
  3. export const pdfPreviewService = {
  4. async getPDFUrl(fileId: string): Promise<{ url: string }> {
  5. const { data } = await apiClient.get<{ url: string }>(`/knowledge-bases/${fileId}/pdf-url`);
  6. return data;
  7. },
  8. async getPDFStatus(fileId: string): Promise<PDFStatus> {
  9. const { data } = await apiClient.get<PDFStatus>(`/knowledge-bases/${fileId}/pdf-status`);
  10. return data;
  11. },
  12. async preloadPDF(fileId: string, force: boolean = false): Promise<void> {
  13. try {
  14. const url = `/knowledge-bases/${fileId}/pdf-url` + (force ? '?force=true' : '');
  15. const response = await apiClient.request(url, {
  16. method: 'GET',
  17. signal: AbortSignal.timeout(30000), // Increase timeout for conversion
  18. });
  19. if (response.ok) {
  20. console.log('PDF already exists or conversion completed');
  21. }
  22. } catch (error: any) {
  23. console.log('PDF conversion triggered:', error.message);
  24. }
  25. },
  26. };