Chaves primárias¶
Cada alerta pode ter uma chave primária. A chave primária serve para localizar aquele alerta e o preservar em uma atualização. É indiciado que todo alerta possua uma chave primária para que seus metadados não sejam perdidos durante cada execução da extensão.
Para habilitar o suporte às chaves primárias, deve-se utilizar o segundo
parâmetro da função create
da SDK do Rung:
export default create(main, {
params,
primaryKey: true
});
Por padrão, os alertas devem ser retornados em um objeto contendo
{ alerts }
. Nessa situação, alerts
deve conter um objeto ou array
com as chaves e os valores de cada alerta. No caso de um array, a chave
utilizada será o índice. Com ES6, você pode construir um objeto com chaves
dinâmicas utilizando a sintaxe { [key]: value }
. Exemplo:
import { map, mergeAll } from 'ramda';
function render({ id, name, score }) {
return { [id]: `${name} with ${score} points!` };
}
function main(context) {
const students = [
{ id: '0001', name: 'Bianca del Rio', score: 8 },
{ id: '0002', name: 'Violet Chachki', score: 9 },
{ id: '0003', name: 'Dida Ritz', score: 3 }
];
return {
alerts: mergeAll(map(render, students))
};
}
export default create(main, { params: {}, primaryKey: true });