diff --git a/VERSION b/VERSION index 32d3e23..e0d9923 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -4.13.4 +4.13.5 diff --git a/play-life-backend/main.go b/play-life-backend/main.go index a38285f..2594d29 100644 --- a/play-life-backend/main.go +++ b/play-life-backend/main.go @@ -6238,9 +6238,24 @@ func (a *App) getTodayEntriesHandler(w http.ResponseWriter, r *http.Request) { } // Запрос для получения entries с nodes за указанный день - // Используем подзапрос для получения nodes с правильными индексами + // Если указан проект, показываем все записи, которые содержат хотя бы одну ноду этого проекта, + // но возвращаем все ноды этих записей, а не только ноды выбранного проекта query := ` - WITH entry_nodes AS ( + WITH filtered_entries AS ( + -- Если проект указан, находим entry_id записей, содержащих хотя бы одну ноду этого проекта + SELECT DISTINCT e.id as entry_id + FROM entries e + JOIN nodes n ON n.entry_id = e.id + JOIN projects p ON n.project_id = p.id + WHERE DATE(n.created_date) = DATE($3) + AND e.user_id = $1 + AND n.user_id = $1 + AND p.user_id = $1 + AND p.deleted = FALSE + AND ($2::text IS NULL OR p.name = $2) + ), + entry_nodes AS ( + -- Получаем все ноды для найденных записей (или всех записей, если проект не указан) SELECT e.id as entry_id, e.text, @@ -6256,7 +6271,7 @@ func (a *App) getTodayEntriesHandler(w http.ResponseWriter, r *http.Request) { AND n.user_id = $1 AND p.user_id = $1 AND p.deleted = FALSE - AND ($2::text IS NULL OR p.name = $2) + AND ($2::text IS NULL OR e.id IN (SELECT entry_id FROM filtered_entries)) ) SELECT entry_id, diff --git a/play-life-web/package.json b/play-life-web/package.json index 329d573..344a672 100644 --- a/play-life-web/package.json +++ b/play-life-web/package.json @@ -1,6 +1,6 @@ { "name": "play-life-web", - "version": "4.13.4", + "version": "4.13.5", "type": "module", "scripts": { "dev": "vite",