feat(machines) : clonage par catégorie (structure seule) #5
Reference in New Issue
Block a user
Delete Branch "feat/clone-machine-par-categorie"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
INV-15 — Clonage par catégorie
Ajoute un second mode de clonage de machine, sans toucher au clone existant.
Comportement
POST /api/machines/{id}/cloneaccepte un paramètremode:full(défaut) : clone complet — comportement strictement inchangé.structure: ne recopie que la structure/catégories des slots. Chaque slot composant/pièce/produit conserve sa catégorie (modelType, dérivée de l'entité concrète si absente) mais l'entité concrète est laissée vide → slotspendingEntity("à compléter"). Pas d'overrides ni de custom field values contextuelles.Front
Sélecteur "Tout cloner / Structure seule" dans la page de création de machine, visible uniquement quand une machine source est choisie.
Tests
testCloneMachineStructureModeKeepsCategoriesWithoutConcreteEntities: vérifie catégories conservées, entités concrètes vidées, source intacte.testCloneMachineFullModeStillCopiesConcreteEntities: garde-fou non-régression du mode complet.MachineContextCustomFieldTest: 10/10 OK.Hors scope (documenté)
CloneMachineToolreste full-only.Nouveau mode de clonage de machine via le paramètre `mode` de POST /api/machines/{id}/clone : - mode "full" (défaut) : comportement inchangé (clone complet) - mode "structure" : ne recopie que les catégories des slots (modelType), composant/pièce/produit concrets laissés vides (slots à compléter), sans overrides ni custom field values Front : sélecteur de mode dans la page de création de machine, visible uniquement quand une machine source est choisie.