package org.initialde.yakasave.Infrastructure.Persistence;

import org.initialde.yakasave.Domain.Entities.SavingsFund;
import org.initialde.yakasave.Domain.Entities.SavingsFundSnapshot;
import org.initialde.yakasave.Domain.Entities.User;
import org.initialde.yakasave.Domain.Enums.TypeSavingsFund;
import org.springframework.data.jpa.repository.JpaRepository;

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

public interface JpaSavingsFundRepository extends JpaRepository<SavingsFundSnapshot, UUID> {
    boolean existsByReference(String reference);

    List<SavingsFundSnapshot> findAllByTypeAndOwner(TypeSavingsFund type, User owner);

    Optional<SavingsFundSnapshot> findByReference(String reference);
}
