{"action":"closed","number":445,"pull_request":{"url":"https://api.github.com/repos/azavea/raster-foundry/pulls/445","id":84183757,"html_url":"https://github.com/azavea/raster-foundry/pull/445","diff_url":"https://github.com/azavea/raster-foundry/pull/445.diff","patch_url":"https://github.com/azavea/raster-foundry/pull/445.patch","issue_url":"https://api.github.com/repos/azavea/raster-foundry/issues/445","number":445,"state":"closed","locked":false,"title":"Add buckets, refine layers/images API endpoints","user":{"login":"notthatbreezy","id":898060,"avatar_url":"https://avatars.githubusercontent.com/u/898060?v=3","gravatar_id":"","url":"https://api.github.com/users/notthatbreezy","html_url":"https://github.com/notthatbreezy","followers_url":"https://api.github.com/users/notthatbreezy/followers","following_url":"https://api.github.com/users/notthatbreezy/following{/other_user}","gists_url":"https://api.github.com/users/notthatbreezy/gists{/gist_id}","starred_url":"https://api.github.com/users/notthatbreezy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/notthatbreezy/subscriptions","organizations_url":"https://api.github.com/users/notthatbreezy/orgs","repos_url":"https://api.github.com/users/notthatbreezy/repos","events_url":"https://api.github.com/users/notthatbreezy/events{/privacy}","received_events_url":"https://api.github.com/users/notthatbreezy/received_events","type":"User","site_admin":false},"body":"The big change here is the addition of the concept of scenes and removal\r\nof imports.\r\n\r\nScene in this case is a group of images that are related in some way,\r\nsharing large portions of metadata. There are two examples that\r\nillustrate the need for this type of resource:\r\n\r\n - pre-Tiled imagery: in this case a user uploads imagery that is split\r\n   for filesize purposes, but not for any other reason. This imagery\r\n   shares the same metadata, but users would expect to interact with all\r\n   the images together and we would like to ingest it via GeoTrellis\r\n   together as well. From a UX perspective, the advantage here is that\r\n   if 100 images are uploaded with the same metadata and user does a\r\n   search where the primary unit is an \"image\", all 100 images would be\r\n   returned. However, if grouped as a scene, only one result would be\r\n   returned.\r\n - landsat 8 imagery: in this case, one image per band is uploaded, but\r\n   logically they are all part of the same scene and share metadata\r\n\r\nOther changes include updating query parameters for users since it is no\r\nlonger possible to query users by organization or role when they have\r\nmultiples of both. To get users that belong to an organization requires\r\nquerying the organization.\r\n\r\n## Testing:\r\n\r\n- Start VM and run `./scripts/server`\r\n- Go to [localhost:9100/docs/swagger/](locahost:9100/docs/swagger/)\r\n- Inspect the output\r\n\r\nNote: Trying to fix up the nginx issue right now in a better way, but didn't want to stop review because of it","created_at":"2016-09-06T19:43:56Z","updated_at":"2016-09-08T19:32:34Z","closed_at":"2016-09-08T19:32:34Z","merged_at":"2016-09-08T19:32:34Z","merge_commit_sha":"cba0e87c66cd7c1666320ed2992a78c64165cc46","assignee":{"login":"kshepard","id":6386,"avatar_url":"https://avatars.githubusercontent.com/u/6386?v=3","gravatar_id":"","url":"https://api.github.com/users/kshepard","html_url":"https://github.com/kshepard","followers_url":"https://api.github.com/users/kshepard/followers","following_url":"https://api.github.com/users/kshepard/following{/other_user}","gists_url":"https://api.github.com/users/kshepard/gists{/gist_id}","starred_url":"https://api.github.com/users/kshepard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kshepard/subscriptions","organizations_url":"https://api.github.com/users/kshepard/orgs","repos_url":"https://api.github.com/users/kshepard/repos","events_url":"https://api.github.com/users/kshepard/events{/privacy}","received_events_url":"https://api.github.com/users/kshepard/received_events","type":"User","site_admin":false},"assignees":[{"login":"kshepard","id":6386,"avatar_url":"https://avatars.githubusercontent.com/u/6386?v=3","gravatar_id":"","url":"https://api.github.com/users/kshepard","html_url":"https://github.com/kshepard","followers_url":"https://api.github.com/users/kshepard/followers","following_url":"https://api.github.com/users/kshepard/following{/other_user}","gists_url":"https://api.github.com/users/kshepard/gists{/gist_id}","starred_url":"https://api.github.com/users/kshepard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kshepard/subscriptions","organizations_url":"https://api.github.com/users/kshepard/orgs","repos_url":"https://api.github.com/users/kshepard/repos","events_url":"https://api.github.com/users/kshepard/events{/privacy}","received_events_url":"https://api.github.com/users/kshepard/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/azavea/raster-foundry/pulls/445/commits","review_comments_url":"https://api.github.com/repos/azavea/raster-foundry/pulls/445/comments","review_comment_url":"https://api.github.com/repos/azavea/raster-foundry/pulls/comments{/number}","comments_url":"https://api.github.com/repos/azavea/raster-foundry/issues/445/comments","statuses_url":"https://api.github.com/repos/azavea/raster-foundry/statuses/7aa360f715bf8906d12a9e116b28a99e4f27595b","head":{"label":"azavea:feature/cmb/update-api-spec","ref":"feature/cmb/update-api-spec","sha":"7aa360f715bf8906d12a9e116b28a99e4f27595b","user":{"login":"azavea","id":595231,"avatar_url":"https://avatars.githubusercontent.com/u/595231?v=3","gravatar_id":"","url":"https://api.github.com/users/azavea","html_url":"https://github.com/azavea","followers_url":"https://api.github.com/users/azavea/followers","following_url":"https://api.github.com/users/azavea/following{/other_user}","gists_url":"https://api.github.com/users/azavea/gists{/gist_id}","starred_url":"https://api.github.com/users/azavea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/azavea/subscriptions","organizations_url":"https://api.github.com/users/azavea/orgs","repos_url":"https://api.github.com/users/azavea/repos","events_url":"https://api.github.com/users/azavea/events{/privacy}","received_events_url":"https://api.github.com/users/azavea/received_events","type":"Organization","site_admin":false},"repo":{"id":36464140,"name":"raster-foundry","full_name":"azavea/raster-foundry","owner":{"login":"azavea","id":595231,"avatar_url":"https://avatars.githubusercontent.com/u/595231?v=3","gravatar_id":"","url":"https://api.github.com/users/azavea","html_url":"https://github.com/azavea","followers_url":"https://api.github.com/users/azavea/followers","following_url":"https://api.github.com/users/azavea/following{/other_user}","gists_url":"https://api.github.com/users/azavea/gists{/gist_id}","starred_url":"https://api.github.com/users/azavea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/azavea/subscriptions","organizations_url":"https://api.github.com/users/azavea/orgs","repos_url":"https://api.github.com/users/azavea/repos","events_url":"https://api.github.com/users/azavea/events{/privacy}","received_events_url":"https://api.github.com/users/azavea/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/azavea/raster-foundry","description":"The Raster Foundry web application.","fork":false,"url":"https://api.github.com/repos/azavea/raster-foundry","forks_url":"https://api.github.com/repos/azavea/raster-foundry/forks","keys_url":"https://api.github.com/repos/azavea/raster-foundry/keys{/key_id}","collaborators_url":"https://api.github.com/repos/azavea/raster-foundry/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/azavea/raster-foundry/teams","hooks_url":"https://api.github.com/repos/azavea/raster-foundry/hooks","issue_events_url":"https://api.github.com/repos/azavea/raster-foundry/issues/events{/number}","events_url":"https://api.github.com/repos/azavea/raster-foundry/events","assignees_url":"https://api.github.com/repos/azavea/raster-foundry/assignees{/user}","branches_url":"https://api.github.com/repos/azavea/raster-foundry/branches{/branch}","tags_url":"https://api.github.com/repos/azavea/raster-foundry/tags","blobs_url":"https://api.github.com/repos/azavea/raster-foundry/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/azavea/raster-foundry/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/azavea/raster-foundry/git/refs{/sha}","trees_url":"https://api.github.com/repos/azavea/raster-foundry/git/trees{/sha}","statuses_url":"https://api.github.com/repos/azavea/raster-foundry/statuses/{sha}","languages_url":"https://api.github.com/repos/azavea/raster-foundry/languages","stargazers_url":"https://api.github.com/repos/azavea/raster-foundry/stargazers","contributors_url":"https://api.github.com/repos/azavea/raster-foundry/contributors","subscribers_url":"https://api.github.com/repos/azavea/raster-foundry/subscribers","subscription_url":"https://api.github.com/repos/azavea/raster-foundry/subscription","commits_url":"https://api.github.com/repos/azavea/raster-foundry/commits{/sha}","git_commits_url":"https://api.github.com/repos/azavea/raster-foundry/git/commits{/sha}","comments_url":"https://api.github.com/repos/azavea/raster-foundry/comments{/number}","issue_comment_url":"https://api.github.com/repos/azavea/raster-foundry/issues/comments{/number}","contents_url":"https://api.github.com/repos/azavea/raster-foundry/contents/{+path}","compare_url":"https://api.github.com/repos/azavea/raster-foundry/compare/{base}...{head}","merges_url":"https://api.github.com/repos/azavea/raster-foundry/merges","archive_url":"https://api.github.com/repos/azavea/raster-foundry/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/azavea/raster-foundry/downloads","issues_url":"https://api.github.com/repos/azavea/raster-foundry/issues{/number}","pulls_url":"https://api.github.com/repos/azavea/raster-foundry/pulls{/number}","milestones_url":"https://api.github.com/repos/azavea/raster-foundry/milestones{/number}","notifications_url":"https://api.github.com/repos/azavea/raster-foundry/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/azavea/raster-foundry/labels{/name}","releases_url":"https://api.github.com/repos/azavea/raster-foundry/releases{/id}","deployments_url":"https://api.github.com/repos/azavea/raster-foundry/deployments","created_at":"2015-05-28T20:25:45Z","updated_at":"2016-07-18T16:12:22Z","pushed_at":"2016-09-08T19:32:34Z","git_url":"git://github.com/azavea/raster-foundry.git","ssh_url":"git@github.com:azavea/raster-foundry.git","clone_url":"https://github.com/azavea/raster-foundry.git","svn_url":"https://github.com/azavea/raster-foundry","homepage":"","size":14928,"stargazers_count":5,"watchers_count":5,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":8,"mirror_url":null,"open_issues_count":21,"forks":8,"open_issues":21,"watchers":5,"default_branch":"develop"}},"base":{"label":"azavea:develop","ref":"develop","sha":"4deb5d6e78a571e1d5be72480a1692d94afa12d8","user":{"login":"azavea","id":595231,"avatar_url":"https://avatars.githubusercontent.com/u/595231?v=3","gravatar_id":"","url":"https://api.github.com/users/azavea","html_url":"https://github.com/azavea","followers_url":"https://api.github.com/users/azavea/followers","following_url":"https://api.github.com/users/azavea/following{/other_user}","gists_url":"https://api.github.com/users/azavea/gists{/gist_id}","starred_url":"https://api.github.com/users/azavea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/azavea/subscriptions","organizations_url":"https://api.github.com/users/azavea/orgs","repos_url":"https://api.github.com/users/azavea/repos","events_url":"https://api.github.com/users/azavea/events{/privacy}","received_events_url":"https://api.github.com/users/azavea/received_events","type":"Organization","site_admin":false},"repo":{"id":36464140,"name":"raster-foundry","full_name":"azavea/raster-foundry","owner":{"login":"azavea","id":595231,"avatar_url":"https://avatars.githubusercontent.com/u/595231?v=3","gravatar_id":"","url":"https://api.github.com/users/azavea","html_url":"https://github.com/azavea","followers_url":"https://api.github.com/users/azavea/followers","following_url":"https://api.github.com/users/azavea/following{/other_user}","gists_url":"https://api.github.com/users/azavea/gists{/gist_id}","starred_url":"https://api.github.com/users/azavea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/azavea/subscriptions","organizations_url":"https://api.github.com/users/azavea/orgs","repos_url":"https://api.github.com/users/azavea/repos","events_url":"https://api.github.com/users/azavea/events{/privacy}","received_events_url":"https://api.github.com/users/azavea/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/azavea/raster-foundry","description":"The Raster Foundry web application.","fork":false,"url":"https://api.github.com/repos/azavea/raster-foundry","forks_url":"https://api.github.com/repos/azavea/raster-foundry/forks","keys_url":"https://api.github.com/repos/azavea/raster-foundry/keys{/key_id}","collaborators_url":"https://api.github.com/repos/azavea/raster-foundry/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/azavea/raster-foundry/teams","hooks_url":"https://api.github.com/repos/azavea/raster-foundry/hooks","issue_events_url":"https://api.github.com/repos/azavea/raster-foundry/issues/events{/number}","events_url":"https://api.github.com/repos/azavea/raster-foundry/events","assignees_url":"https://api.github.com/repos/azavea/raster-foundry/assignees{/user}","branches_url":"https://api.github.com/repos/azavea/raster-foundry/branches{/branch}","tags_url":"https://api.github.com/repos/azavea/raster-foundry/tags","blobs_url":"https://api.github.com/repos/azavea/raster-foundry/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/azavea/raster-foundry/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/azavea/raster-foundry/git/refs{/sha}","trees_url":"https://api.github.com/repos/azavea/raster-foundry/git/trees{/sha}","statuses_url":"https://api.github.com/repos/azavea/raster-foundry/statuses/{sha}","languages_url":"https://api.github.com/repos/azavea/raster-foundry/languages","stargazers_url":"https://api.github.com/repos/azavea/raster-foundry/stargazers","contributors_url":"https://api.github.com/repos/azavea/raster-foundry/contributors","subscribers_url":"https://api.github.com/repos/azavea/raster-foundry/subscribers","subscription_url":"https://api.github.com/repos/azavea/raster-foundry/subscription","commits_url":"https://api.github.com/repos/azavea/raster-foundry/commits{/sha}","git_commits_url":"https://api.github.com/repos/azavea/raster-foundry/git/commits{/sha}","comments_url":"https://api.github.com/repos/azavea/raster-foundry/comments{/number}","issue_comment_url":"https://api.github.com/repos/azavea/raster-foundry/issues/comments{/number}","contents_url":"https://api.github.com/repos/azavea/raster-foundry/contents/{+path}","compare_url":"https://api.github.com/repos/azavea/raster-foundry/compare/{base}...{head}","merges_url":"https://api.github.com/repos/azavea/raster-foundry/merges","archive_url":"https://api.github.com/repos/azavea/raster-foundry/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/azavea/raster-foundry/downloads","issues_url":"https://api.github.com/repos/azavea/raster-foundry/issues{/number}","pulls_url":"https://api.github.com/repos/azavea/raster-foundry/pulls{/number}","milestones_url":"https://api.github.com/repos/azavea/raster-foundry/milestones{/number}","notifications_url":"https://api.github.com/repos/azavea/raster-foundry/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/azavea/raster-foundry/labels{/name}","releases_url":"https://api.github.com/repos/azavea/raster-foundry/releases{/id}","deployments_url":"https://api.github.com/repos/azavea/raster-foundry/deployments","created_at":"2015-05-28T20:25:45Z","updated_at":"2016-07-18T16:12:22Z","pushed_at":"2016-09-08T19:32:34Z","git_url":"git://github.com/azavea/raster-foundry.git","ssh_url":"git@github.com:azavea/raster-foundry.git","clone_url":"https://github.com/azavea/raster-foundry.git","svn_url":"https://github.com/azavea/raster-foundry","homepage":"","size":14928,"stargazers_count":5,"watchers_count":5,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":8,"mirror_url":null,"open_issues_count":21,"forks":8,"open_issues":21,"watchers":5,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/azavea/raster-foundry/pulls/445"},"html":{"href":"https://github.com/azavea/raster-foundry/pull/445"},"issue":{"href":"https://api.github.com/repos/azavea/raster-foundry/issues/445"},"comments":{"href":"https://api.github.com/repos/azavea/raster-foundry/issues/445/comments"},"review_comments":{"href":"https://api.github.com/repos/azavea/raster-foundry/pulls/445/comments"},"review_comment":{"href":"https://api.github.com/repos/azavea/raster-foundry/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/azavea/raster-foundry/pulls/445/commits"},"statuses":{"href":"https://api.github.com/repos/azavea/raster-foundry/statuses/7aa360f715bf8906d12a9e116b28a99e4f27595b"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"notthatbreezy","id":898060,"avatar_url":"https://avatars.githubusercontent.com/u/898060?v=3","gravatar_id":"","url":"https://api.github.com/users/notthatbreezy","html_url":"https://github.com/notthatbreezy","followers_url":"https://api.github.com/users/notthatbreezy/followers","following_url":"https://api.github.com/users/notthatbreezy/following{/other_user}","gists_url":"https://api.github.com/users/notthatbreezy/gists{/gist_id}","starred_url":"https://api.github.com/users/notthatbreezy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/notthatbreezy/subscriptions","organizations_url":"https://api.github.com/users/notthatbreezy/orgs","repos_url":"https://api.github.com/users/notthatbreezy/repos","events_url":"https://api.github.com/users/notthatbreezy/events{/privacy}","received_events_url":"https://api.github.com/users/notthatbreezy/received_events","type":"User","site_admin":false},"comments":3,"review_comments":1,"commits":2,"additions":33129,"deletions":171,"changed_files":64}}
{"actor":{"display_login":"notthatbreezy"}}