{"action":"opened","issue":{"url":"https://api.github.com/repos/pythonindia/junction/issues/462","repository_url":"https://api.github.com/repos/pythonindia/junction","labels_url":"https://api.github.com/repos/pythonindia/junction/issues/462/labels{/name}","comments_url":"https://api.github.com/repos/pythonindia/junction/issues/462/comments","events_url":"https://api.github.com/repos/pythonindia/junction/issues/462/events","html_url":"https://github.com/pythonindia/junction/issues/462","id":163533684,"number":462,"title":"Add proposal API","user":{"login":"kracekumar","id":311929,"avatar_url":"https://avatars.githubusercontent.com/u/311929?v=3","gravatar_id":"","url":"https://api.github.com/users/kracekumar","html_url":"https://github.com/kracekumar","followers_url":"https://api.github.com/users/kracekumar/followers","following_url":"https://api.github.com/users/kracekumar/following{/other_user}","gists_url":"https://api.github.com/users/kracekumar/gists{/gist_id}","starred_url":"https://api.github.com/users/kracekumar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kracekumar/subscriptions","organizations_url":"https://api.github.com/users/kracekumar/orgs","repos_url":"https://api.github.com/users/kracekumar/repos","events_url":"https://api.github.com/users/kracekumar/events{/privacy}","received_events_url":"https://api.github.com/users/kracekumar/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-07-02T20:03:49Z","updated_at":"2016-07-02T20:03:49Z","closed_at":null,"body":"Junction doesn't have API to expose proposals public data. There are APIs for `conference, schedule, venue` etc ... Junction needs to have API for the proposals.\r\n\r\n`Slug: /api/v1/proposals?conference_name=conference_name`\r\n\r\nAPI returns 20 proposals at a time with the total count.\r\n\r\n```python\r\n{'count': 166,\r\n'data': [{}, {}]}\r\n```\r\n- `count` contains a total number of items.\r\n- `data` contains list of proposals details.\r\n- Proposal details should contain following details `id`, `proposal_section`, `proposal_type`, `author`, `title`, `prerequisites`, `content_urls`, `speaker_info`, `speaker_links`,  `comments`.\r\n- `proposal_section` and `proposal_type` contains the name and not `id`.\r\n- `author` contains the username.\r\n- `comments` should return only public comments.\r\n- The Client should recursively fetch the data til the count becomes less than limit i.e 20.\r\n- API can give out a maximum of 20 items at any point.\r\n- After fetching first set of records, client needs to set offset in next request. Sample: `/api/v1/proposals?conference_name=conference_name&offset=20 and  /api/v1/proposals?conference_name=conference_name&offset=20`\r\n\r\n### Server Notes:\r\n- The Server should load all the proposals and comments in the single DB request.\r\n\r\nNote: Ignore proposals in `draft` and `deleted` state."}}
{"actor":{"display_login":"kracekumar"}}