From be9caf92a4196fcfbe615ec505410be23f7ea6e9 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Fri, 8 May 2026 14:02:25 +0200 Subject: [PATCH] refactor(DiaryDateActivityService): improve orderId calculation logic for group activities - Updated the logic for determining the maximum orderId to handle cases with and without groupId more clearly. - Enhanced code readability by consolidating the where clause for fetching max orderId based on group context. --- backend/services/diaryDateActivityService.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/backend/services/diaryDateActivityService.js b/backend/services/diaryDateActivityService.js index 3751d1b5..8c6f6d75 100644 --- a/backend/services/diaryDateActivityService.js +++ b/backend/services/diaryDateActivityService.js @@ -64,11 +64,17 @@ class DiaryDateActivityService { } } - const maxOrderId = await DiaryDateActivity.max('orderId', { - where: { + const maxOrderWhere = restData.groupId + ? { diaryDateId: data.diaryDateId, groupId: restData.groupId } + : { + // Globale Aktivitäten bei "Alle" sollen am Ende des gesamten Tagesplans landen. + diaryDateId: data.diaryDateId + }; + const maxOrderId = await DiaryDateActivity.max('orderId', { + where: maxOrderWhere }); const newOrderId = maxOrderId !== null ? maxOrderId + 1 : 1; restData.orderId = newOrderId;