Files
ohif-viewer/extensions/default/src/services/TrizRisLayoutApi.ts
T
2026-10-11 10:34:47 +02:00

60 lines
1.2 KiB
TypeScript

import { TrizRisConfig } from '@ohif/core/src/config/TrizRisConfig';
const BASE_URL = `${TrizRisConfig.apiBaseUrl}/layout/current`;
export type SavedLayout = {
numRows: number;
numCols: number;
};
export async function saveLayoutPreference(
numRows: number,
numCols: number,
studyInstanceUID: string
): Promise<void> {
const response = await fetch(BASE_URL, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Accept: 'application/json',
},
credentials: 'include',
body: JSON.stringify({
numRows,
numCols,
studyInstanceUID,
}),
});
if (!response.ok) {
throw new Error(`Erreur sauvegarde layout TrizRis : ${response.status}`);
}
}
export async function getLayoutPreference(studyInstanceUID: string): Promise<SavedLayout | null> {
const response = await fetch(
`${BASE_URL}?studyInstanceUID=${encodeURIComponent(studyInstanceUID)}`,
{
method: 'GET',
headers: {
Accept: 'application/json',
},
credentials: 'include',
}
);
if (response.status === 204) {
return null;
}
if (!response.ok) {
throw new Error(`Erreur récupération layout TrizRis : ${response.status}`);
}
return response.json();
}