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:
@@ -1,13 +1,51 @@
|
||||
# ``ASConnectService``
|
||||
|
||||
<!--@START_MENU_TOKEN@-->Summary<!--@END_MENU_TOKEN@-->
|
||||
A Swift client library for the App Store Connect API, generated from the official OpenAPI specification.
|
||||
|
||||
## Overview
|
||||
|
||||
<!--@START_MENU_TOKEN@-->Text<!--@END_MENU_TOKEN@-->
|
||||
``ASConnectService`` provides a type-safe, Swift-native interface to Apple's App Store Connect API. This package enables developers to programmatically interact with App Store Connect services for managing apps, builds, reviews, sales reports, and more.
|
||||
|
||||
The library is automatically generated from the official App Store Connect API OpenAPI specification using Apple's [swift-openapi-generator](https://github.com/apple/swift-openapi-generator), ensuring complete API coverage and type safety.
|
||||
|
||||
### Creating a Client
|
||||
|
||||
Create a ``Client`` instance by providing a server URL and transport. Use ``BearerAuthMiddleware`` to authenticate requests with a JSON Web Token (JWT).
|
||||
|
||||
```swift
|
||||
import ASConnectService
|
||||
import OpenAPIURLSession
|
||||
|
||||
let client = Client(
|
||||
serverURL: try Servers.server1(),
|
||||
transport: URLSessionTransport(),
|
||||
middlewares: [
|
||||
BearerAuthMiddleware(token: yourJWTToken)
|
||||
]
|
||||
)
|
||||
```
|
||||
|
||||
### Making API Calls
|
||||
|
||||
The ``Client`` conforms to ``APIProtocol``, which defines a method for every endpoint in the App Store Connect API. Each method accepts an `Input` value and returns an `Output` value with the response.
|
||||
|
||||
```swift
|
||||
let response = try await client.appsGetCollection(.init())
|
||||
```
|
||||
|
||||
## Topics
|
||||
|
||||
### <!--@START_MENU_TOKEN@-->Group<!--@END_MENU_TOKEN@-->
|
||||
### API Client
|
||||
|
||||
- <!--@START_MENU_TOKEN@-->``Symbol``<!--@END_MENU_TOKEN@-->
|
||||
- ``Client``
|
||||
- ``APIProtocol``
|
||||
|
||||
### Authentication
|
||||
|
||||
- ``BearerAuthMiddleware``
|
||||
|
||||
### Generated Types
|
||||
|
||||
- ``Components``
|
||||
- ``Operations``
|
||||
- ``Servers``
|
||||
|
||||
Reference in New Issue
Block a user