{"action":"created","issue":{"url":"https://api.github.com/repos/dvcoders/dvcoders-backend/issues/15","repository_url":"https://api.github.com/repos/dvcoders/dvcoders-backend","labels_url":"https://api.github.com/repos/dvcoders/dvcoders-backend/issues/15/labels{/name}","comments_url":"https://api.github.com/repos/dvcoders/dvcoders-backend/issues/15/comments","events_url":"https://api.github.com/repos/dvcoders/dvcoders-backend/issues/15/events","html_url":"https://github.com/dvcoders/dvcoders-backend/issues/15","id":132342640,"number":15,"title":"Server-side form validation","user":{"login":"janka102","id":1645882,"avatar_url":"https://avatars.githubusercontent.com/u/1645882?v=3","gravatar_id":"","url":"https://api.github.com/users/janka102","html_url":"https://github.com/janka102","followers_url":"https://api.github.com/users/janka102/followers","following_url":"https://api.github.com/users/janka102/following{/other_user}","gists_url":"https://api.github.com/users/janka102/gists{/gist_id}","starred_url":"https://api.github.com/users/janka102/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/janka102/subscriptions","organizations_url":"https://api.github.com/users/janka102/orgs","repos_url":"https://api.github.com/users/janka102/repos","events_url":"https://api.github.com/users/janka102/events{/privacy}","received_events_url":"https://api.github.com/users/janka102/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dvcoders/dvcoders-backend/labels/Database","name":"Database","color":"006b75"},{"url":"https://api.github.com/repos/dvcoders/dvcoders-backend/labels/Improvement/Enhancement","name":"Improvement/Enhancement","color":"d4c5f9"}],"state":"open","locked":false,"assignee":{"login":"thebearjew","id":5200812,"avatar_url":"https://avatars.githubusercontent.com/u/5200812?v=3","gravatar_id":"","url":"https://api.github.com/users/thebearjew","html_url":"https://github.com/thebearjew","followers_url":"https://api.github.com/users/thebearjew/followers","following_url":"https://api.github.com/users/thebearjew/following{/other_user}","gists_url":"https://api.github.com/users/thebearjew/gists{/gist_id}","starred_url":"https://api.github.com/users/thebearjew/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thebearjew/subscriptions","organizations_url":"https://api.github.com/users/thebearjew/orgs","repos_url":"https://api.github.com/users/thebearjew/repos","events_url":"https://api.github.com/users/thebearjew/events{/privacy}","received_events_url":"https://api.github.com/users/thebearjew/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/dvcoders/dvcoders-backend/milestones/1","html_url":"https://github.com/dvcoders/dvcoders-backend/milestones/Application%20Form%20(Alpha)","labels_url":"https://api.github.com/repos/dvcoders/dvcoders-backend/milestones/1/labels","id":1568533,"number":1,"title":"Application Form (Alpha)","description":"Complete the alpha version of the dvcoders registration form (deployed to apply.dvcoders.com).\r\n\r\nNew members need to use it to successfully register their emails/github accounts with dvcoders.","creator":{"login":"thebearjew","id":5200812,"avatar_url":"https://avatars.githubusercontent.com/u/5200812?v=3","gravatar_id":"","url":"https://api.github.com/users/thebearjew","html_url":"https://github.com/thebearjew","followers_url":"https://api.github.com/users/thebearjew/followers","following_url":"https://api.github.com/users/thebearjew/following{/other_user}","gists_url":"https://api.github.com/users/thebearjew/gists{/gist_id}","starred_url":"https://api.github.com/users/thebearjew/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thebearjew/subscriptions","organizations_url":"https://api.github.com/users/thebearjew/orgs","repos_url":"https://api.github.com/users/thebearjew/repos","events_url":"https://api.github.com/users/thebearjew/events{/privacy}","received_events_url":"https://api.github.com/users/thebearjew/received_events","type":"User","site_admin":false},"open_issues":5,"closed_issues":9,"state":"open","created_at":"2016-02-07T10:04:21Z","updated_at":"2016-02-11T07:28:26Z","due_on":"2016-02-07T08:00:00Z","closed_at":null},"comments":2,"created_at":"2016-02-09T06:30:21Z","updated_at":"2016-02-11T12:00:07Z","closed_at":null,"body":"- [x] Limit String lengths in Mongoose schemas\r\n- [x] Validate email address in the Mongoose schema\r\n- [x] Make sure firstName, lastName, and email are present in the request body to /join\r\n- [x] Possibly make email unique in the schema and then check for errors when saving it. As opposed to how it is now where I explicitly search for a user with the email."},"comment":{"url":"https://api.github.com/repos/dvcoders/dvcoders-backend/issues/comments/182826743","html_url":"https://github.com/dvcoders/dvcoders-backend/issues/15#issuecomment-182826743","issue_url":"https://api.github.com/repos/dvcoders/dvcoders-backend/issues/15","id":182826743,"user":{"login":"thebearjew","id":5200812,"avatar_url":"https://avatars.githubusercontent.com/u/5200812?v=3","gravatar_id":"","url":"https://api.github.com/users/thebearjew","html_url":"https://github.com/thebearjew","followers_url":"https://api.github.com/users/thebearjew/followers","following_url":"https://api.github.com/users/thebearjew/following{/other_user}","gists_url":"https://api.github.com/users/thebearjew/gists{/gist_id}","starred_url":"https://api.github.com/users/thebearjew/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thebearjew/subscriptions","organizations_url":"https://api.github.com/users/thebearjew/orgs","repos_url":"https://api.github.com/users/thebearjew/repos","events_url":"https://api.github.com/users/thebearjew/events{/privacy}","received_events_url":"https://api.github.com/users/thebearjew/received_events","type":"User","site_admin":false},"created_at":"2016-02-11T12:00:07Z","updated_at":"2016-02-11T12:00:07Z","body":"Make firstName, lastName, and email both `unique` and `required.\r\n\r\nAt this point we have three levels of redundancy:\r\n1. Pattern matching + required attribute + custom submit even handler on client side\r\n2. Server side request body checking for form fields (firstName, lastName, email)\r\n3. Mongoose ORM required and unique settings.\r\n"}}