P0: Fix variable shadowing in ClubService.createClub/updateClub and
ChallengeService.createChallenge/updateChallenge — renamed local
'var request' to 'var urlRequest' so JSONEncoder encodes the
typed parameter, not the URLRequest.
P1: Wire CreateClubSheet and CreateChallengeSheet to parent ViewModel —
sheets now receive viewModel and call createClub/createChallenge
before dismissing.
P2: Extract HTTPMethod enum to shared Utils/HTTPMethod.swift (was
defined in NotificationService). Remove dead 'body' parameter from
buildRequest in all three services. Add error alert UI to
ClubsView and ChallengesView.
P3: Replace forced URL unwrap with static let defaultBaseURL in all
three services. Fix MockChallengeService.updateChallenge to track
updateCalled instead of always throwing notFound.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
47 lines
1.0 KiB
Swift
47 lines
1.0 KiB
Swift
// swift-tools-version: 5.9
|
|
import PackageDescription
|
|
|
|
let package = Package(
|
|
name: "Lendair",
|
|
platforms: [
|
|
.iOS(.v16),
|
|
.macOS(.v13)
|
|
],
|
|
products: [
|
|
.library(
|
|
name: "Lendair",
|
|
targets: ["Lendair"]
|
|
),
|
|
.executable(
|
|
name: "LendairApp",
|
|
targets: ["LendairApp"]
|
|
)
|
|
],
|
|
targets: [
|
|
.target(
|
|
name: "Lendair",
|
|
path: ".",
|
|
sources: [
|
|
"Models",
|
|
"Services",
|
|
"Utils",
|
|
"ViewModels",
|
|
"Views"
|
|
],
|
|
linkerSettings: [
|
|
.linkedFramework("UIKit", .when(platforms: [.iOS]))
|
|
]
|
|
),
|
|
.executableTarget(
|
|
name: "LendairApp",
|
|
dependencies: ["Lendair"],
|
|
path: "App"
|
|
),
|
|
.testTarget(
|
|
name: "LendairTests",
|
|
dependencies: ["Lendair"],
|
|
path: "LendairTests"
|
|
)
|
|
]
|
|
)
|