Add expense tracking system with receipt management and currency conversion
- Add expense list and detail views with filtering capabilities - Implement receipt image viewer and PDF export functionality - Add currency conversion support with automatic rate updates - Create API endpoints for expense CRUD operations - Integrate with NocoDB for expense data persistence - Add expense menu item to dashboard navigation
This commit is contained in:
30
server/tasks/currency-refresh.ts
Normal file
30
server/tasks/currency-refresh.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import { refreshExchangeRates } from '@/server/utils/currency';
|
||||
|
||||
/**
|
||||
* Scheduled task to refresh currency exchange rates hourly
|
||||
* This should be called by a cron job or scheduled task runner
|
||||
*/
|
||||
export const refreshCurrencyRatesTask = async () => {
|
||||
try {
|
||||
console.log('[currency-refresh-task] Starting scheduled currency refresh...');
|
||||
|
||||
const result = await refreshExchangeRates();
|
||||
|
||||
if (result.success) {
|
||||
console.log(`[currency-refresh-task] Successfully refreshed ${result.ratesCount} exchange rates`);
|
||||
} else {
|
||||
console.error('[currency-refresh-task] Failed to refresh exchange rates:', result.message);
|
||||
}
|
||||
|
||||
return result;
|
||||
} catch (error) {
|
||||
console.error('[currency-refresh-task] Error during scheduled refresh:', error);
|
||||
return {
|
||||
success: false,
|
||||
message: 'Error occurred during scheduled refresh'
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
// For environments that support direct cron scheduling
|
||||
export default refreshCurrencyRatesTask;
|
||||
Reference in New Issue
Block a user