{"action":"opened","issue":{"url":"https://api.github.com/repos/keystonejs/keystone/issues/1539","labels_url":"https://api.github.com/repos/keystonejs/keystone/issues/1539/labels{/name}","comments_url":"https://api.github.com/repos/keystonejs/keystone/issues/1539/comments","events_url":"https://api.github.com/repos/keystonejs/keystone/issues/1539/events","html_url":"https://github.com/keystonejs/keystone/issues/1539","id":95967865,"number":1539,"title":"Implement field-specific filtering methods","user":{"login":"JedWatson","id":872310,"avatar_url":"https://avatars.githubusercontent.com/u/872310?v=3","gravatar_id":"","url":"https://api.github.com/users/JedWatson","html_url":"https://github.com/JedWatson","followers_url":"https://api.github.com/users/JedWatson/followers","following_url":"https://api.github.com/users/JedWatson/following{/other_user}","gists_url":"https://api.github.com/users/JedWatson/gists{/gist_id}","starred_url":"https://api.github.com/users/JedWatson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JedWatson/subscriptions","organizations_url":"https://api.github.com/users/JedWatson/orgs","repos_url":"https://api.github.com/users/JedWatson/repos","events_url":"https://api.github.com/users/JedWatson/events{/privacy}","received_events_url":"https://api.github.com/users/JedWatson/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"JedWatson","id":872310,"avatar_url":"https://avatars.githubusercontent.com/u/872310?v=3","gravatar_id":"","url":"https://api.github.com/users/JedWatson","html_url":"https://github.com/JedWatson","followers_url":"https://api.github.com/users/JedWatson/followers","following_url":"https://api.github.com/users/JedWatson/following{/other_user}","gists_url":"https://api.github.com/users/JedWatson/gists{/gist_id}","starred_url":"https://api.github.com/users/JedWatson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JedWatson/subscriptions","organizations_url":"https://api.github.com/users/JedWatson/orgs","repos_url":"https://api.github.com/users/JedWatson/repos","events_url":"https://api.github.com/users/JedWatson/events{/privacy}","received_events_url":"https://api.github.com/users/JedWatson/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/keystonejs/keystone/milestones/5","html_url":"https://github.com/keystonejs/keystone/milestones/0.4.0","labels_url":"https://api.github.com/repos/keystonejs/keystone/milestones/5/labels","id":917933,"number":5,"title":"0.4.0","description":"","creator":{"login":"morenoh149","id":587438,"avatar_url":"https://avatars.githubusercontent.com/u/587438?v=3","gravatar_id":"","url":"https://api.github.com/users/morenoh149","html_url":"https://github.com/morenoh149","followers_url":"https://api.github.com/users/morenoh149/followers","following_url":"https://api.github.com/users/morenoh149/following{/other_user}","gists_url":"https://api.github.com/users/morenoh149/gists{/gist_id}","starred_url":"https://api.github.com/users/morenoh149/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/morenoh149/subscriptions","organizations_url":"https://api.github.com/users/morenoh149/orgs","repos_url":"https://api.github.com/users/morenoh149/repos","events_url":"https://api.github.com/users/morenoh149/events{/privacy}","received_events_url":"https://api.github.com/users/morenoh149/received_events","type":"User","site_admin":false},"open_issues":15,"closed_issues":1,"state":"open","created_at":"2014-12-30T20:01:34Z","updated_at":"2015-07-20T01:57:06Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2015-07-20T01:57:06Z","updated_at":"2015-07-20T01:57:06Z","closed_at":null,"body":"List filtering is currently implemented with a big switch statement in `lib/list.js` for per-field-type filtering logic. The logic should be implemented on a per-field basis for any field type that supports filtering, to support custom (non-core) field types in the future.\r\n\r\nSince we're reimplementing the filtering UI and logic in 0.4, this is a good opportunity to clean up the options and logic for each data type.\r\n\r\nFilter methods should be implemented as a `addFilterToQuery(filter, query)` method on the fieldtype.prototype. This won't be implemented on the base `Field` prototype.\r\n\r\nInitial types to implement:\r\n\r\n- [x] text\r\n- [x] date\r\n- [x] boolean\r\n- [ ] number\r\n- [ ] select\r\n- [ ] relationship\r\n- [ ] name\r\n- [ ] password"}}