# Configuration des tâches planifiées pour Prokov
timezone: Europe/Paris

retry:
  max_attempts: 3
  delay: 5m

history_days: 7

jobs:
  # Email quotidien des tâches à faire
  tasks_today:
    schedule: "0 8 * * 1-5"    # 8h00 du lundi au vendredi
    type: query_email
    enabled: true

    # Requête : tâches du jour pour chaque utilisateur
    # Retourne les tâches dont la date de fin est aujourd'hui ou dépassée
    # et qui ne sont pas dans un statut "terminé" (code >= 100)
    query: |
      SELECT
        u.id AS user_id,
        u.email,
        u.name AS user_name,
        t.id AS task_id,
        t.title,
        t.priority,
        t.date_end,
        p.name AS project_name,
        s.name AS status_name,
        s.color AS status_color
      FROM users u
      INNER JOIN tasks t ON t.user_id = u.id
      LEFT JOIN projects p ON t.project_id = p.id
      LEFT JOIN statuses s ON t.status_id = s.id
      WHERE (t.date_end <= CURDATE() OR t.date_start = CURDATE())
        AND (s.code IS NULL OR s.code < 100)
      ORDER BY u.id, t.priority DESC, t.date_end ASC, t.position ASC

    # Grouper par user_id pour envoyer 1 email par utilisateur
    group_by: user_id

    # Template email à utiliser
    template: tasks_today
