#!/usr/bin/env bash

TELEGRAM_BOT_TOKEN=`jq -cr .secrets.telegram_second.bot_token /etc/secrets/secrets.json`
TELEGRAM_CHAT_ID=`jq -cr .secrets.telegram_second.chat_id /etc/secrets/secrets.json`

REPEATING_TASKS_PROJECT="6"
REGULAR_TASKS_PROJECT="1"

NUMBER_OF_TASKS=`sqlite3 /var/lib/kanboard/data/db.sqlite "select count(*) from tasks where (is_active = 0 and date_completed > strftime('%s', 'now', 'start of day') and project_id != ${REPEATING_TASKS_PROJECT}) or (date_modification > strftime('%s', 'now', 'start of day') and project_id = ${REPEATING_TASKS_PROJECT})"`

NORMAL_TASKS=`cat /var/lib/task-transformer/json/completed.txt | uniq`
REPEATING_TASKS=`sqlite3 /var/lib/kanboard/data/db.sqlite "select '⋅ ' || title from tasks where (date_modification > strftime('%s', 'now', 'start of day', 'localtime') and project_id = ${REPEATING_TASKS_PROJECT} and title not like '💊%') order by date_due"`
OUTSTANDING_TASKS=`sqlite3 /var/lib/kanboard/data/db.sqlite "select '⋅ ' || strftime('%Y-%m-%d %H:%M', datetime(date_due, 'unixepoch'), 'localtime') || '\\n    ' || title || '\n' from tasks where (date_due < strftime('%s', 'now', '+72 hours') and project_id = ${REGULAR_TASKS_PROJECT} and is_active = 1 and title not like 'Interview:%' and title not like 'Termin:%') order by date_due"`

APPOINTMENTS=`sqlite3 /var/lib/kanboard/data/db.sqlite "select '⋅ ' || strftime('%Y-%m-%d %H:%M', datetime(date_due, 'unixepoch'), 'localtime') || '\\n    ' || title || '\n' from tasks where (date_due < strftime('%s', 'now', '+72 hours') and project_id = ${REGULAR_TASKS_PROJECT} and is_active = 1 and title like 'Termin:%') order by date_due"`
INTERVIEWS=`sqlite3 /var/lib/kanboard/data/db.sqlite "select '⋅ ' || strftime('%Y-%m-%d %H:%M', datetime(date_due, 'unixepoch'), 'localtime') || '\\n    ' || title || '\n' from tasks where (date_due < strftime('%s', 'now', '+72 hours') and project_id = ${REGULAR_TASKS_PROJECT} and is_active = 1 and title like 'Interview:%') order by date_due"`
# TEXT="🎉🎉🎉 \\nСегодня я выполнил ${NUMBER_OF_TASKS} задач:\\n\\n🏆 Основные задачи:\\n\\n${NORMAL_TASKS}\\n\\n⏰ Повторяющиеся задачи:\\n\\n${REPEATING_TASKS}\\n\\n📅 Предстоящие задачи:\\n\\n${OUTSTANDING_TASKS}\\n\\nСегодня я молодец!"
#

TEXT="Предстоящие Термины:\\n\\n${APPOINTMENTS}\\n\\n${INTERVIEWS}\\n\\nПредстоящие задачи:\\n\\n${OUTSTANDING_TASKS}\\n\\nВыполненные задачи:\\n\\n${NORMAL_TASKS}"

curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
    -H 'Content-Type: application/json' \
    -d "{ \"chat_id\": \"${TELEGRAM_CHAT_ID}\", \"text\": \"${TEXT}\" }"

source /etc/secrets/gmail_config

SUBJECT="Дайджест по задачам за $(date '+%d.%m.%Y')"

MESSAGE="Subject: ${SUBJECT}\n\n${TEXT}"

curl --url "smtp://$SMTP_SERVER:$SMTP_PORT" \
    --ssl-reqd \
    --mail-from "$SMTP_USERNAME" \
    --mail-rcpt "$TO" \
    --user "$SMTP_USERNAME:$SMTP_PASSWORD" \
    --tlsv1.2 \
    -T <(echo -e "$MESSAGE")

rm -f /var/lib/task-transformer/json/completed.txt
