Skip to content
Snippets Groups Projects
Select Git revision
  • 8873beef44fb8153336d3d17f80f9c5eef9ad39e
  • master default
  • rewrite
3 results

PluginService.java

Blame
  • 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();
    	}
    }