package org.initialde.yakasave.Infrastructure.Persistence;

import org.initialde.yakasave.Domain.Entities.SavingsFund;
import org.initialde.yakasave.Domain.Entities.User;
import org.initialde.yakasave.Domain.Enums.TypeSavingsFund;

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

public interface SavingsFundRepository {
    void save(SavingsFund savingsFund);

    boolean existsByReference(String reference);

    List<SavingsFund> findAllByTypeAndOwner(TypeSavingsFund type, User user);

    void deleteAll();

    Optional<SavingsFund> findByReference(String reference);
}
