Problema com adição de novos elementos em uma array

Boa tarde Pessoal,

Estou montando uma aplicação onde a principal função é carregar alguns arquivos JSON fazer o alteração de alguns dados dele e devolver um novo arquivo.

Em uma parte do arquivo, dentro de um array, eu populo com dois novos arrays, o detalhe é que quando eu vejo o arquivo as duas posições inseridas são iguais.

Vamos ao código que acho que deve ser mais fácil.

  1. um dos arquivos JSON que eu atualizo, dessa estrutura eu crio duas intancias e insiro em outra estrutura mudando o id que estã como null:

{
“aliasColors”: {
“35M”: “#D683CE”,
“cobranca”: “#000000”,
“cobranca_parcial”: “#000001”,
“conectados”: “#3F6833”,
“rastreador”: “#99440A”,
“vala”: “#BF1B00
},
“bars”: false,
“datasource”: null,
“fill”: 1,
“height”: “382”,
“id”: null,
“legend”: {
“alignAsTable”: false,
“avg”: false,
“current”: true,
“max”: false,
“min”: false,
“rightSide”: false,
“show”: true,
“total”: false,
“values”: true
},
“lines”: true,
“linewidth”: 1,
“links”: [],
“nullPointMode”: “null”,
“percentage”: false,
“pointradius”: 5,
“points”: false,
“renderer”: “flot”,
“seriesOverrides”: [],
“span”: 6,
“stack”: false,
“steppedLine”: false,
“targets”: [],
“thresholds”: [],
“timeFrom”: null,
“timeShift”: null,
“title”: “null”,
“tooltip”: {
“shared”: true,
“sort”: 0,
“value_type”: “individual”
},
“transparent”: true,
“type”: “graph”,
“xaxis”: {
“mode”: “time”,
“name”: null,
“show”: true,
“values”: []
},
“yaxes”: [
{
“format”: “short”,
“label”: null,
“logBase”: 1,
“max”: null,
“min”: null,
“show”: true
},
{
“format”: “short”,
“label”: null,
“logBase”: 1,
“max”: null,
“min”: null,
“show”: true
}
]
}

  1. Funçções que fazem a atualização:
function getPanelConfig(bras, idNumber) {
   let panel = require("./templates/bras_profile/panel.json")
   panel.id = idNumber;
   panel.title = bras;
   panel.targets.push(getTargetTotalUsersConfig(bras));

   let targetsProfile = getTargetsProfileConfig(bras);
   targetsProfile.forEach(element => {
      panel.targets.push(element);
  });

  let targetsDownstreamProfile = getTargetsDownstreamProfileConfig(bras);
  targetsDownstreamProfile.forEach(element => {
     panel.targets.push(element);
  });

  return panel;

}

function getRowConfig(cluster) {
   let row = require("./templates/bras_profile/row.json");
  row['panels'].push(getPanelConfig(cluster + "a", 1));
   row['panels'].push(getPanelConfig(cluster + "b", 2));
   console.log("panelId: " + row.panels[0].id);
   console.log("panelId: " + row.panels[1].id);
  return row;

}

Vejam que na função acima eu faço o print dos IDs, porém, sempre vem 2, fiz um teste fazendo um print na função: getPanelConfig(bras, idNumber) antes do return, lá aparece normal, alguém, sabe porque o push fica assim?

Att,

Paulo