Files
2026-07-18 17:14:41 +02:00

43 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
echo "Aufgaben mit unvollständigen Feldern:"
sqlite3 -column -header ~/.local/share/mindwtr/mindwtr.db \
"SELECT status AS 'Status',
substr(title, 1, 50) AS 'Aufgabe',
CASE WHEN contexts IS NULL OR contexts = '[]' THEN '✗' ELSE '✓' END AS 'Kontext',
CASE WHEN tags IS NULL OR tags = '[]' THEN '✗' ELSE '✓' END AS 'Schlagwörter',
CASE WHEN priority IS NULL OR priority = '' THEN '✗' ELSE '✓' END AS 'Prio',
CASE WHEN energyLevel IS NULL OR energyLevel = '' THEN '✗' ELSE '✓' END AS 'Energie',
CASE WHEN timeEstimate IS NULL OR timeEstimate = '' THEN '✗' ELSE '✓' END AS 'Zeit',
CASE WHEN checklist IS NULL OR checklist = '[]' THEN '✗' ELSE '✓' END AS 'Checkliste'
FROM tasks t
WHERE deletedAt IS NULL
AND ((contexts IS NULL OR contexts = '[]')
OR (tags IS NULL OR tags = '[]')
OR (priority IS NULL OR priority = '')
OR (energyLevel IS NULL OR energyLevel = '')
OR (timeEstimate IS NULL OR timeEstimate = '')
OR (checklist IS NULL OR checklist = '[]'))
AND status != 'done'
ORDER BY CASE status
WHEN 'next' THEN 1
WHEN 'someday' THEN 2
WHEN 'inbox' THEN 3
ELSE 4
END,
(CASE WHEN contexts IS NULL OR contexts = '[]' THEN 1 ELSE 0 END +
CASE WHEN tags IS NULL OR tags = '[]' THEN 1 ELSE 0 END +
CASE WHEN priority IS NULL OR priority = '' THEN 1 ELSE 0 END +
CASE WHEN energyLevel IS NULL OR energyLevel = '' THEN 1 ELSE 0 END +
CASE WHEN timeEstimate IS NULL OR timeEstimate = '' THEN 1 ELSE 0 END +
CASE WHEN checklist IS NULL OR checklist = '[]' THEN 1 ELSE 0 END) DESC,
updatedAt DESC" \
| awk 'NR <= 2 { print; next }
{
is_inbox = ($1 == "inbox")
gsub(/✓/, "\033[32m&\033[0m")
gsub(/✗/, "\033[31m&\033[0m")
if (is_inbox) print "\033[90m" $0 "\033[0m"
else print
}'