feat: jira config in database

This commit is contained in:
Julien Froidefond
2025-09-17 18:04:13 +02:00
parent 83e48d5972
commit 0223611b3f
10 changed files with 383 additions and 50 deletions

View File

@@ -0,0 +1,46 @@
import { httpClient } from './base/http-client';
import { JiraConfig } from '@/lib/types';
export interface JiraConfigResponse {
jiraConfig: JiraConfig;
}
export interface SaveJiraConfigRequest {
baseUrl: string;
email: string;
apiToken: string;
}
export interface SaveJiraConfigResponse {
success: boolean;
message: string;
jiraConfig: JiraConfig;
}
class JiraConfigClient {
private readonly basePath = '/user-preferences/jira-config';
/**
* Récupère la configuration Jira actuelle
*/
async getJiraConfig(): Promise<JiraConfig> {
const response = await httpClient.get<JiraConfigResponse>(this.basePath);
return response.jiraConfig;
}
/**
* Sauvegarde la configuration Jira
*/
async saveJiraConfig(config: SaveJiraConfigRequest): Promise<SaveJiraConfigResponse> {
return httpClient.put<SaveJiraConfigResponse>(this.basePath, config);
}
/**
* Supprime la configuration Jira (remet à zéro)
*/
async deleteJiraConfig(): Promise<{ success: boolean; message: string }> {
return httpClient.delete(this.basePath);
}
}
export const jiraConfigClient = new JiraConfigClient();