OpenAPI client (#2)

This PR contains the work done to add the `Open API` dependencies into the library, plus to configure a dynamically generated client based on the latest [App Store Connect OAS document](https://developer.apple.com/sample-code/app-store-connect/app-store-connect-openapi-specification.zip), downloaded from the [App Store Connect documentation](https://developer.apple.com/documentation/appstoreconnectapi/) website.

Reviewed-on: #2
Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Co-committed-by: Javier Cicchelli <javier@rock-n-code.com>
This commit was merged in pull request #2.
This commit is contained in:
2025-10-06 14:51:36 +00:00
committed by Javier Cicchelli
parent 7812e0f11c
commit 825e9e8e7c
3 changed files with 209092 additions and 1 deletions
+11 -1
View File
@@ -30,12 +30,22 @@ let package = Package(
),
],
dependencies: [
.package(url: "https://github.com/apple/swift-openapi-generator.git", from: "1.3.0"),
.package(url: "https://github.com/apple/swift-openapi-runtime", from: "1.5.0"),
.package(url: "https://github.com/apple/swift-openapi-urlsession", from: "1.0.2"),
.package(url: "https://github.com/swiftlang/swift-docc-plugin", from: "1.1.0")
],
targets: [
.target(
name: AppStoreConnectService.target,
path: "Sources/ASConnectService"
dependencies: [
.product(name: "OpenAPIRuntime", package: "swift-openapi-runtime"),
.product(name: "OpenAPIURLSession", package: "swift-openapi-urlsession")
],
path: "Sources/ASConnectService",
plugins: [
.plugin(name: "OpenAPIGenerator", package: "swift-openapi-generator")
]
),
.testTarget(
name: AppStoreConnectService.test,
@@ -0,0 +1,17 @@
# ===----------------------------------------------------------------------===
#
# This source file is part of the ASConnectService open source project
#
# Copyright (c) 2025 Röck+Cöde VoF. and the ASConnectService project authors
# Licensed under the EUPL 1.2 or later.
#
# See LICENSE for license information
# See CONTRIBUTORS for the list of ASConnectService project authors
#
# ===----------------------------------------------------------------------===
generate:
- types
- client
namingStrategy: defensive
accessModifier: public
File diff suppressed because it is too large Load Diff