feat: enhance Jira scheduler with user-specific handling

- Updated `jiraScheduler` methods to accept a `userId` parameter, allowing for user-specific configurations and status retrieval.
- Modified the `POST` and `GET` routes to pass the current user's ID, ensuring accurate scheduler status and actions based on the logged-in user.
- Adjusted the `JiraSchedulerConfig` component to reflect changes in scheduler activation logic from `isEnabled` to `isRunning`, improving clarity in the UI.
- Enhanced synchronization response structure to provide detailed task statistics for better client-side handling.
This commit is contained in:
Julien Froidefond
2025-10-03 07:48:21 +02:00
parent 775788fdb5
commit 39936f5d06
3 changed files with 54 additions and 32 deletions

View File

@@ -39,8 +39,8 @@ export function JiraSchedulerConfig({ className = "" }: JiraSchedulerConfigProps
setError(null);
try {
// Utiliser isEnabled au lieu de isRunning pour l'activation
const newStatus = await jiraClient.updateSchedulerConfig(!schedulerStatus.isEnabled, schedulerStatus.interval);
// Utiliser isRunning au lieu de isEnabled pour l'activation
const newStatus = await jiraClient.updateSchedulerConfig(!schedulerStatus.isRunning, schedulerStatus.interval);
setSchedulerStatus(newStatus);
} catch (err) {
setError(err instanceof Error ? err.message : 'Erreur lors du toggle scheduler');
@@ -104,8 +104,8 @@ export function JiraSchedulerConfig({ className = "" }: JiraSchedulerConfigProps
const getIntervalText = (interval: string) => {
switch (interval) {
case 'hourly': return 'Toutes les heures';
case 'daily': return 'Quotidienne';
case 'hourly': return 'Horaire';
case 'daily': return 'Quotidien';
case 'weekly': return 'Hebdomadaire';
default: return interval;
}
@@ -165,12 +165,12 @@ export function JiraSchedulerConfig({ className = "" }: JiraSchedulerConfigProps
<div className="flex items-center justify-between">
<span className="text-sm font-medium">Synchronisation automatique</span>
<Button
variant={schedulerStatus.isEnabled ? "danger" : "primary"}
variant={schedulerStatus.isRunning ? "danger" : "primary"}
size="sm"
onClick={toggleScheduler}
disabled={isLoading || !schedulerStatus.jiraConfigured}
>
{schedulerStatus.isEnabled ? 'Désactiver' : 'Activer'}
{schedulerStatus.isRunning ? 'Désactiver' : 'Activer'}
</Button>
</div>