You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

33 lines
1.0 KiB

const dbPessoas = _db.query(`
select pessoa.id, pessoa.uid, pessoa.nome, pessoa.apelido, cidade.nome "cidade"
from pessoa
inner join cidade
on pessoa.cidade_id = cidade.id
`);
const dados = _val.list();
for (const dbPessoa of dbPessoas) {
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 dadosComunidades = _val.list()
for (const dbComunidade of dbComunidades) {
dadosComunidades.add(
dbComunidade.getString("nome")
)
}
dados.add(
_val.map()
.set("uid", dbPessoa.getString("uid"))
.set("nome", `${dbPessoa.getString("nome")} ${dbPessoa.getString("apelido")}`)
.set("apelido", dbPessoa.getString("apelido"))
.set("cidade", dbPessoa.getString("cidade"))
.set("comunidades", dadosComunidades)
)
}
_out.json(dados)