namespace CashLineERP.Application.MasterData;

public interface IReferenceDataGovernanceRepository
{
    MasterDataGovernanceOverviewView GetOverview();

    IReadOnlyCollection<ReferenceDataEntryDetailView> GetEntries(string? referenceTypeCode = null, bool activeOnly = false);

    ReferenceDataEntryDetailView? GetEntry(long referenceDataEntryId);

    ReferenceDataEntryDetailView Create(CreateReferenceDataEntryCommand command);

    ReferenceDataEntryDetailView Submit(long referenceDataEntryId, long actorUserId);

    ReferenceDataEntryDetailView Approve(long referenceDataEntryId, long actorUserId);

    ReferenceDataEntryDetailView Activate(long referenceDataEntryId, long actorUserId);
}
