static async apiUpdate (req, res, next) {
    const oOverview = await Db.getOverview(req.params.id);
    if (!oOverview) {
      return res.send({ success: false, text: 'Overview not found' });
    }

    const reqOverview = req.body;

    // sets the owner if it has changed
    if (!await User.setOwner(req, res, reqOverview, oOverview, 'creator')) {
      return;
    }

    const { overview, msg } = Overview.verifyOverview(reqOverview);
    if (msg) {
      return res.send({ success: false, text: msg });
    }

    if (iTypes.includes(req.params.id)) { // iType default overviews
      if (overview.iType !== req.params.id) {
        return res.send({ success: false, text: 'Can not change iType of a default overview' });
      }

      if (overview.viewRoles?.length !== 1 || reqOverview.viewRoles[0] !== 'cont3xtUser') {
        return res.send({ success: false, text: 'Can not change viewRoles of a default overview' });
      }
    }

    try {
      const results = await Db.putOverview(req.params.id, overview);
      if (!results) {
        return res.send({ success: false, text: 'ES Error' });
      }
      return res.send({ success: true, text: 'Success' });
    } catch (err) {
      return res.send({ success: false, text: err.toString() });
    }
  }
PUT - /api/overview/:id

Updates an overview
@name /overview/:id
@param {string} req.params.id - The id of the overview to update
@param {Cont3xtOverview} req.body - The new value of the overview to update
@returns {boolean} success - True if the request was successful, false otherwise
@returns {string} text - The success/error message to (optionally) display to the user