using DigitalData.Core.Abstractions.Infrastructure; using EnvelopeGenerator.Domain.Entities; namespace EnvelopeGenerator.Infrastructure.Contracts { public interface IEnvelopeReceiverRepository : ICRUDRepository { Task> ReadByUuidAsync(string uuid, bool withEnvelope = true, bool withReceiver = false, bool readOnly = true); Task> ReadBySignatureAsync(string signature, bool withEnvelope = false, bool withReceiver = true, bool readOnly = true); Task ReadByUuidSignatureAsync(string uuid, string signature, bool withEnvelope = true, bool withReceiver = true, bool readOnly = true); Task ReadAccessCodeAsync(string uuid, string signature, bool readOnly = true); Task CountAsync(string uuid, string signature); Task ReadByIdAsync(int envelopeId, int receiverId, bool readOnly = true); Task ReadAccessCodeByIdAsync(int envelopeId, int receiverId, bool readOnly = true); Task> ReadByUsernameAsync(string username, int? min_status = null, int? max_status = null, params int[] ignore_statuses); Task ReadLastByReceiver(string email); } }