{"action":"created","issue":{"url":"https://api.github.com/repos/openstax/tutor-server/issues/994","repository_url":"https://api.github.com/repos/openstax/tutor-server","labels_url":"https://api.github.com/repos/openstax/tutor-server/issues/994/labels{/name}","comments_url":"https://api.github.com/repos/openstax/tutor-server/issues/994/comments","events_url":"https://api.github.com/repos/openstax/tutor-server/issues/994/events","html_url":"https://github.com/openstax/tutor-server/pull/994","id":136504848,"number":994,"title":"WIP Course exercise listings and exclusions","user":{"login":"jpslav","id":1001691,"avatar_url":"https://avatars.githubusercontent.com/u/1001691?v=3","gravatar_id":"","url":"https://api.github.com/users/jpslav","html_url":"https://github.com/jpslav","followers_url":"https://api.github.com/users/jpslav/followers","following_url":"https://api.github.com/users/jpslav/following{/other_user}","gists_url":"https://api.github.com/users/jpslav/gists{/gist_id}","starred_url":"https://api.github.com/users/jpslav/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jpslav/subscriptions","organizations_url":"https://api.github.com/users/jpslav/orgs","repos_url":"https://api.github.com/users/jpslav/repos","events_url":"https://api.github.com/users/jpslav/events{/privacy}","received_events_url":"https://api.github.com/users/jpslav/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-02-25T20:39:53Z","updated_at":"2016-02-29T18:52:11Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/openstax/tutor-server/pulls/994","html_url":"https://github.com/openstax/tutor-server/pull/994","diff_url":"https://github.com/openstax/tutor-server/pull/994.diff","patch_url":"https://github.com/openstax/tutor-server/pull/994.patch"},"body":"`GET /courses/:course_id/exercises`\r\n\r\n^^ Would be just like the existing `/ecosystems/:ecosystem_id/exercises(/:pool_types)` endpoint, but we'd also add a `is_excluded` boolean to each exercise (or a nested object of course exercise options).\r\n\r\nFor excluding/including, phil and I decided to go with:\r\n\r\n`PUT /courses/:course_id/exercises/:exercise_id` with body of `{id: 123, is_excluded: false}`\r\n\r\nThis PR also needs to maintain a BL pool of excluded exercises by course.  When the teacher excludes or unexcludes a new exercise, we need to make a new pool and send to BL.  Somewhere in Tutor we need to store that BL pool ID attached to the course so that we can use it in BL API calls (see KB for new APIs)"},"comment":{"url":"https://api.github.com/repos/openstax/tutor-server/issues/comments/190330606","html_url":"https://github.com/openstax/tutor-server/pull/994#issuecomment-190330606","issue_url":"https://api.github.com/repos/openstax/tutor-server/issues/994","id":190330606,"user":{"login":"jpslav","id":1001691,"avatar_url":"https://avatars.githubusercontent.com/u/1001691?v=3","gravatar_id":"","url":"https://api.github.com/users/jpslav","html_url":"https://github.com/jpslav","followers_url":"https://api.github.com/users/jpslav/followers","following_url":"https://api.github.com/users/jpslav/following{/other_user}","gists_url":"https://api.github.com/users/jpslav/gists{/gist_id}","starred_url":"https://api.github.com/users/jpslav/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jpslav/subscriptions","organizations_url":"https://api.github.com/users/jpslav/orgs","repos_url":"https://api.github.com/users/jpslav/repos","events_url":"https://api.github.com/users/jpslav/events{/privacy}","received_events_url":"https://api.github.com/users/jpslav/received_events","type":"User","site_admin":false},"created_at":"2016-02-29T18:52:11Z","updated_at":"2016-02-29T18:52:11Z","body":"Hey @nathanstitt this is WIP in the truest since of the word, and is not expected to work at all.  Has been passed to @Dantemss for completion."}}