{"action":"closed","number":1,"pull_request":{"url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/pulls/1","id":98450438,"html_url":"https://github.com/jpmeijers/ttnmapperandroid/pull/1","diff_url":"https://github.com/jpmeijers/ttnmapperandroid/pull/1.diff","patch_url":"https://github.com/jpmeijers/ttnmapperandroid/pull/1.patch","issue_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/issues/1","number":1,"state":"closed","locked":false,"title":"Production Backend","user":{"login":"dbrgn","id":105168,"avatar_url":"https://avatars.githubusercontent.com/u/105168?v=3","gravatar_id":"","url":"https://api.github.com/users/dbrgn","html_url":"https://github.com/dbrgn","followers_url":"https://api.github.com/users/dbrgn/followers","following_url":"https://api.github.com/users/dbrgn/following{/other_user}","gists_url":"https://api.github.com/users/dbrgn/gists{/gist_id}","starred_url":"https://api.github.com/users/dbrgn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dbrgn/subscriptions","organizations_url":"https://api.github.com/users/dbrgn/orgs","repos_url":"https://api.github.com/users/dbrgn/repos","events_url":"https://api.github.com/users/dbrgn/events{/privacy}","received_events_url":"https://api.github.com/users/dbrgn/received_events","type":"User","site_admin":false},"body":"Hi @jpmeijers \r\n\r\nI started implementing support for the production backend.\r\n\r\nThe first part was easy, but now I'm not sure on how you want to handle the new message format.\r\n\r\nFirst of all, removing croft would probably help to make the codebase easier. But I'm not sure if staging should still be supported at all. It makes the codebase much messier.\r\n\r\nI'd probably suggest dropping support for croft / staging in the next version completely. People that still need that can use the old APK.\r\n\r\nAnother thing that was changed is the format of the data. Here's an example of the new message:\r\n\r\n```json\r\n{\r\n    \"port\": 2,\r\n    \"counter\": 105,\r\n    \"payload_raw\": \"aA==\",\r\n    \"metadata\": {\r\n        \"time\": \"2016-12-17T17:29:55.825510656Z\",\r\n        \"frequency\": 867.9,\r\n        \"modulation\": \"LORA\",\r\n        \"data_rate\": \"SF7BW125\",\r\n        \"coding_rate\": \"4/5\",\r\n        \"gateways\": [\r\n            {\r\n                \"gtw_id\": \"eui-b827ebfffe4a5213\",\r\n                \"timestamp\": 1678625612,\r\n                \"time\": \"2016-12-17T17:29:55.799974Z\",\r\n                \"channel\": 7,\r\n                \"rssi\": -77,\r\n                \"snr\": 9.5,\r\n                \"latitude\": 47.22628,\r\n                \"longitude\": 8.82249,\r\n                \"altitude\": 409\r\n            }\r\n        ]\r\n    }\r\n}\r\n```\r\n\r\nThe `gateways` key has moved into `metadata`. Also, apps and devices are now identified by a custom identifier (appId and devId), not the EUIs anymore.\r\n\r\nSo the main blocker here for me are the following two questions:\r\n\r\n- Can the old croft / staging stuff be removed?\r\n- Will you do any changes to your mapper backend regarding EUIs, or should we just send appIDs and devIDs to your backend as appEUIs and devEUIs?","created_at":"2016-12-17T17:45:39Z","updated_at":"2016-12-18T09:26:56Z","closed_at":"2016-12-18T09:26:56Z","merged_at":"2016-12-18T09:26:56Z","merge_commit_sha":"30833a5632c232c1e355fbf1427afa31d9e8eaea","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/pulls/1/commits","review_comments_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/pulls/1/comments","review_comment_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/pulls/comments{/number}","comments_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/issues/1/comments","statuses_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/statuses/1b3f4c112aac0dc8819fe3549809313edfd9c74a","head":{"label":"dbrgn:production","ref":"production","sha":"1b3f4c112aac0dc8819fe3549809313edfd9c74a","user":{"login":"dbrgn","id":105168,"avatar_url":"https://avatars.githubusercontent.com/u/105168?v=3","gravatar_id":"","url":"https://api.github.com/users/dbrgn","html_url":"https://github.com/dbrgn","followers_url":"https://api.github.com/users/dbrgn/followers","following_url":"https://api.github.com/users/dbrgn/following{/other_user}","gists_url":"https://api.github.com/users/dbrgn/gists{/gist_id}","starred_url":"https://api.github.com/users/dbrgn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dbrgn/subscriptions","organizations_url":"https://api.github.com/users/dbrgn/orgs","repos_url":"https://api.github.com/users/dbrgn/repos","events_url":"https://api.github.com/users/dbrgn/events{/privacy}","received_events_url":"https://api.github.com/users/dbrgn/received_events","type":"User","site_admin":false},"repo":{"id":76738001,"name":"ttnmapperandroid","full_name":"dbrgn/ttnmapperandroid","owner":{"login":"dbrgn","id":105168,"avatar_url":"https://avatars.githubusercontent.com/u/105168?v=3","gravatar_id":"","url":"https://api.github.com/users/dbrgn","html_url":"https://github.com/dbrgn","followers_url":"https://api.github.com/users/dbrgn/followers","following_url":"https://api.github.com/users/dbrgn/following{/other_user}","gists_url":"https://api.github.com/users/dbrgn/gists{/gist_id}","starred_url":"https://api.github.com/users/dbrgn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dbrgn/subscriptions","organizations_url":"https://api.github.com/users/dbrgn/orgs","repos_url":"https://api.github.com/users/dbrgn/repos","events_url":"https://api.github.com/users/dbrgn/events{/privacy}","received_events_url":"https://api.github.com/users/dbrgn/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/dbrgn/ttnmapperandroid","description":"Source code for the TTNmapper app","fork":true,"url":"https://api.github.com/repos/dbrgn/ttnmapperandroid","forks_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/forks","keys_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/teams","hooks_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/hooks","issue_events_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/issues/events{/number}","events_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/events","assignees_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/assignees{/user}","branches_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/branches{/branch}","tags_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/tags","blobs_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/git/refs{/sha}","trees_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/statuses/{sha}","languages_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/languages","stargazers_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/stargazers","contributors_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/contributors","subscribers_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/subscribers","subscription_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/subscription","commits_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/commits{/sha}","git_commits_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/git/commits{/sha}","comments_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/comments{/number}","issue_comment_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/issues/comments{/number}","contents_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/contents/{+path}","compare_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/merges","archive_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/downloads","issues_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/issues{/number}","pulls_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/pulls{/number}","milestones_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/milestones{/number}","notifications_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/labels{/name}","releases_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/releases{/id}","deployments_url":"https://api.github.com/repos/dbrgn/ttnmapperandroid/deployments","created_at":"2016-12-17T17:41:56Z","updated_at":"2016-12-17T17:42:00Z","pushed_at":"2016-12-18T09:14:07Z","git_url":"git://github.com/dbrgn/ttnmapperandroid.git","ssh_url":"git@github.com:dbrgn/ttnmapperandroid.git","clone_url":"https://github.com/dbrgn/ttnmapperandroid.git","svn_url":"https://github.com/dbrgn/ttnmapperandroid","homepage":null,"size":2678,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"jpmeijers:master","ref":"master","sha":"89e1d40b832eb41bcd0945a611b4edec2fab5ff1","user":{"login":"jpmeijers","id":948278,"avatar_url":"https://avatars.githubusercontent.com/u/948278?v=3","gravatar_id":"","url":"https://api.github.com/users/jpmeijers","html_url":"https://github.com/jpmeijers","followers_url":"https://api.github.com/users/jpmeijers/followers","following_url":"https://api.github.com/users/jpmeijers/following{/other_user}","gists_url":"https://api.github.com/users/jpmeijers/gists{/gist_id}","starred_url":"https://api.github.com/users/jpmeijers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jpmeijers/subscriptions","organizations_url":"https://api.github.com/users/jpmeijers/orgs","repos_url":"https://api.github.com/users/jpmeijers/repos","events_url":"https://api.github.com/users/jpmeijers/events{/privacy}","received_events_url":"https://api.github.com/users/jpmeijers/received_events","type":"User","site_admin":false},"repo":{"id":51667394,"name":"ttnmapperandroid","full_name":"jpmeijers/ttnmapperandroid","owner":{"login":"jpmeijers","id":948278,"avatar_url":"https://avatars.githubusercontent.com/u/948278?v=3","gravatar_id":"","url":"https://api.github.com/users/jpmeijers","html_url":"https://github.com/jpmeijers","followers_url":"https://api.github.com/users/jpmeijers/followers","following_url":"https://api.github.com/users/jpmeijers/following{/other_user}","gists_url":"https://api.github.com/users/jpmeijers/gists{/gist_id}","starred_url":"https://api.github.com/users/jpmeijers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jpmeijers/subscriptions","organizations_url":"https://api.github.com/users/jpmeijers/orgs","repos_url":"https://api.github.com/users/jpmeijers/repos","events_url":"https://api.github.com/users/jpmeijers/events{/privacy}","received_events_url":"https://api.github.com/users/jpmeijers/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jpmeijers/ttnmapperandroid","description":"Source code for the TTNmapper app","fork":false,"url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid","forks_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/forks","keys_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/teams","hooks_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/hooks","issue_events_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/issues/events{/number}","events_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/events","assignees_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/assignees{/user}","branches_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/branches{/branch}","tags_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/tags","blobs_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/git/refs{/sha}","trees_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/statuses/{sha}","languages_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/languages","stargazers_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/stargazers","contributors_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/contributors","subscribers_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/subscribers","subscription_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/subscription","commits_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/commits{/sha}","git_commits_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/git/commits{/sha}","comments_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/comments{/number}","issue_comment_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/issues/comments{/number}","contents_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/contents/{+path}","compare_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/merges","archive_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/downloads","issues_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/issues{/number}","pulls_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/pulls{/number}","milestones_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/milestones{/number}","notifications_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/labels{/name}","releases_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/releases{/id}","deployments_url":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/deployments","created_at":"2016-02-13T21:49:41Z","updated_at":"2016-12-17T18:06:28Z","pushed_at":"2016-12-18T09:26:56Z","git_url":"git://github.com/jpmeijers/ttnmapperandroid.git","ssh_url":"git@github.com:jpmeijers/ttnmapperandroid.git","clone_url":"https://github.com/jpmeijers/ttnmapperandroid.git","svn_url":"https://github.com/jpmeijers/ttnmapperandroid","homepage":null,"size":2669,"stargazers_count":4,"watchers_count":4,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":4,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/pulls/1"},"html":{"href":"https://github.com/jpmeijers/ttnmapperandroid/pull/1"},"issue":{"href":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/issues/1"},"comments":{"href":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/jpmeijers/ttnmapperandroid/statuses/1b3f4c112aac0dc8819fe3549809313edfd9c74a"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"jpmeijers","id":948278,"avatar_url":"https://avatars.githubusercontent.com/u/948278?v=3","gravatar_id":"","url":"https://api.github.com/users/jpmeijers","html_url":"https://github.com/jpmeijers","followers_url":"https://api.github.com/users/jpmeijers/followers","following_url":"https://api.github.com/users/jpmeijers/following{/other_user}","gists_url":"https://api.github.com/users/jpmeijers/gists{/gist_id}","starred_url":"https://api.github.com/users/jpmeijers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jpmeijers/subscriptions","organizations_url":"https://api.github.com/users/jpmeijers/orgs","repos_url":"https://api.github.com/users/jpmeijers/repos","events_url":"https://api.github.com/users/jpmeijers/events{/privacy}","received_events_url":"https://api.github.com/users/jpmeijers/received_events","type":"User","site_admin":false},"comments":9,"review_comments":0,"commits":7,"additions":243,"deletions":879,"changed_files":22}}
{"actor":{"display_login":"jpmeijers"}}