+
+/**
+ * Set default getlist parameters.
+ *
+ * @see _civicrm_api3_generic_getlist_defaults
+ *
+ * @param array $request
+ *
+ * @return array
+ */
+function _civicrm_api3_email_getlist_defaults(&$request) {
+ return [
+ 'description_field' => [
+ 'email',
+ ],
+ 'params' => [
+ 'on_hold' => 0,
+ 'contact_id.is_deleted' => 0,
+ 'contact_id.is_deceased' => 0,
+ 'contact_id.do_not_email' => 0,
+ ],
+ // Note that changing this to display name affects query performance. The label field is used
+ // for sorting & mysql will prefer to use the index on the ORDER BY field. So if this is changed
+ // to display name then the filtering will bypass the index. In testing this took around 30 times
+ // as long.
+ 'label_field' => 'contact_id.sort_name',
+ // If no results from sort_name try email.
+ 'search_field' => 'contact_id.sort_name',
+ 'search_field_fallback' => 'email',
+ ];
+
+}