using FutureMailAPI.DTOs; using FutureMailAPI.Models; namespace FutureMailAPI.Services { public interface IMailService { Task> CreateMailAsync(int userId, SentMailCreateDto createDto); Task> GetSentMailByIdAsync(int userId, int mailId); Task>> GetSentMailsAsync(int userId, MailListQueryDto queryDto); Task> GetMailByIdAsync(int userId, int mailId); Task>> GetMailsAsync(int userId, MailListQueryDto queryDto); Task> UpdateMailAsync(int userId, int mailId, SentMailUpdateDto updateDto); Task> DeleteMailAsync(int userId, int mailId); Task>> GetReceivedMailsAsync(int userId, MailListQueryDto queryDto); Task> GetReceivedMailByIdAsync(int userId, int mailId); Task> MarkReceivedMailAsReadAsync(int userId, int mailId); Task> MarkAsReadAsync(int userId, int mailId); Task> RevokeMailAsync(int userId, int mailId); // 存入胶囊相关方法 Task> SaveToCapsuleAsync(int userId, SaveToCapsuleDto saveToCapsuleDto); Task>> GetCapsuleMailsAsync(int userId, MailListQueryDto queryDto); Task> GetCapsuleMailByIdAsync(int userId, int mailId); Task> UpdateCapsuleMailAsync(int userId, int mailId, UpdateCapsuleMailDto updateDto); Task> RevokeCapsuleMailAsync(int userId, int mailId); // 发送至未来功能 Task> SendToFutureAsync(int userId, SendToFutureDto sendToFutureDto); } }