code: function initArgs () {
      // set default for where if not set
      this.args.where = requireValidOptionalObject(this.args.where)
      // do not allow arguments that should only be used internally
      this.assert(!defined(this.args.accessId), 'accessId not allowed')
      this.assert(!defined(this.args.accessIdName), 'accessIdName not allowed')
      // custom select columns are deprecated
      this.assert(!defined(this.args.select), 'select is deprecated')
      // if view is array with false value set to false
      if (Array.isArray(this.args.view) && this.args.view.length === 1 && this.args.view[0] === false) {
          this.args.view = false
      }
      // one is an alias for limit:1
      if (this.args.one) {
          // one cannot be set with limit
          this.assert(!defined(this.args.limit), 'one cannot be used with limit')
          // set limit:1
          this.args.limit = 1
          // delete one
          delete this.args.one
      }
      // normalize where args
      _.each(this.args.where, (options, property) => {
          // if there is only one operator then see if query can be simplified
          if (typeof options === 'object' && options && _.keys(options).length === 1) {
              // if operator is eq then replace object with direct query
              if (defined(options.eq)) {
                  this.args.where[property] = options.eq
              }
              // if operator is in then replace object with direct query
              if (defined(options.in)) {
                  this.args.where[property] = options.in
              }            
          }
      })
      // if model has d(eleted) column then default to isDeleted:false
      if (defined(this.model.columns.d) && !defined(this.args.where.isDeleted)) {
          this.args.where.isDeleted = false
      }
  }
docs: @function initArgs
  
  validate and normalize args
  
  @throws {Error}