- API-Klasse mit allen CRUD-Operationen für Bookmarks - Login/Authentifizierung mit Bearer Token - Bookmarks abrufen (Liste und Details) - Artikel-Inhalt abrufen - DTO-Strukturen in separate Dateien aufgeteilt - UserDto für Authentifizierung - BookmarkDto für Bookmark-Listen - BookmarkDetailDto mit vollständigen Metadaten - MVVM-Architektur mit @Observable - SettingsViewModel für Anmeldung - BookmarksViewModel für Bookmark-Verwaltung - SwiftUI Views mit modernem Design - SettingsView mit Eingabefeldern und Validierung - BookmarksView mit Pull-to-Refresh und Leerzustand - MainTabView als Navigation - Use Case Pattern implementiert - LoginUseCase für Authentifizierung - GetBookmarksUseCase für Datenabfrage - DefaultUseCaseFactory für Dependency Injection - Fehlerbehandlung und Loading States - Protocol-basierte Architektur für bessere Testbarkeit
45 lines
1.3 KiB
Swift
45 lines
1.3 KiB
Swift
// swift-tools-version: 5.9
|
|
|
|
import PackageDescription
|
|
|
|
let package = Package(
|
|
name: "ReadeckAPI",
|
|
platforms: [
|
|
.iOS(.v15),
|
|
.macOS(.v12),
|
|
.tvOS(.v15),
|
|
.watchOS(.v8),
|
|
.visionOS(.v1)
|
|
],
|
|
products: [
|
|
.library(
|
|
name: "ReadeckAPI",
|
|
targets: ["ReadeckAPI"]
|
|
),
|
|
],
|
|
dependencies: [
|
|
// Swift OpenAPI Generator (Codegenerierung beim Build)
|
|
.package(url: "https://github.com/apple/swift-openapi-generator.git", from: "1.2.0"),
|
|
// OpenAPI Runtime (Laufzeitkomponenten)
|
|
.package(url: "https://github.com/apple/swift-openapi-runtime.git", from: "1.3.0"),
|
|
// Optional: URLSession-Transport für HTTP-Clients
|
|
.package(url: "https://github.com/apple/swift-openapi-urlsession.git", from: "1.0.0")
|
|
],
|
|
targets: [
|
|
.target(
|
|
name: "ReadeckAPI",
|
|
dependencies: [
|
|
.product(name: "OpenAPIRuntime", package: "swift-openapi-runtime"),
|
|
.product(name: "OpenAPIURLSession", package: "swift-openapi-urlsession")
|
|
],
|
|
plugins: [
|
|
.plugin(name: "OpenAPIGenerator", package: "swift-openapi-generator")
|
|
]
|
|
),
|
|
.testTarget(
|
|
name: "ReadeckAPITests",
|
|
dependencies: ["ReadeckAPI"]
|
|
)
|
|
]
|
|
)
|