using DigitalData.Core.Abstractions.Application; using DigitalData.Core.DTO; using EnvelopeGenerator.Application.DTOs.EnvelopeReceiver; using EnvelopeGenerator.Application.DTOs.Messaging; using EnvelopeGenerator.Domain.Entities; namespace EnvelopeGenerator.Application.Contracts { public interface IEnvelopeReceiverService : IBasicCRUDService { Task>> ReadByUuidAsync(string uuid, bool withEnvelope = true, bool withReceiver = false); Task>> ReadSecretByUuidAsync(string uuid, bool withEnvelope = false, bool withReceiver = true); Task>> ReadBySignatureAsync(string signature, bool withEnvelope = false, bool withReceiver = true); Task> ReadByUuidSignatureAsync(string uuid, string signature, bool withEnvelope = true, bool withReceiver = true); Task> ReadByEnvelopeReceiverIdAsync(string envelopeReceiverId, bool withEnvelope = true, bool withReceiver = true); Task> ReadAccessCodeByIdAsync(int envelopeId, int receiverId); Task> VerifyAccessCodeAsync(string uuid, string signature, string accessCode); Task> VerifyAccessCodeAsync(string envelopeReceiverId, string accessCode); Task> IsExisting(string envelopeReceiverId); Task>> ReadByUsernameAsync(string username, int? min_status = null, int? max_status = null, params int[] ignore_statuses); Task> ReadLastUsedReceiverNameByMail(string mail); Task> SendSmsAsync(string envelopeReceiverId, string message); } }