37 lines
777 B
TypeScript
37 lines
777 B
TypeScript
/**
|
|
* Client pour l'API Jira
|
|
*/
|
|
|
|
import { HttpClient } from './base/http-client';
|
|
import { JiraSyncResult } from '@/services/jira';
|
|
|
|
export interface JiraConnectionStatus {
|
|
connected: boolean;
|
|
message: string;
|
|
details?: string;
|
|
}
|
|
|
|
export class JiraClient extends HttpClient {
|
|
constructor() {
|
|
super('/api/jira');
|
|
}
|
|
|
|
/**
|
|
* Teste la connexion à Jira
|
|
*/
|
|
async testConnection(): Promise<JiraConnectionStatus> {
|
|
return this.get<JiraConnectionStatus>('/sync');
|
|
}
|
|
|
|
/**
|
|
* Lance la synchronisation manuelle des tickets Jira
|
|
*/
|
|
async syncTasks(): Promise<JiraSyncResult> {
|
|
const response = await this.post<{ data: JiraSyncResult }>('/sync');
|
|
return response.data;
|
|
}
|
|
}
|
|
|
|
// Instance singleton
|
|
export const jiraClient = new JiraClient();
|