Skip to content

Commit

Permalink
Oembed defaults had readonly set
Browse files Browse the repository at this point in the history
  • Loading branch information
cjmalloy committed Jul 15, 2023
1 parent 578970a commit 627cb7c
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 6 deletions.
5 changes: 3 additions & 2 deletions src/main/java/jasper/component/Ingest.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import org.springframework.stereotype.Component;

import java.time.Instant;
import java.util.List;

@Component
public class Ingest {
Expand Down Expand Up @@ -56,11 +57,11 @@ public void update(Ref ref, boolean force) {
}

@Timed(value = "jasper.ref", histogram = true)
public void push(Ref ref) {
public void push(Ref ref, List<String> metadataPlugins) {
var maybeExisting = refRepository.findOneByUrlAndOrigin(ref.getUrl(), ref.getOrigin());
ref.addHierarchicalTags();
validate.ref(ref, true);
meta.update(ref, maybeExisting.orElse(null), null);
meta.update(ref, maybeExisting.orElse(null), metadataPlugins);
refRepository.save(ref);
}

Expand Down
9 changes: 7 additions & 2 deletions src/main/java/jasper/component/OembedProviders.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import jasper.config.Props;
import jasper.domain.Ref;
import jasper.plugin.Oembed;
import jasper.repository.PluginRepository;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
Expand All @@ -27,6 +28,9 @@ public class OembedProviders {
@Autowired
Ingest ingest;

@Autowired
PluginRepository pluginRepository;

@Value("classpath:providers.json")
Resource defaultProviders;

Expand All @@ -38,7 +42,8 @@ public void defaults(String origin) throws IOException {
}

public void create(String origin, List<Oembed> providers) {
logger.info("Restoring default oEmbed providers...");
logger.info("Restoring default oEmbed providers... (\"{}\")", origin);
var metadataPlugins = pluginRepository.findAllByGenerateMetadataByOrigin(origin);
for (var p : providers) {
var ref = new Ref();
ref.setUrl(p.getProvider_url());
Expand All @@ -48,7 +53,7 @@ public void create(String origin, List<Oembed> providers) {
plugins.set("+plugin/oembed", objectMapper.convertValue(p, JsonNode.class));
ref.setPlugins(plugins);
ref.setOrigin(origin);
ingest.push(ref);
ingest.push(ref, metadataPlugins);
}
logger.info("Done restoring default oEmbed providers.");
}
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/jasper/service/OembedService.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
import java.util.regex.Pattern;

@Service
@Transactional(readOnly = true)
public class OembedService {
private static final Logger logger = LoggerFactory.getLogger(OembedService.class);

Expand All @@ -47,6 +46,7 @@ public class OembedService {
ObjectMapper objectMapper;

@Cacheable("oembed")
@Transactional(readOnly = true)
@PreAuthorize("hasRole('VIEWER')")
@Timed(value = "jasper.service", extraTags = {"service", "oembed"}, histogram = true)
public JsonNode get(Map<String, String> params) {
Expand All @@ -67,6 +67,7 @@ public void restoreDefaults() throws IOException {
}

@Cacheable("oembed-provider")
@Transactional(readOnly = true)
@PreAuthorize("hasRole('VIEWER')")
@Timed(value = "jasper.service", extraTags = {"service", "oembed"}, histogram = true)
public Oembed.Endpoints getProvider(String origin, String url) {
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/jasper/service/RefService.java
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ public void push(Ref ref) {
if (ref.getSources() != null && ref.getSources().size() > props.getMaxSources()) {
logger.warn("Ignoring max count for push. Max count is set to {}. Ref contains {} sources.", props.getMaxSources(), ref.getSources().size());
}
ingest.push(ref);
ingest.push(ref, null);
}

@Transactional(readOnly = true)
Expand Down

0 comments on commit 627cb7c

Please sign in to comment.