Skip to content

Commit cf4cdb7

Browse files
supersonicbytedaveverwer
authored andcommitted
Move forked from logic to updateRepository method
1 parent f33a956 commit cf4cdb7

File tree

1 file changed

+18
-20
lines changed

1 file changed

+18
-20
lines changed

Sources/App/Commands/Ingest.swift

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -125,28 +125,12 @@ func ingest(client: Client,
125125
s3Readme = .error("\(error)")
126126
}
127127

128-
var fork: Fork?
129-
do {
130-
if let parentUrl = metadata.repository?.normalizedParentUrl {
131-
if let packageId = try await Package.query(on: database)
132-
.filter(\.$url == parentUrl)
133-
.first()?.id {
134-
fork = .parentId(packageId)
135-
} else {
136-
fork = .parentURL(parentUrl)
137-
}
138-
}
139-
} catch {
140-
Current.logger().warning("updating forked from failed")
141-
}
142-
143128
try await updateRepository(on: database,
144129
for: repo,
145130
metadata: metadata,
146131
licenseInfo: license,
147132
readmeInfo: readme,
148-
s3Readme: s3Readme,
149-
forkedFrom: fork)
133+
s3Readme: s3Readme)
150134

151135
return pkg
152136
}
@@ -194,15 +178,29 @@ func updateRepository(on database: Database,
194178
metadata: Github.Metadata,
195179
licenseInfo: Github.License?,
196180
readmeInfo: Github.Readme?,
197-
s3Readme: S3Readme?,
198-
forkedFrom: Fork? = nil) async throws {
181+
s3Readme: S3Readme?) async throws {
199182
guard let repoMetadata = metadata.repository else {
200183
if repository.$package.value == nil {
201184
try await repository.$package.load(on: database)
202185
}
203186
throw AppError.genericError(repository.package.id,
204187
"repository metadata is nil for package \(repository.name ?? "unknown")")
205188
}
189+
190+
var fork: Fork?
191+
do {
192+
if let parentUrl = metadata.repository?.normalizedParentUrl {
193+
if let packageId = try await Package.query(on: database)
194+
.filter(\.$url == parentUrl)
195+
.first()?.id {
196+
fork = .parentId(packageId)
197+
} else {
198+
fork = .parentURL(parentUrl)
199+
}
200+
}
201+
} catch {
202+
Current.logger().warning("updating forked from failed")
203+
}
206204

207205
repository.defaultBranch = repoMetadata.defaultBranch
208206
repository.forks = repoMetadata.forkCount
@@ -226,7 +224,7 @@ func updateRepository(on database: Database,
226224
repository.releases = repoMetadata.releases.nodes.map(Release.init(from:))
227225
repository.stars = repoMetadata.stargazerCount
228226
repository.summary = repoMetadata.description
229-
repository.forkedFrom = forkedFrom
227+
repository.forkedFrom = fork
230228

231229
try await repository.save(on: database)
232230
}

0 commit comments

Comments
 (0)