
const dbPessoas = _db.query("select id, uid, nome, sobrenome from pessoa")

const dados = _val.list()

for (const dbPessoa of dbPessoas) {
    const dbComunidades = _db.query(`
        select
            comunidade.nome
        from
            comunidade
            inner join pessoa_comunidade on comunidade.id = pessoa_comunidade.comunidade_id
        where
            pessoa_comunidade.pessoa_id = ?
        `, dbPessoa.getInt("id"))
    const comunidades = _val.list()
    for (const dbComunidade of dbComunidades) {
        comunidades.add(
            dbComunidade.getString("nome")
        )
    }
    dados.add(
        _val.map()
            .set("uid", dbPessoa.getString("uid"))
            .set("nome", dbPessoa.getString("nome"))
            .set("sobrenome", dbPessoa.getString("sobrenome"))
            .set("comunidades", comunidades)
    )
}

_out.json(
    dados
)
