package de.thpeetz.kontor.media.services;

import de.thpeetz.kontor.media.data.MediaArticle;
import de.thpeetz.kontor.media.repository.MediaArticleRepository;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import java.util.List;

@Slf4j
@Service
public class MediaArticleService {

    private final MediaArticleRepository mediaArticleRepository;

    public MediaArticleService(MediaArticleRepository mediaArticleRepository) {
        this.mediaArticleRepository = mediaArticleRepository;
    }

    public List<MediaArticle> findAllMediaArticles(String stringFilter) {
        if (stringFilter == null || stringFilter.isEmpty()) {
            log.info("Found {} entries", mediaArticleRepository.count());
            return mediaArticleRepository.findAll();
        } else {
            List<MediaArticle> results = mediaArticleRepository.search(stringFilter);
            log.info("Found {} entries", results.size());
            return results;
        }
    }

    public void saveMediaArticle(MediaArticle mediaArticle) {
        if (mediaArticle == null) {
            log.warn("MediaArticle is null. Are you sure you have connected your form to the application?");
            return;
        }
        mediaArticleRepository.save(mediaArticle);
    }

    public void deleteMediaArticle(MediaArticle mediaArticle) {
        mediaArticleRepository.delete(mediaArticle);
    }
}
