Overall update and improvements (#4)

This PR contains all the work done to update the App Store Connect OpenAPI specification document to its latest version, plus the implementation of the `BearerAuthMiddleware` middleware, and several other improvements to the setup of the library, the `Makefile` file, and the documentation.

Reviewed-on: #4
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 #4.
This commit is contained in:
2026-03-26 01:07:23 +00:00
committed by Javier Cicchelli
parent e884fcf8a4
commit 3aaf5cd7a5
19 changed files with 234816 additions and 208683 deletions
@@ -0,0 +1,38 @@
# ``Client``
The API client for performing HTTP operations against the App Store Connect API.
## Overview
The ``Client`` struct is the main entry point for interacting with the App Store Connect API. It conforms to ``APIProtocol`` and provides concrete implementations for all available API operations.
### Creating a Client
Create a ``Client`` by providing a server URL, a transport, and optionally a list of middlewares for authentication or request customization.
```swift
import ASConnectService
import OpenAPIURLSession
let client = Client(
serverURL: try Servers.server1(),
transport: URLSessionTransport(),
middlewares: [
BearerAuthMiddleware(token: yourJWTToken)
]
)
```
### Making API Calls
Each method on the ``Client`` corresponds to an HTTP endpoint defined in the App Store Connect API OpenAPI specification. Methods accept an `Input` value and return an `Output` value representing the response.
```swift
let response = try await client.appsGetCollection(.init())
```
## Topics
### Creating a Client
- ``init(serverURL:configuration:transport:middlewares:)``
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,24 @@
# ``Servers``
Server URLs defined in the OpenAPI document.
## Overview
The ``Servers`` namespace provides access to the base URLs defined in the App Store Connect API OpenAPI specification. Use these URLs when creating a ``Client`` instance.
```swift
let client = Client(
serverURL: try Servers.Server1.url(),
transport: URLSessionTransport(),
middlewares: [
BearerAuthMiddleware(token: yourJWTToken)
]
)
```
## Topics
### Server URLs
- ``Servers/Server1``
- ``Servers/server1()``