Skip to content

Commit a1a056f

Browse files
committed
improvement(Updated feed source summary): Added published version id
1 parent a9fb58d commit a1a056f

File tree

3 files changed

+10
-1
lines changed

3 files changed

+10
-1
lines changed

src/main/java/com/conveyal/datatools/manager/models/FeedSourceSummary.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,8 @@ public class FeedSourceSummary {
8181

8282
public GtfsPlusValidation latestGtfsPlusValidation;
8383

84+
public String latestPublishedVersionId;
85+
8486
public FeedSourceSummary() {
8587
}
8688

@@ -124,6 +126,7 @@ public void setFeedVersion(FeedVersionSummary feedVersionSummary, boolean isDepl
124126
this.latestProcessedByExternalPublisher = feedVersionSummary.processedByExternalPublisher;
125127
this.latestSentToExternalPublisher = feedVersionSummary.sentToExternalPublisher;
126128
this.latestGtfsPlusValidation = feedVersionSummary.gtfsPlusValidation;
129+
this.latestPublishedVersionId = feedVersionSummary.publishedVersionId;
127130
}
128131
}
129132
}
@@ -215,6 +218,7 @@ public static Map<String, FeedVersionSummary> getLatestFeedVersionForFeedSources
215218
{
216219
$group: {
217220
_id: "$_id",
221+
publishedVersionId: { $first: "$publishedVersionId" },
218222
doc: {
219223
$max: {
220224
version: "$feedVersions.version",
@@ -239,6 +243,7 @@ public static Map<String, FeedVersionSummary> getLatestFeedVersionForFeedSources
239243
unwind("$feedVersions"),
240244
group(
241245
"$_id",
246+
Accumulators.first("publishedVersionId", "$publishedVersionId"),
242247
Accumulators.last("feedVersionId", "$feedVersions._id"),
243248
Accumulators.last("firstCalendarDate", "$feedVersions.validationResult.firstCalendarDate"),
244249
Accumulators.last("lastCalendarDate", "$feedVersions.validationResult.lastCalendarDate"),
@@ -486,6 +491,7 @@ private static Map<String, FeedVersionSummary> extractFeedVersionSummaries(
486491
feedVersionSummary.processedByExternalPublisher = feedVersionDocument.getDate("processedByExternalPublisher");
487492
feedVersionSummary.sentToExternalPublisher = feedVersionDocument.getDate("sentToExternalPublisher");
488493
feedVersionSummary.gtfsPlusValidation = getGtfsPlusValidation(feedVersionDocument);
494+
feedVersionSummary.publishedVersionId = feedVersionDocument.getString("publishedVersionId");
489495
feedVersionSummary.validationResult = getValidationResult(hasChildValidationResultDocument, feedVersionDocument);
490496
feedVersionSummaries.put(feedVersionDocument.getString(feedSourceKey), feedVersionSummary);
491497
}

src/main/java/com/conveyal/datatools/manager/models/FeedVersionSummary.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ public class FeedVersionSummary extends Model implements Serializable {
3232
public Date processedByExternalPublisher;
3333
public Date sentToExternalPublisher;
3434
public GtfsPlusValidation gtfsPlusValidation;
35+
public String publishedVersionId;
3536

3637
public PartialValidationSummary getValidationSummary() {
3738
if (validationSummary == null) {

src/test/java/com/conveyal/datatools/manager/controllers/api/FeedSourceControllerTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,7 @@ void canRetrieveDeployedFeedVersionFromLatestDeployment() throws IOException {
403403
assertEquals(feedVersionFromLatestDeployment.sentToExternalPublisher, feedSourceSummaries.get(0).latestSentToExternalPublisher);
404404
assertEquals(feedVersionFromLatestDeployment.gtfsPlusValidation.issues.size(), feedSourceSummaries.get(0).latestGtfsPlusValidation.issues.size());
405405
assertEquals(feedVersionFromLatestDeployment.gtfsPlusValidation.published, feedSourceSummaries.get(0).latestGtfsPlusValidation.published);
406-
406+
assertEquals(feedSourceWithLatestDeploymentFeedVersion.publishedVersionId, feedSourceSummaries.get(0).latestPublishedVersionId);
407407
}
408408

409409
@Test
@@ -442,6 +442,7 @@ void canRetrieveDeployedFeedVersionFromPinnedDeployment() throws IOException {
442442
assertEquals(feedVersionFromPinnedDeployment.sentToExternalPublisher, feedSourceSummaries.get(0).latestSentToExternalPublisher);
443443
assertEquals(feedVersionFromPinnedDeployment.gtfsPlusValidation.issues.size(), feedSourceSummaries.get(0).latestGtfsPlusValidation.issues.size());
444444
assertEquals(feedVersionFromPinnedDeployment.gtfsPlusValidation.published, feedSourceSummaries.get(0).latestGtfsPlusValidation.published);
445+
assertEquals(feedSourceWithPinnedDeploymentFeedVersion.publishedVersionId, feedSourceSummaries.get(0).latestPublishedVersionId);
445446
}
446447

447448
private static FeedSource createFeedSource(String name, URL url, Project project) {
@@ -472,6 +473,7 @@ private static FeedSource createFeedSource(
472473
feedSource.projectId = project.id;
473474
feedSource.retrievalMethod = FeedRetrievalMethod.FETCHED_AUTOMATICALLY;
474475
feedSource.url = url;
476+
feedSource.publishedVersionId = "published-version-id-1";
475477
if (labels != null) feedSource.labelIds = labels;
476478
if (notes != null) feedSource.noteIds = notes;
477479
if (persist) Persistence.feedSources.create(feedSource);

0 commit comments

Comments
 (0)