import apiClient from './apiClient'; class SourceService { /** * Get all sources for the current user * @returns {Promise} Promise that resolves to the sources data */ 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; } } /** * Add a new source * @param {Object} sourceData - Source data * @param {string} sourceData.source - Source URL * @returns {Promise} Promise that resolves to the add source response */ 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; } } /** * Delete a source * @param {string} sourceId - Source ID * @returns {Promise} Promise that resolves to the delete source response */ 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();