{"action":"created","comment":{"url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/pulls/comments/237288536","pull_request_review_id":179550941,"id":237288536,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzNzI4ODUzNg==","diff_hunk":"@@ -8,12 +8,35 @@\n import Foundation\n     \n /// A request containing a single resource.\n-public struct BetaAppLocalizationUpdateRequest: Decodable {\n+public struct BetaAppLocalizationUpdateRequest: Codable {\n \n+    /// - Parameters:\n+    ///   - id: The opaque resource ID that uniquely identifies the resource.\n+    ///   - description: A description of your app that highlights features and functionality.\n+    ///   - feedbackEmail: An email address to which beta testers can send feedback. Also appears as the reply-to address for TestFlight invitation emails.\n+    ///   - marketingUrl: A URL with information about your app. This URL is visible to testers in the TestFlight app\n+    ///   - privacyPolicyUrl= A URL that links to your company’s privacy policy. Privacy policies are recommended for all apps that collect user or device-related data or as otherwise required by law.\n+    ///   - tvOsPrivacyPolicy: Your company’s privacy policy. Privacy policies are recommended for all apps that collect user or device-related data, or as otherwise required by law.\n+    init(id: String,\n+                description: String? = nil,\n+                feedbackEmail: String? = nil,","path":"Sources/Models/BetaAppLocalizationUpdateRequest.swift","position":16,"original_position":16,"commit_id":"9fe19cf52b66aacc98c34b1a7bad414696b22731","original_commit_id":"9fe19cf52b66aacc98c34b1a7bad414696b22731","user":{"login":"SwiftLeeBot","id":44875232,"node_id":"MDQ6VXNlcjQ0ODc1MjMy","avatar_url":"https://avatars3.githubusercontent.com/u/44875232?v=4","gravatar_id":"","url":"https://api.github.com/users/SwiftLeeBot","html_url":"https://github.com/SwiftLeeBot","followers_url":"https://api.github.com/users/SwiftLeeBot/followers","following_url":"https://api.github.com/users/SwiftLeeBot/following{/other_user}","gists_url":"https://api.github.com/users/SwiftLeeBot/gists{/gist_id}","starred_url":"https://api.github.com/users/SwiftLeeBot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SwiftLeeBot/subscriptions","organizations_url":"https://api.github.com/users/SwiftLeeBot/orgs","repos_url":"https://api.github.com/users/SwiftLeeBot/repos","events_url":"https://api.github.com/users/SwiftLeeBot/events{/privacy}","received_events_url":"https://api.github.com/users/SwiftLeeBot/received_events","type":"User","site_admin":false},"body":"<table data-meta=\"generated_by_danger\">\n  <tbody>\n    <tr>\n      <td>:warning:</td>\n      <td width=\"100%\" data-sticky=\"false\"><span data-href=\"https://github.com/AvdLee/appstoreconnect-swift-sdk/blob/9fe19cf52b66aacc98c34b1a7bad414696b22731/Sources/Models/BetaAppLocalizationUpdateRequest.swift#L22\"></span>Function parameters should be aligned vertically if they’re in multiple lines in a declaration.</td>\n    </tr>\n  </tbody>\n</table>\n\n\n\n","created_at":"2018-11-28T22:34:36Z","updated_at":"2018-11-28T22:34:36Z","html_url":"https://github.com/AvdLee/appstoreconnect-swift-sdk/pull/27#discussion_r237288536","pull_request_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/pulls/27","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/pulls/comments/237288536"},"html":{"href":"https://github.com/AvdLee/appstoreconnect-swift-sdk/pull/27#discussion_r237288536"},"pull_request":{"href":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/pulls/27"}}},"pull_request":{"url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/pulls/27","id":234417600,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM0NDE3NjAw","html_url":"https://github.com/AvdLee/appstoreconnect-swift-sdk/pull/27","diff_url":"https://github.com/AvdLee/appstoreconnect-swift-sdk/pull/27.diff","patch_url":"https://github.com/AvdLee/appstoreconnect-swift-sdk/pull/27.patch","issue_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/issues/27","number":27,"state":"open","locked":false,"title":"Add apps and betatesters endpoints","user":{"login":"pakko972","id":27460,"node_id":"MDQ6VXNlcjI3NDYw","avatar_url":"https://avatars3.githubusercontent.com/u/27460?v=4","gravatar_id":"","url":"https://api.github.com/users/pakko972","html_url":"https://github.com/pakko972","followers_url":"https://api.github.com/users/pakko972/followers","following_url":"https://api.github.com/users/pakko972/following{/other_user}","gists_url":"https://api.github.com/users/pakko972/gists{/gist_id}","starred_url":"https://api.github.com/users/pakko972/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pakko972/subscriptions","organizations_url":"https://api.github.com/users/pakko972/orgs","repos_url":"https://api.github.com/users/pakko972/repos","events_url":"https://api.github.com/users/pakko972/events{/privacy}","received_events_url":"https://api.github.com/users/pakko972/received_events","type":"User","site_admin":false},"body":"This PR :\r\n\r\n- Fixes an API bug : \r\n\r\n  - Before: \r\n    ```swift\r\n    let endpoint = APIEndpoint.apps() // 🚫: Generic parameter 'T' could not be inferred\r\n    let endPoint = EndPoint<AppsResponse>.apps() // compiles\r\n    let endPoint = EndPoint<Int>.apps() // 🚫: compiles… but Void, String, anything works\r\n    ```\r\n  - After: \r\n    ```swift\r\n    let endpoint = APIEndpoint.apps() // ✅ endpoint's type is APIEndpoint<AppsResponse>\r\n    ```\r\n  - The trick: Add the expected responseType as a constraint on the APIEndpoint extension\r\n    ```diff\r\n    -extension APIEndpoint {\r\n    -    public static func apps(/*…*/) -> APIEndpoint<AppsResponse>\r\n    +extension APIEndpoint where T == AppsResponse {\r\n    +    public static func apps(/*…*/) -> APIEndpoint\r\n    ```\r\n\r\n- Refines APIEndpoint's factory methods. E.g :\r\n    ```swift\r\n    let endpoint = APIEndpoint.create(betaTesterWithEmail: \"pakko972@me.com\")\r\n    ```\r\n\r\n- Adds APIEndpoint evolutions :\r\n\t- Removed unused property `let responseType: T.Type = T.self`\r\n\t- Removed constraint on T to be Decodable: POST, DELETE requests dont produce Decodable results\r\n\t- New property `body: Data?` for POST, DELETE requests\r\n\t- APIEndpoint is now `URLRequestConvertible`\r\n\r\n- Adds APIProvider evolutions :\r\n\t- Uses APIEndpoints directly since they're now `URLRequestConvertible`\r\n\t- offers a new `request()` method for endpoint that does not expect decodable response\r\n\r\n- Adds all [Apps endpoints](https://developer.apple.com/documentation/appstoreconnectapi/testflight/apps) with tests\r\n\r\n- Adds all [BetaTesters endpoints](https://developer.apple.com/documentation/appstoreconnectapi/testflight/beta_testers) with tests","created_at":"2018-11-28T20:43:27Z","updated_at":"2018-11-28T22:34:36Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2ac5fac7df2066801a013e6e9babebd150d008f0","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/pulls/27/commits","review_comments_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/pulls/27/comments","review_comment_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/pulls/comments{/number}","comments_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/issues/27/comments","statuses_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/statuses/9fe19cf52b66aacc98c34b1a7bad414696b22731","head":{"label":"pakko972:add-apps-and-betatesters-endpoints","ref":"add-apps-and-betatesters-endpoints","sha":"9fe19cf52b66aacc98c34b1a7bad414696b22731","user":{"login":"pakko972","id":27460,"node_id":"MDQ6VXNlcjI3NDYw","avatar_url":"https://avatars3.githubusercontent.com/u/27460?v=4","gravatar_id":"","url":"https://api.github.com/users/pakko972","html_url":"https://github.com/pakko972","followers_url":"https://api.github.com/users/pakko972/followers","following_url":"https://api.github.com/users/pakko972/following{/other_user}","gists_url":"https://api.github.com/users/pakko972/gists{/gist_id}","starred_url":"https://api.github.com/users/pakko972/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pakko972/subscriptions","organizations_url":"https://api.github.com/users/pakko972/orgs","repos_url":"https://api.github.com/users/pakko972/repos","events_url":"https://api.github.com/users/pakko972/events{/privacy}","received_events_url":"https://api.github.com/users/pakko972/received_events","type":"User","site_admin":false},"repo":{"id":156680891,"node_id":"MDEwOlJlcG9zaXRvcnkxNTY2ODA4OTE=","name":"appstoreconnect-swift-sdk","full_name":"pakko972/appstoreconnect-swift-sdk","private":false,"owner":{"login":"pakko972","id":27460,"node_id":"MDQ6VXNlcjI3NDYw","avatar_url":"https://avatars3.githubusercontent.com/u/27460?v=4","gravatar_id":"","url":"https://api.github.com/users/pakko972","html_url":"https://github.com/pakko972","followers_url":"https://api.github.com/users/pakko972/followers","following_url":"https://api.github.com/users/pakko972/following{/other_user}","gists_url":"https://api.github.com/users/pakko972/gists{/gist_id}","starred_url":"https://api.github.com/users/pakko972/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pakko972/subscriptions","organizations_url":"https://api.github.com/users/pakko972/orgs","repos_url":"https://api.github.com/users/pakko972/repos","events_url":"https://api.github.com/users/pakko972/events{/privacy}","received_events_url":"https://api.github.com/users/pakko972/received_events","type":"User","site_admin":false},"html_url":"https://github.com/pakko972/appstoreconnect-swift-sdk","description":"The Swift SDK to work with the App Store Connect API from Apple.","fork":true,"url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk","forks_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/forks","keys_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/teams","hooks_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/hooks","issue_events_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/issues/events{/number}","events_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/events","assignees_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/assignees{/user}","branches_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/branches{/branch}","tags_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/tags","blobs_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/git/refs{/sha}","trees_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/statuses/{sha}","languages_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/languages","stargazers_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/stargazers","contributors_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/contributors","subscribers_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/subscribers","subscription_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/subscription","commits_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/commits{/sha}","git_commits_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/git/commits{/sha}","comments_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/comments{/number}","issue_comment_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/issues/comments{/number}","contents_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/contents/{+path}","compare_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/merges","archive_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/downloads","issues_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/issues{/number}","pulls_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/pulls{/number}","milestones_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/milestones{/number}","notifications_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/labels{/name}","releases_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/releases{/id}","deployments_url":"https://api.github.com/repos/pakko972/appstoreconnect-swift-sdk/deployments","created_at":"2018-11-08T09:18:59Z","updated_at":"2018-11-27T16:11:12Z","pushed_at":"2018-11-28T22:25:38Z","git_url":"git://github.com/pakko972/appstoreconnect-swift-sdk.git","ssh_url":"git@github.com:pakko972/appstoreconnect-swift-sdk.git","clone_url":"https://github.com/pakko972/appstoreconnect-swift-sdk.git","svn_url":"https://github.com/pakko972/appstoreconnect-swift-sdk","homepage":null,"size":414,"stargazers_count":0,"watchers_count":0,"language":"Swift","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"AvdLee:master","ref":"master","sha":"b26fd32716e1071ec65f2d709436e3aa8942a817","user":{"login":"AvdLee","id":4329185,"node_id":"MDQ6VXNlcjQzMjkxODU=","avatar_url":"https://avatars2.githubusercontent.com/u/4329185?v=4","gravatar_id":"","url":"https://api.github.com/users/AvdLee","html_url":"https://github.com/AvdLee","followers_url":"https://api.github.com/users/AvdLee/followers","following_url":"https://api.github.com/users/AvdLee/following{/other_user}","gists_url":"https://api.github.com/users/AvdLee/gists{/gist_id}","starred_url":"https://api.github.com/users/AvdLee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AvdLee/subscriptions","organizations_url":"https://api.github.com/users/AvdLee/orgs","repos_url":"https://api.github.com/users/AvdLee/repos","events_url":"https://api.github.com/users/AvdLee/events{/privacy}","received_events_url":"https://api.github.com/users/AvdLee/received_events","type":"User","site_admin":false},"repo":{"id":156271126,"node_id":"MDEwOlJlcG9zaXRvcnkxNTYyNzExMjY=","name":"appstoreconnect-swift-sdk","full_name":"AvdLee/appstoreconnect-swift-sdk","private":false,"owner":{"login":"AvdLee","id":4329185,"node_id":"MDQ6VXNlcjQzMjkxODU=","avatar_url":"https://avatars2.githubusercontent.com/u/4329185?v=4","gravatar_id":"","url":"https://api.github.com/users/AvdLee","html_url":"https://github.com/AvdLee","followers_url":"https://api.github.com/users/AvdLee/followers","following_url":"https://api.github.com/users/AvdLee/following{/other_user}","gists_url":"https://api.github.com/users/AvdLee/gists{/gist_id}","starred_url":"https://api.github.com/users/AvdLee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AvdLee/subscriptions","organizations_url":"https://api.github.com/users/AvdLee/orgs","repos_url":"https://api.github.com/users/AvdLee/repos","events_url":"https://api.github.com/users/AvdLee/events{/privacy}","received_events_url":"https://api.github.com/users/AvdLee/received_events","type":"User","site_admin":false},"html_url":"https://github.com/AvdLee/appstoreconnect-swift-sdk","description":"The Swift SDK to work with the App Store Connect API from Apple.","fork":false,"url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk","forks_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/forks","keys_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/teams","hooks_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/hooks","issue_events_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/issues/events{/number}","events_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/events","assignees_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/assignees{/user}","branches_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/branches{/branch}","tags_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/tags","blobs_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/git/refs{/sha}","trees_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/statuses/{sha}","languages_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/languages","stargazers_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/stargazers","contributors_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/contributors","subscribers_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/subscribers","subscription_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/subscription","commits_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/commits{/sha}","git_commits_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/git/commits{/sha}","comments_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/comments{/number}","issue_comment_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/issues/comments{/number}","contents_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/contents/{+path}","compare_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/merges","archive_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/downloads","issues_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/issues{/number}","pulls_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/pulls{/number}","milestones_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/milestones{/number}","notifications_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/labels{/name}","releases_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/releases{/id}","deployments_url":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/deployments","created_at":"2018-11-05T19:27:31Z","updated_at":"2018-11-28T12:36:02Z","pushed_at":"2018-11-28T22:25:40Z","git_url":"git://github.com/AvdLee/appstoreconnect-swift-sdk.git","ssh_url":"git@github.com:AvdLee/appstoreconnect-swift-sdk.git","clone_url":"https://github.com/AvdLee/appstoreconnect-swift-sdk.git","svn_url":"https://github.com/AvdLee/appstoreconnect-swift-sdk","homepage":null,"size":311,"stargazers_count":240,"watchers_count":240,"language":"Swift","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":12,"mirror_url":null,"archived":false,"open_issues_count":5,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":12,"open_issues":5,"watchers":240,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/pulls/27"},"html":{"href":"https://github.com/AvdLee/appstoreconnect-swift-sdk/pull/27"},"issue":{"href":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/issues/27"},"comments":{"href":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/issues/27/comments"},"review_comments":{"href":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/pulls/27/comments"},"review_comment":{"href":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/pulls/27/commits"},"statuses":{"href":"https://api.github.com/repos/AvdLee/appstoreconnect-swift-sdk/statuses/9fe19cf52b66aacc98c34b1a7bad414696b22731"}},"author_association":"NONE"}}
{"actor":{"display_login":"SwiftLeeBot"}}