From 082b1ccc053e5f04678948cdd015a247a2c7a141 Mon Sep 17 00:00:00 2001 From: MatthieuTD <39524319+MatthieuTD@users.noreply.github.com> Date: Mon, 6 Oct 2025 17:02:37 +0200 Subject: [PATCH] chore: provide deprecated model composables --- app/composables/useComponentModels.js | 47 +++++++++++++++++++++++++++ app/composables/usePieceModels.js | 47 +++++++++++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 app/composables/useComponentModels.js create mode 100644 app/composables/usePieceModels.js diff --git a/app/composables/useComponentModels.js b/app/composables/useComponentModels.js new file mode 100644 index 0000000..1a4a1f9 --- /dev/null +++ b/app/composables/useComponentModels.js @@ -0,0 +1,47 @@ +import { ref, computed } from 'vue' + +let hasWarned = false + +const warnDeprecated = () => { + if (hasWarned) return + if (process.dev) { + console.warn('[useComponentModels] Ce composable est conservé pour compatibilité mais les modèles ont été remplacés par les catégories enrichies de squelette. Utilisez useComponentTypes / useComposants à la place.') + } + hasWarned = true +} + +const buildUnsupportedResult = () => ({ + success: false, + error: 'Les modèles de composants ont été retirés. Gérez les squelettes via les catégories et utilisez les requirements machine pour instancier des composants.' +}) + +export function useComponentModels () { + warnDeprecated() + + const componentModelsBuckets = ref({}) + const loadingComponentModels = ref(false) + + const componentModels = computed(() => []) + + const noLongerSupported = async () => { + warnDeprecated() + return buildUnsupportedResult() + } + + const getComponentModels = () => componentModels.value + const getComponentModelsForType = () => [] + const isComponentModelLoading = () => loadingComponentModels.value + + return { + componentModels, + componentModelsBuckets, + loadingComponentModels, + loadComponentModels: noLongerSupported, + createComponentModel: noLongerSupported, + updateComponentModel: noLongerSupported, + deleteComponentModel: noLongerSupported, + getComponentModels, + getComponentModelsForType, + isComponentModelLoading + } +} diff --git a/app/composables/usePieceModels.js b/app/composables/usePieceModels.js new file mode 100644 index 0000000..b6d5e0c --- /dev/null +++ b/app/composables/usePieceModels.js @@ -0,0 +1,47 @@ +import { ref, computed } from 'vue' + +let hasWarned = false + +const warnDeprecated = () => { + if (hasWarned) return + if (process.dev) { + console.warn('[usePieceModels] Ce composable est conservé pour compatibilité mais les modèles ont été remplacés par les catégories enrichies de squelette. Utilisez usePieceTypes / usePieces à la place.') + } + hasWarned = true +} + +const buildUnsupportedResult = () => ({ + success: false, + error: 'Les modèles de pièces ont été retirés. Gérez les squelettes via les catégories et utilisez les requirements machine pour instancier des pièces.' +}) + +export function usePieceModels () { + warnDeprecated() + + const pieceModelsBuckets = ref({}) + const loadingPieceModels = ref(false) + + const pieceModels = computed(() => []) + + const noLongerSupported = async () => { + warnDeprecated() + return buildUnsupportedResult() + } + + const getPieceModels = () => pieceModels.value + const getPieceModelsForType = () => [] + const isPieceModelLoading = () => loadingPieceModels.value + + return { + pieceModels, + pieceModelsBuckets, + loadingPieceModels, + loadPieceModels: noLongerSupported, + createPieceModel: noLongerSupported, + updatePieceModel: noLongerSupported, + deletePieceModel: noLongerSupported, + getPieceModels, + getPieceModelsForType, + isPieceModelLoading + } +}