Skip to content

Commit

Permalink
feat(plugins): Upsert plugin info release endpoint (#860)
Browse files Browse the repository at this point in the history
  • Loading branch information
jonsie committed Jun 10, 2020
1 parent 4ac6d20 commit ca230a1
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,31 @@ public PluginInfo createRelease(@Nonnull String id, @Nonnull PluginInfo.Release
return pluginInfo;
}

public PluginInfo upsertRelease(@Nonnull String id, @Nonnull PluginInfo.Release release) {
release.setLastModifiedBy(AuthenticatedRequest.getSpinnakerUser().orElse("anonymous"));
release.setLastModified(Instant.now());
PluginInfo pluginInfo = repository.findById(id);
Optional<PluginInfo.Release> existingRelease =
pluginInfo.getReleaseByVersion(release.getVersion());

return existingRelease
.map(
r -> {
pluginInfo.getReleases().remove(r);
pluginInfo.getReleases().add(release);
cleanupPreferredReleases(pluginInfo, release);
validate(pluginInfo);
repository.update(pluginInfo.getId(), pluginInfo);
return pluginInfo;
})
.orElseThrow(
() ->
new NotFoundException(
String.format(
"Plugin %s with release %s version not found. ",
id, release.getVersion())));
}

public PluginInfo deleteRelease(@Nonnull String id, @Nonnull String releaseVersion) {
PluginInfo pluginInfo = repository.findById(id);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,13 @@ PluginInfo createRelease(
return pluginInfoService.createRelease(id, release);
}

@PreAuthorize("@fiatPermissionEvaluator.isAdmin()")
@RequestMapping(value = "/{id}/releases", method = RequestMethod.PUT)
PluginInfo upsertRelease(
@PathVariable String id, @Valid @RequestBody PluginInfo.Release release) {
return pluginInfoService.upsertRelease(id, release);
}

@PreAuthorize("@fiatPermissionEvaluator.isAdmin()")
@RequestMapping(value = "/{id}/releases/{releaseVersion}", method = RequestMethod.PUT)
PluginInfo.Release preferReleaseVersion(
Expand Down

0 comments on commit ca230a1

Please sign in to comment.