static async apiGet (req, res, next) {
    const all = req.query.all && req.user.hasRole('cont3xtAdmin');
    const roles = await req.user.getRoles();
    const overviews = await Db.getMatchingOverviews(req.user.userId, [...roles], all);

    // Set editable on any overviews that the user is allowed to edit
    for (const overview of overviews) {
      overview._editable = overview.creator === req.user.userId || req.user.hasRole(overview.editRoles);
      overview._viewable = overview.creator === req.user.userId || req.user.hasRole(overview.viewRoles);
      for (const field of overview.fields) {
        // take best guess at type in case it is missing
        field.type ??= field.custom == null ? 'linked' : 'custom';

        // custom is stored as a json string, so we parse it before sending back
        if (field.type === 'custom') {
          try {
            field.custom = JSON.parse(field.custom);
          } catch {
            // we'd rather not crash the service if the custom field is somehow invalid
            field.custom = '_cont3xt_INVALID_CUSTOM_FIELD';
          }
        }
      }
    }

    res.send({ success: true, overviews });
  }
GET - /api/overview

Returns overviews that the requesting user is allowed to view.
@name /overviews
@returns {Cont3xtOverview[]} overviews - An array of overviews that the logged in user can view
@returns {boolean} success - True if the request was successful, false otherwise