
const dbComunidades = _db.query(`
    SELECT 
        id,
        nome
    FROM comunidade
    WHERE active = true
    ORDER BY nome
`)
for (const dbComunidade of dbComunidades) {
    const dbPublicacoes = _db.queryFirst(`
        SELECT
            count(id) AS total
        FROM publicacao
        WHERE momento > ?
            AND comunidade_id = ?
    `, _time.localDateTime().minusDays(1), dbComunidade.getInt("id"))

    if (dbPublicacoes.getInt("total") <= 0) {
        continue;
    }

    const dbPessoas = _db.query(`
        SELECT
            nome, email
        FROM pessoa
            INNER JOIN pessoa_comunidade ON pessoa.id = pessoa_comunidade.pessoa_id
        WHERE 
            pessoa_comunidade.comunidade_id = ?
            AND pessoa.active = true
    `, dbComunidade.getInt("id"))

    for (const dbPessoa of dbPessoas) {

        const smtp = _smtp.init()

        smtp.to = dbPessoa.getString("email")

        smtp.subject = `Plataforma Social - ${dbComunidade.getString("nome")}`

        smtp.text = `
            Olá ${dbPessoa.getString("nome")},

            Hoje houve ${dbPublicacoes.getInt("total")} novas publicações.
        `

        smtp.html = _template.getOutput(
            "emails/daily-summary",
            _val.map()
                .set("comunidade", dbComunidade.getString("nome"))
                .set("pessoa", dbPessoa.getString("nome"))
                .set("total", dbPublicacoes.getInt("total"))
        )

        smtp.attachment(
            "logo.png",
            "image/png",
            _app.file("public/images/logo.png"),
            "logo"
        )

        smtp.send()
                
        _log.info("Pessoa:", dbPessoa)
    }
}

_log.info("Cron Daily Summary E-mail Enviado")
