Migration modular monolith DDD (0.1 → 3.3) #17

Merged
matthieu merged 99 commits from integration/modular-monolith-0.1-1.3 into develop 2026-06-23 13:50:43 +00:00
4 changed files with 26 additions and 5 deletions
Showing only changes of commit bf55a55fa6 - Show all commits
@@ -569,7 +569,7 @@ const props = defineProps<{
const emit = defineEmits<{
(e: 'update:modelValue', value: boolean): void
(e: 'saved'): void
(e: 'saved', task?: Task): void
}>()
const isOpen = computed({
@@ -1042,7 +1042,7 @@ async function handleSubmit() {
await removeRecurrence(props.task.recurrence.id)
}
emit('saved')
emit('saved', savedTask)
isOpen.value = false
} finally {
isSubmitting.value = false
@@ -269,7 +269,13 @@ watch(taskModalOpen, (open) => {
}
})
async function onSaved() {
async function onSaved(savedTask?: Task) {
// Mise à jour optimiste avant le re-fetch (cf. index.vue) pour éviter le snapshot stale.
if (savedTask) {
const idx = tasks.value.findIndex(t => t.id === savedTask.id)
if (idx !== -1) tasks.value[idx] = savedTask
if (selectedTask.value?.id === savedTask.id) selectedTask.value = savedTask
}
await loadTasks()
}
@@ -150,7 +150,13 @@ function openTaskEdit(task: Task) {
taskDrawerOpen.value = true
}
async function onSaved() {
async function onSaved(savedTask?: Task) {
// Mise à jour optimiste avant le re-fetch (cf. index.vue) pour éviter le snapshot stale.
if (savedTask) {
const idx = archivedTasks.value.findIndex(t => t.id === savedTask.id)
if (idx !== -1) archivedTasks.value[idx] = savedTask
if (selectedTask.value?.id === savedTask.id) selectedTask.value = savedTask
}
await loadData()
}
@@ -473,7 +473,16 @@ async function onBulkDelete() {
await loadData()
}
async function onSaved() {
async function onSaved(savedTask?: Task) {
// Mise à jour optimiste : la modale se ferme avant la fin du re-fetch, on
// réinjecte immédiatement la tâche fraîche renvoyée par l'API pour éviter
// que la liste (et un éventuel ré-ouverture de la modale) reste sur l'ancien snapshot.
if (savedTask) {
const idx = tasks.value.findIndex(t => t.id === savedTask.id)
if (idx !== -1) tasks.value[idx] = savedTask
else tasks.value.push(savedTask)
if (selectedTask.value?.id === savedTask.id) selectedTask.value = savedTask
}
await loadData()
}