code: function permittedOptions(methodName) {
          const baseOptions = ['context', 'withRelated'];
          const extraOptions = ['transacting', 'importing', 'forUpdate', 'migrating'];
  
          switch (methodName) {
          case 'toJSON':
              return baseOptions.concat('shallow', 'columns', 'previous');
          case 'destroy':
              return baseOptions.concat(extraOptions, ['id', 'destroyBy', 'require']);
          case 'edit':
              return baseOptions.concat(extraOptions, ['id', 'require']);
          case 'findOne':
              return baseOptions.concat(extraOptions, ['columns', 'require']);
          case 'findAll':
              return baseOptions.concat(extraOptions, ['columns']);
          case 'findPage':
              return baseOptions.concat(extraOptions, ['filter', 'order', 'page', 'limit', 'columns']);
          default:
              return baseOptions.concat(extraOptions);
          }
      }
docs: Returns an array of keys permitted in every method's `options` hash.
  Can be overridden and added to by a model's `permittedOptions` method.
  
  importing: is used when import a JSON file or when migrating the database
  
  @return {Object} Keys allowed in the `options` hash of every model's method.