Select Git revision
PluginService.java
-
Tobias Ullerich authoredTobias Ullerich authored
PluginService.java 1.17 KiB
package de.tobias.playwall.service;
import de.tobias.playwall.model.Plugin;
import de.tobias.playwall.model.PluginManifest;
import de.tobias.playwall.model.artifactory.Version;
import de.tobias.playwall.repository.PluginDescriptionRepository;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
@AllArgsConstructor
public class PluginService
{
private final PluginDescriptionRepository pluginDescriptionRepository;
private final ArtifactoryClient artifactoryClient;
public List<Plugin> getAllPlugins()
{
return pluginDescriptionRepository.findAll().stream().map(pluginDescription -> {
final Version version = artifactoryClient.getLatestVersion(pluginDescription);
final PluginManifest manifest = artifactoryClient.getPluginManifest(pluginDescription, version);
return Plugin.builder()
.id(pluginDescription.getId())
.name(pluginDescription.getName())
.displayName(pluginDescription.getDisplayName())
.description(pluginDescription.getDescription())
.icon(pluginDescription.getIcon())
.version(version.toVersionString())
.build(manifest.getBuild())
.build();
}).toList();
}
}