From ac4d62826d1c18d7e9c8f918a493f6978ab470f2 Mon Sep 17 00:00:00 2001 From: Rui Costa Date: Mon, 30 Dec 2019 23:45:32 +0000 Subject: [PATCH 1/7] Implemented Modify Bundle ID endpoint --- .../Bundle IDs/ModifyBundleID.swift | 27 ++++++++++++++++ Sources/Models/BundleIdUpdateRequest.swift | 31 +++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 Sources/Endpoints/Provisioning/Bundle IDs/ModifyBundleID.swift create mode 100644 Sources/Models/BundleIdUpdateRequest.swift diff --git a/Sources/Endpoints/Provisioning/Bundle IDs/ModifyBundleID.swift b/Sources/Endpoints/Provisioning/Bundle IDs/ModifyBundleID.swift new file mode 100644 index 00000000..af9292d5 --- /dev/null +++ b/Sources/Endpoints/Provisioning/Bundle IDs/ModifyBundleID.swift @@ -0,0 +1,27 @@ +// +// ModifyBundleID.swift +// AppStoreConnect-Swift-SDK +// +// Created by Rui Costa on 30/12/2019. +// + +import Foundation + +extension APIEndpoint where T == BundleIdResponse { + + /// Update a specific bundle ID’s name + public static func modify( + bundleWithId id: String, + name: String) -> APIEndpoint { + + let request = BundleIdUpdateRequest(data: .init( + id: id, + attributes: .init(name: name))) + + return APIEndpoint( + path: "bundleIds", + method: .patch, + parameters: nil, + body: try? JSONEncoder().encode(request)) + } +} diff --git a/Sources/Models/BundleIdUpdateRequest.swift b/Sources/Models/BundleIdUpdateRequest.swift new file mode 100644 index 00000000..77a19ee7 --- /dev/null +++ b/Sources/Models/BundleIdUpdateRequest.swift @@ -0,0 +1,31 @@ +// +// BundleIdUpdateRequest.swift +// AppStoreConnect-Swift-SDK +// +// Created by Rui Costa on 30/12/2019. +// + + +import Foundation + +/// A request containing a single resource. +public struct BundleIdUpdateRequest: Encodable { + + /// The resource data. + public let data: Data + + public struct Data: Encodable { + public let id: String + public let attributes: Attributes + public let type: String = "bundleIds" + } +} + +// MARK: BundleIdUpdateRequest.Data +extension BundleIdUpdateRequest.Data { + + public struct Attributes: Encodable { + public let name: String + } +} + From 79d65c54feaef8ea9ff9b6a0b5305f2b2c73bb9a Mon Sep 17 00:00:00 2001 From: Rui Costa Date: Mon, 30 Dec 2019 23:48:32 +0000 Subject: [PATCH 2/7] Fixed modify endpoint path. --- Sources/Endpoints/Provisioning/Bundle IDs/ModifyBundleID.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/Endpoints/Provisioning/Bundle IDs/ModifyBundleID.swift b/Sources/Endpoints/Provisioning/Bundle IDs/ModifyBundleID.swift index af9292d5..83cfafdb 100644 --- a/Sources/Endpoints/Provisioning/Bundle IDs/ModifyBundleID.swift +++ b/Sources/Endpoints/Provisioning/Bundle IDs/ModifyBundleID.swift @@ -19,7 +19,7 @@ extension APIEndpoint where T == BundleIdResponse { attributes: .init(name: name))) return APIEndpoint( - path: "bundleIds", + path: "bundleIds/\(id)", method: .patch, parameters: nil, body: try? JSONEncoder().encode(request)) From 8cda8b018d439bd69197f2777605620df9ee102c Mon Sep 17 00:00:00 2001 From: Rui Costa Date: Mon, 30 Dec 2019 23:49:45 +0000 Subject: [PATCH 3/7] Implemented Remove Bundle ID endpoint. --- .../Bundle IDs/RemoveBundleID.swift | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 Sources/Endpoints/Provisioning/Bundle IDs/RemoveBundleID.swift diff --git a/Sources/Endpoints/Provisioning/Bundle IDs/RemoveBundleID.swift b/Sources/Endpoints/Provisioning/Bundle IDs/RemoveBundleID.swift new file mode 100644 index 00000000..259f8d81 --- /dev/null +++ b/Sources/Endpoints/Provisioning/Bundle IDs/RemoveBundleID.swift @@ -0,0 +1,18 @@ +// +// RemoveBundleID.swift +// AppStoreConnect-Swift-SDK +// +// Created by Rui Costa on 30/12/2019. +// + +import Foundation + +extension APIEndpoint where T == Void { + + public static func remove(bundleWithId id: String) -> APIEndpoint { + return APIEndpoint( + path: "bundleIds/\(id)", + method: .delete, + parameters: nil) + } +} From c9749e4523b644adb5b19125a833dbb3d0f3823e Mon Sep 17 00:00:00 2001 From: Rui Costa Date: Mon, 30 Dec 2019 23:51:02 +0000 Subject: [PATCH 4/7] API tweaks. --- Sources/Endpoints/Provisioning/Bundle IDs/ModifyBundleID.swift | 2 +- Sources/Endpoints/Provisioning/Bundle IDs/RemoveBundleID.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Sources/Endpoints/Provisioning/Bundle IDs/ModifyBundleID.swift b/Sources/Endpoints/Provisioning/Bundle IDs/ModifyBundleID.swift index 83cfafdb..12166c41 100644 --- a/Sources/Endpoints/Provisioning/Bundle IDs/ModifyBundleID.swift +++ b/Sources/Endpoints/Provisioning/Bundle IDs/ModifyBundleID.swift @@ -11,7 +11,7 @@ extension APIEndpoint where T == BundleIdResponse { /// Update a specific bundle ID’s name public static func modify( - bundleWithId id: String, + bundleIdWithId id: String, name: String) -> APIEndpoint { let request = BundleIdUpdateRequest(data: .init( diff --git a/Sources/Endpoints/Provisioning/Bundle IDs/RemoveBundleID.swift b/Sources/Endpoints/Provisioning/Bundle IDs/RemoveBundleID.swift index 259f8d81..6b488b04 100644 --- a/Sources/Endpoints/Provisioning/Bundle IDs/RemoveBundleID.swift +++ b/Sources/Endpoints/Provisioning/Bundle IDs/RemoveBundleID.swift @@ -9,7 +9,7 @@ import Foundation extension APIEndpoint where T == Void { - public static func remove(bundleWithId id: String) -> APIEndpoint { + public static func remove(bundleIdWithId id: String) -> APIEndpoint { return APIEndpoint( path: "bundleIds/\(id)", method: .delete, From 34449486d8d370d2b507e62134380bfc02247dba Mon Sep 17 00:00:00 2001 From: Rui Costa Date: Mon, 30 Dec 2019 23:52:18 +0000 Subject: [PATCH 5/7] Added documentation. --- Sources/Endpoints/Provisioning/Bundle IDs/RemoveBundleID.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/Sources/Endpoints/Provisioning/Bundle IDs/RemoveBundleID.swift b/Sources/Endpoints/Provisioning/Bundle IDs/RemoveBundleID.swift index 6b488b04..d50646e2 100644 --- a/Sources/Endpoints/Provisioning/Bundle IDs/RemoveBundleID.swift +++ b/Sources/Endpoints/Provisioning/Bundle IDs/RemoveBundleID.swift @@ -9,6 +9,7 @@ import Foundation extension APIEndpoint where T == Void { + /// Delete a bundle ID that is used for app development. public static func remove(bundleIdWithId id: String) -> APIEndpoint { return APIEndpoint( path: "bundleIds/\(id)", From 86fc68ff236297b13d07677ce6fc9d5c40cd5130 Mon Sep 17 00:00:00 2001 From: Rui Costa Date: Mon, 30 Dec 2019 23:55:20 +0000 Subject: [PATCH 6/7] Improved documentation. --- Sources/Endpoints/Provisioning/Bundle IDs/ModifyBundleID.swift | 2 ++ Sources/Endpoints/Provisioning/Bundle IDs/RemoveBundleID.swift | 1 + 2 files changed, 3 insertions(+) diff --git a/Sources/Endpoints/Provisioning/Bundle IDs/ModifyBundleID.swift b/Sources/Endpoints/Provisioning/Bundle IDs/ModifyBundleID.swift index 12166c41..7b1d6325 100644 --- a/Sources/Endpoints/Provisioning/Bundle IDs/ModifyBundleID.swift +++ b/Sources/Endpoints/Provisioning/Bundle IDs/ModifyBundleID.swift @@ -10,6 +10,8 @@ import Foundation extension APIEndpoint where T == BundleIdResponse { /// Update a specific bundle ID’s name + /// - Parameter id: the bundle ID's id + /// - Parameter name: the bundle ID's name public static func modify( bundleIdWithId id: String, name: String) -> APIEndpoint { diff --git a/Sources/Endpoints/Provisioning/Bundle IDs/RemoveBundleID.swift b/Sources/Endpoints/Provisioning/Bundle IDs/RemoveBundleID.swift index d50646e2..693bff40 100644 --- a/Sources/Endpoints/Provisioning/Bundle IDs/RemoveBundleID.swift +++ b/Sources/Endpoints/Provisioning/Bundle IDs/RemoveBundleID.swift @@ -10,6 +10,7 @@ import Foundation extension APIEndpoint where T == Void { /// Delete a bundle ID that is used for app development. + /// - Parameter id: the bundle ID's id public static func remove(bundleIdWithId id: String) -> APIEndpoint { return APIEndpoint( path: "bundleIds/\(id)", From cf1b7be28cc47c0184820d1ee416e033130e0dd9 Mon Sep 17 00:00:00 2001 From: Rui Costa Date: Tue, 31 Dec 2019 10:38:44 +0000 Subject: [PATCH 7/7] Minor tweaks --- Changelog.md | 3 ++- Sources/Models/BundleIdUpdateRequest.swift | 8 +++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Changelog.md b/Changelog.md index a7856124..e22157fa 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,4 +1,5 @@ ## Changelog ### Next -- Updated CI to make sure PR requests are reviewed using Danger. \ No newline at end of file +- Updated CI to make sure PR requests are reviewed using Danger. +- Implemented endpoints to modify and remove Bundle IDs. diff --git a/Sources/Models/BundleIdUpdateRequest.swift b/Sources/Models/BundleIdUpdateRequest.swift index 77a19ee7..6bafd674 100644 --- a/Sources/Models/BundleIdUpdateRequest.swift +++ b/Sources/Models/BundleIdUpdateRequest.swift @@ -5,20 +5,19 @@ // Created by Rui Costa on 30/12/2019. // - import Foundation /// A request containing a single resource. public struct BundleIdUpdateRequest: Encodable { - /// The resource data. - public let data: Data - public struct Data: Encodable { public let id: String public let attributes: Attributes public let type: String = "bundleIds" } + + /// The resource data. + public let data: Data } // MARK: BundleIdUpdateRequest.Data @@ -28,4 +27,3 @@ extension BundleIdUpdateRequest.Data { public let name: String } } -