package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository;

import java.util.List;
import java.util.Optional;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

import com.iqser.red.service.persistence.management.v1.processor.entity.ComponentMappingEntity;
import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.DigitalSignatureEntity;

public interface ComponentMappingRepository extends JpaRepository<ComponentMappingEntity, String> {

    List<ComponentMappingEntity> findByDossierTemplateId(String dossierTemplateId);


    boolean existsByNameAndDossierTemplateId(String name, String dossierTemplateId);


    Optional<ComponentMappingEntity> findByIdAndDossierTemplateId(String id, String dossierTemplateId);


    @Modifying
    @Query("update ComponentMappingEntity ce set ce.version = :version where ce.id = :componentMappingId")
    void updateVersion(@Param("componentMappingId") String componentMappingId,@Param("version") Integer version);

}
