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

import java.util.List;

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

import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierAttributeEntity;

public interface DossierAttributeRepository extends JpaRepository<DossierAttributeEntity, DossierAttributeEntity.DossierAttributeEntityId> {

    List<DossierAttributeEntity> findByIdDossierId(String dossierId);


    @Modifying(clearAutomatically = true, flushAutomatically = true)
    @Query("DELETE FROM DossierAttributeEntity e WHERE e.id.dossierId = :dossierId")
    void deleteByDossierId(String dossierId);


    @Modifying(clearAutomatically = true, flushAutomatically = true)
    @Query("DELETE FROM DossierAttributeEntity e WHERE e.id.dossierAttributeConfigId = :id")
    void deleteByDossierAttributeConfigId(String id);


    @Modifying
    @Query("update DossierAttributeEntity dae set dae.value = :dossierAttributeValue where dae.id = :dossierAttributeId")
    void updateDossierAttribute(DossierAttributeEntity.DossierAttributeEntityId dossierAttributeId, String dossierAttributeValue);

}
