static async apiUpdateParliamentOrder (req, res) {
    try {
      const { body: { _source: parliament } } = await Parliament.getParliament();

      if (isNaN(req.body.oldIdx) || isNaN(req.body.newIdx)) {
        return res.serverError(500, 'Error updating parliament order. Need old and new indexes!');
      }

      if (req.body.newGroupId) { // we're rearranging clusters
        if (!ArkimeUtil.isString(req.body.newGroupId) || !ArkimeUtil.isString(req.body.oldGroupId)) {
          return res.serverError(422, 'Error updating parliament order. Old and new group ids must be strings!');
        }

        const newGroup = parliament.groups.filter(group => group.id === req.body.newGroupId);
        if (!newGroup.length) { return res.serverError(500, `Error updating parliament order. Can't find group to place cluster.`); }

        const oldGroup = parliament.groups.filter(group => group.id === req.body.oldGroupId);
        if (!oldGroup.length) { return res.serverError(500, `Error updating parliament order. Can't find group to move cluster from.`); }

        const cluster = oldGroup[0].clusters[req.body.oldIdx];
        if (!cluster) { return res.serverError(500, `Error updating parliament order. Can't find cluster to move.`); }

        oldGroup[0].clusters.splice(req.body.oldIdx, 1);
        newGroup[0].clusters.splice(req.body.newIdx, 0, cluster);
      } else { // we're rearranging groups
        const group = parliament.groups[req.body.oldIdx];
        if (!group) {
          return res.serverError(500, `Error updating parliament order. Can't find group to move.`);
        }
        parliament.groups.splice(req.body.oldIdx, 1);
        parliament.groups.splice(req.body.newIdx, 0, group);
      }

      await Parliament.setParliament(parliament);
      return res.json({ success: true, text: 'Parliament updated successfully' });
    } catch (err) {
      if (ArkimeConfig.debug) {
        console.log('Error updating parliament', err);
      }
      return res.serverError(500, 'Error updating parliament');
    }
  }
PUT - /api/parliament

Updates a parliament's order of groups/clusters. Requires parliamentAdmin role.
@name /parliament
@returns {boolean} success - Whether the operation was successful.
@returns {string} text - The success/error message to (optionally) display to the user.
@returns {Parliament} parliament - The updated parliament.