| | import apiClient from './apiClient'; |
| |
|
| | class SourceService { |
| | |
| | |
| | |
| | |
| | async getAll() { |
| | try { |
| | const response = await apiClient.get('/sources'); |
| | |
| | if (import.meta.env.VITE_NODE_ENV === 'development') { |
| | console.log('π° [Source] Retrieved sources:', response.data); |
| | } |
| | |
| | return response; |
| | } catch (error) { |
| | if (import.meta.env.VITE_NODE_ENV === 'development') { |
| | console.error('π° [Source] Get sources error:', error.response?.data || error.message); |
| | } |
| | throw error; |
| | } |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | async analyzeKeyword(keywordData) { |
| | try { |
| | const response = await apiClient.post('/sources/keyword-analysis', { |
| | keyword: keywordData.keyword, |
| | date_range: keywordData.date_range || 'monthly' |
| | }); |
| | |
| | if (import.meta.env.VITE_NODE_ENV === 'development') { |
| | console.log('π° [Source] Keyword analysis result:', response.data); |
| | } |
| | |
| | return response; |
| | } catch (error) { |
| | if (import.meta.env.VITE_NODE_ENV === 'development') { |
| | console.error('π° [Source] Keyword analysis error:', error.response?.data || error.message); |
| | } |
| | throw error; |
| | } |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | async analyzeKeywordPattern(keywordData) { |
| | try { |
| | const response = await apiClient.post('/sources/keyword-frequency-pattern', { |
| | keyword: keywordData.keyword |
| | }); |
| | |
| | if (import.meta.env.VITE_NODE_ENV === 'development') { |
| | console.log('π° [Source] Keyword frequency pattern analysis result:', response.data); |
| | } |
| | |
| | return response; |
| | } catch (error) { |
| | if (import.meta.env.VITE_NODE_ENV === 'development') { |
| | console.error('π° [Source] Keyword frequency pattern analysis error:', error.response?.data || error.message); |
| | } |
| | throw error; |
| | } |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | async create(sourceData) { |
| | try { |
| | const response = await apiClient.post('/sources', { |
| | source: sourceData.source |
| | }); |
| | |
| | if (import.meta.env.VITE_NODE_ENV === 'development') { |
| | console.log('π° [Source] Source created:', response.data); |
| | } |
| | |
| | return response; |
| | } catch (error) { |
| | if (import.meta.env.VITE_NODE_ENV === 'development') { |
| | console.error('π° [Source] Create source error:', error.response?.data || error.message); |
| | } |
| | throw error; |
| | } |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | async delete(sourceId) { |
| | try { |
| | const response = await apiClient.delete(`/sources/${sourceId}`); |
| | |
| | if (import.meta.env.VITE_NODE_ENV === 'development') { |
| | console.log('π° [Source] Source deleted:', response.data); |
| | } |
| | |
| | return response; |
| | } catch (error) { |
| | if (import.meta.env.VITE_NODE_ENV === 'development') { |
| | console.error('π° [Source] Delete source error:', error.response?.data || error.message); |
| | } |
| | throw error; |
| | } |
| | } |
| | } |
| |
|
| | export default new SourceService(); |