Skip to content

Commit e6324f3

Browse files
committed
S3ReadmeError → S3Readme.Error
1 parent 7768429 commit e6324f3

File tree

4 files changed

+26
-27
lines changed

4 files changed

+26
-27
lines changed

Sources/App/Commands/Ingest.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ extension Ingestion {
180180
}.get()
181181

182182
let s3Readme: S3Readme?
183-
do throws(S3ReadmeError) {
183+
do throws(S3Readme.Error) {
184184
s3Readme = try await storeS3Readme(client: client, repository: repo, metadata: metadata, readme: readme)
185185
} catch {
186186
// We don't want to fail ingestion in case storing the readme fails - warn and continue.
@@ -213,7 +213,7 @@ extension Ingestion {
213213
}
214214

215215

216-
static func storeS3Readme(client: Client, repository: Repository, metadata: Github.Metadata, readme: Github.Readme?) async throws(S3ReadmeError) -> S3Readme? {
216+
static func storeS3Readme(client: Client, repository: Repository, metadata: Github.Metadata, readme: Github.Readme?) async throws(S3Readme.Error) -> S3Readme? {
217217
if let upstreamEtag = readme?.etag,
218218
repository.s3Readme?.needsUpdate(upstreamEtag: upstreamEtag) ?? true,
219219
let owner = metadata.repositoryOwner,

Sources/App/Core/AppEnvironment.swift

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@ struct AppEnvironment: Sendable {
5151
var siteURL: @Sendable () -> String
5252
var storeS3Readme: @Sendable (_ owner: String,
5353
_ repository: String,
54-
_ readme: String) async throws(S3ReadmeError) -> String
54+
_ readme: String) async throws(S3Readme.Error) -> String
5555
var storeS3ReadmeImages: @Sendable (_ client: Client,
56-
_ imagesToCache: [Github.Readme.ImageToCache]) async throws(S3ReadmeError) -> Void
56+
_ imagesToCache: [Github.Readme.ImageToCache]) async throws(S3Readme.Error) -> Void
5757
var timeZone: @Sendable () -> TimeZone
5858
var triggerBuild: @Sendable (_ client: Client,
5959
_ buildId: Build.Id,
@@ -88,7 +88,7 @@ extension AppEnvironment {
8888
fetchLicense: { client, owner, repo in await Github.fetchLicense(client:client, owner: owner, repository: repo) },
8989
fetchMetadata: { client, owner, repo in try await Github.fetchMetadata(client:client, owner: owner, repository: repo) },
9090
fetchReadme: { client, owner, repo in await Github.fetchReadme(client:client, owner: owner, repository: repo) },
91-
fetchS3Readme: { client, owner, repo in try await S3Store.fetchReadme(client:client, owner: owner, repository: repo) },
91+
fetchS3Readme: { client, owner, repo in try await S3Readme.fetchReadme(client:client, owner: owner, repository: repo) },
9292
fileManager: .live,
9393
getStatusCount: { client, status in
9494
try await Gitlab.Builder.getStatusCount(client: client,
@@ -131,11 +131,11 @@ extension AppEnvironment {
131131
setLogger: { logger in Self.logger = logger },
132132
shell: .live,
133133
siteURL: { Environment.get("SITE_URL") ?? "http://localhost:8080" },
134-
storeS3Readme: { owner, repo, readme throws(S3ReadmeError) in
135-
try await S3Store.storeReadme(owner: owner, repository: repo, readme: readme)
134+
storeS3Readme: { owner, repo, readme throws(S3Readme.Error) in
135+
try await S3Readme.storeReadme(owner: owner, repository: repo, readme: readme)
136136
},
137-
storeS3ReadmeImages: { client, images throws(S3ReadmeError) in
138-
try await S3Store.storeReadmeImages(client: client, imagesToCache: images)
137+
storeS3ReadmeImages: { client, images throws(S3Readme.Error) in
138+
try await S3Readme.storeReadmeImages(client: client, imagesToCache: images)
139139
},
140140
timeZone: { .current },
141141
triggerBuild: { client, buildId, cloneURL, isDocBuild, platform, ref, swiftVersion, versionID in

Sources/App/Core/Extensions/S3Store+ext.swift

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -16,36 +16,35 @@ import S3Store
1616
import Vapor
1717
import Dependencies
1818

19-
#warning("Make this S3Store.Error")
20-
enum S3ReadmeError: Swift.Error {
21-
case envVariableNotSet(String)
22-
case invalidURL(String)
23-
case missingBody
24-
case requestFailed(key: S3Store.Key, error: Swift.Error)
25-
case storeReadmeFailed
26-
case storeImagesFailed
27-
}
2819

29-
extension S3Store {
20+
extension S3Readme {
21+
enum Error: Swift.Error {
22+
case envVariableNotSet(String)
23+
case invalidURL(String)
24+
case missingBody
25+
case requestFailed(key: S3Store.Key, error: Swift.Error)
26+
case storeReadmeFailed
27+
case storeImagesFailed
28+
}
3029

31-
static func fetchReadme(client: Client, owner: String, repository: String) async throws(S3ReadmeError) -> String {
32-
let key = try Key.readme(owner: owner, repository: repository)
30+
static func fetchReadme(client: Client, owner: String, repository: String) async throws(S3Readme.Error) -> String {
31+
let key = try S3Store.Key.readme(owner: owner, repository: repository)
3332
let response: ClientResponse
3433
do {
3534
response = try await client.get(URI(string: key.objectUrl))
3635
} catch {
3736
throw .requestFailed(key: key, error: error)
3837
}
39-
guard let body = response.body else { throw S3ReadmeError.missingBody }
38+
guard let body = response.body else { throw .missingBody }
4039
return body.asString()
4140
}
4241

43-
static func storeReadme(owner: String, repository: String, readme: String) async throws(S3ReadmeError) -> String {
42+
static func storeReadme(owner: String, repository: String, readme: String) async throws(S3Readme.Error) -> String {
4443
@Dependency(\.environment) var environment
4544
guard let accessKeyId = environment.awsAccessKeyId() else { throw .envVariableNotSet("AWS_ACCESS_KEY_ID") }
4645
guard let secretAccessKey = environment.awsSecretAccessKey() else { throw .envVariableNotSet("AWS_SECRET_ACCESS_KEY")}
4746
let store = S3Store(credentials: .init(keyId: accessKeyId, secret: secretAccessKey))
48-
let key = try Key.readme(owner: owner, repository: repository)
47+
let key = try S3Store.Key.readme(owner: owner, repository: repository)
4948

5049
Current.logger().debug("Copying readme to \(key.s3Uri) ...")
5150
do {
@@ -57,7 +56,7 @@ extension S3Store {
5756
return key.objectUrl
5857
}
5958

60-
static func storeReadmeImages(client: Client, imagesToCache: [Github.Readme.ImageToCache]) async throws(S3ReadmeError) {
59+
static func storeReadmeImages(client: Client, imagesToCache: [Github.Readme.ImageToCache]) async throws(S3Readme.Error) {
6160
@Dependency(\.environment) var environment
6261
guard let accessKeyId = environment.awsAccessKeyId() else { throw .envVariableNotSet("AWS_ACCESS_KEY_ID") }
6362
guard let secretAccessKey = environment.awsSecretAccessKey() else { throw .envVariableNotSet("AWS_SECRET_ACCESS_KEY")}
@@ -80,7 +79,7 @@ extension S3Store {
8079

8180

8281
extension S3Store.Key {
83-
static func readme(owner: String, repository: String, imageUrl: String? = nil) throws(S3ReadmeError) -> Self {
82+
static func readme(owner: String, repository: String, imageUrl: String? = nil) throws(S3Readme.Error) -> Self {
8483
@Dependency(\.environment) var environment
8584
guard let bucket = environment.awsReadmeBucket() else { throw .envVariableNotSet("AWS_README_BUCKET") }
8685

Tests/AppTests/IngestorTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -596,7 +596,7 @@ class IngestorTests: AppTestCase {
596596
imagesToCache: [])
597597
}
598598
let storeCalls = QueueIsolated(0)
599-
Current.storeS3Readme = { owner, repo, html throws(S3ReadmeError) in
599+
Current.storeS3Readme = { owner, repo, html throws(S3Readme.Error) in
600600
storeCalls.increment()
601601
throw .storeReadmeFailed
602602
}

0 commit comments

Comments
 (0)