feat: enhance Jira analytics with caching and force refresh

- Updated `getJiraAnalytics` to accept a `forceRefresh` parameter for optional cache bypass.
- Modified `getProjectAnalytics` to check the cache and return cached data unless forced to refresh.
- Adjusted `loadAnalytics` in `useJiraAnalytics` to trigger a forced refresh on manual updates.
- Improved UI in `JiraDashboardPageClient` to indicate when data is served from cache.
This commit is contained in:
Julien Froidefond
2025-09-18 22:28:34 +02:00
parent 5d73a6c279
commit 4c03ae946f
6 changed files with 309 additions and 26 deletions

View File

@@ -13,7 +13,7 @@ export type JiraAnalyticsResult = {
/**
* Server Action pour récupérer les analytics Jira du projet configuré
*/
export async function getJiraAnalytics(): Promise<JiraAnalyticsResult> {
export async function getJiraAnalytics(forceRefresh = false): Promise<JiraAnalyticsResult> {
try {
// Récupérer la config Jira depuis la base de données
const jiraConfig = await userPreferencesService.getJiraConfig();
@@ -40,8 +40,8 @@ export async function getJiraAnalytics(): Promise<JiraAnalyticsResult> {
projectKey: jiraConfig.projectKey
});
// Récupérer les analytics
const analytics = await analyticsService.getProjectAnalytics();
// Récupérer les analytics (avec cache ou actualisation forcée)
const analytics = await analyticsService.getProjectAnalytics(forceRefresh);
return {
success: true,