package com.writeoff.module.finance.repository;

import com.writeoff.module.finance.model.Payment;

import java.util.Map;
import java.util.List;

public interface PaymentRepository {
    Payment save(Payment payment);

    List<Payment> findAll();

    boolean isProjectLocked(Long projectId);

    void lockProject(Long projectId, String reason, Long operatorUserId);

    void unlockProject(Long projectId, String reason, Long operatorUserId);

    Map<String, Object> createReconciliation(Long projectId, Long expectedAmountCent, Long operatorUserId);

    List<Map<String, Object>> listReconciliations();

    List<Map<String, Object>> listLockLogs(Long projectId);
}
