Skip to content

Commit

Permalink
Allow Ref and Ext upserts from update endpoint when force is true
Browse files Browse the repository at this point in the history
  • Loading branch information
cjmalloy committed Nov 27, 2023
1 parent 191231e commit 38883f3
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
4 changes: 3 additions & 1 deletion src/main/java/jasper/service/ExtService.java
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,9 @@ public Instant update(Ext ext, boolean force) {
var maybeExisting = extRepository.findOneByQualifiedTag(ext.getQualifiedTag());
if (maybeExisting.isEmpty()) throw new NotFoundException("Ext " + ext.getQualifiedTag());
var existing = maybeExisting.get();
if (ext.getModified() == null || !ext.getModified().truncatedTo(ChronoUnit.SECONDS).equals(existing.getModified().truncatedTo(ChronoUnit.SECONDS))) throw new ModifiedException("Ext " + ext.getQualifiedTag());
if (!force && (ext.getModified() == null || !ext.getModified().truncatedTo(ChronoUnit.SECONDS).equals(existing.getModified().truncatedTo(ChronoUnit.SECONDS)))) {
throw new ModifiedException("Ext " + ext.getQualifiedTag());
}
validate.ext(ext, force);
ext.setModified(Instant.now());
try {
Expand Down
4 changes: 3 additions & 1 deletion src/main/java/jasper/service/RefService.java
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,9 @@ public Instant update(Ref ref, boolean force) {
var maybeExisting = refRepository.findOneByUrlAndOrigin(ref.getUrl(), ref.getOrigin());
if (maybeExisting.isEmpty()) throw new NotFoundException("Ref " + ref.getOrigin() + " " + ref.getUrl());
var existing = maybeExisting.get();
if (ref.getModified() == null || !ref.getModified().truncatedTo(ChronoUnit.SECONDS).equals(existing.getModified().truncatedTo(ChronoUnit.SECONDS))) throw new ModifiedException("Ref");
if (!force && (ref.getModified() == null || !ref.getModified().truncatedTo(ChronoUnit.SECONDS).equals(existing.getModified().truncatedTo(ChronoUnit.SECONDS)))) {
throw new ModifiedException("Ref");
}
var hiddenTags = auth.hiddenTags(existing.getTags());
ref.addTags(hiddenTags);
ref.addPlugins(hiddenTags, existing.getPlugins());
Expand Down

0 comments on commit 38883f3

Please sign in to comment.