budget/BudgetApp/Domain/Interfaces/ILedgerRepository.cs
2026-01-03 10:29:03 -06:00

19 lines
512 B
C#

namespace BudgetApp.Domain.Interfaces;
using BudgetApp.Domain.Models;
/// <summary>
/// Repository interface for ledger persistence operations.
/// </summary>
public interface ILedgerRepository
{
Task<Ledger?> GetByIdAsync(Guid id);
Task<Ledger> GetOrCreateAsync();
Task SaveAsync(Ledger ledger);
Task<LedgerEntry?> GetEntryByIdAsync(Guid entryId);
Task<IEnumerable<LedgerEntry>> GetAllEntriesAsync();
Task SaveEntryAsync(LedgerEntry entry);
Task DeleteEntryAsync(Guid entryId);
}