4.13.5: Исправлена фильтрация нодов в записях
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 2m2s

This commit is contained in:
poignatov
2026-02-04 14:20:29 +03:00
parent cdd10d50c0
commit 794947ea89
3 changed files with 20 additions and 5 deletions

View File

@@ -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,