package com.iqser.red.service.persistence.v1.internal.api.controller;

import static com.knecon.fforesight.databasetenantcommons.providers.utils.MagicConverter.convert;

import java.util.List;

import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

import com.iqser.red.service.persistence.management.v1.processor.service.persistence.ReportTemplatePersistenceService;
import com.iqser.red.service.persistence.service.v1.api.internal.resources.ReportTemplateResource;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.ReportTemplate;

import lombok.RequiredArgsConstructor;

@RestController
@RequiredArgsConstructor
public class ReportTemplateInternalController implements ReportTemplateResource {

    private final ReportTemplatePersistenceService reportTemplatePersistenceService;


    public List<ReportTemplate> getAvailableReportTemplates(@PathVariable(DOSSIER_TEMPLATE_ID) String dossierTemplateId) {

        return convert(reportTemplatePersistenceService.findByDossierTemplateId(dossierTemplateId), ReportTemplate.class);
    }


    public ReportTemplate getReportTemplate(@PathVariable(DOSSIER_TEMPLATE_ID) String dossierTemplateId, @PathVariable(TEMPLATE_ID) String templateId) {

        return convert(reportTemplatePersistenceService.find(templateId), ReportTemplate.class);
    }

}
