31 lines
2.0 KiB
C#
31 lines
2.0 KiB
C#
using FutureMailAPI.DTOs;
|
|
using FutureMailAPI.Models;
|
|
|
|
namespace FutureMailAPI.Services
|
|
{
|
|
public interface IMailService
|
|
{
|
|
Task<ApiResponse<SentMailResponseDto>> CreateMailAsync(int userId, SentMailCreateDto createDto);
|
|
Task<ApiResponse<SentMailResponseDto>> GetSentMailByIdAsync(int userId, int mailId);
|
|
Task<ApiResponse<PagedResponse<SentMailResponseDto>>> GetSentMailsAsync(int userId, MailListQueryDto queryDto);
|
|
Task<ApiResponse<SentMailResponseDto>> GetMailByIdAsync(int userId, int mailId);
|
|
Task<ApiResponse<PagedResponse<SentMailResponseDto>>> GetMailsAsync(int userId, MailListQueryDto queryDto);
|
|
Task<ApiResponse<SentMailResponseDto>> UpdateMailAsync(int userId, int mailId, SentMailUpdateDto updateDto);
|
|
Task<ApiResponse<bool>> DeleteMailAsync(int userId, int mailId);
|
|
Task<ApiResponse<PagedResponse<ReceivedMailResponseDto>>> GetReceivedMailsAsync(int userId, MailListQueryDto queryDto);
|
|
Task<ApiResponse<ReceivedMailResponseDto>> GetReceivedMailByIdAsync(int userId, int mailId);
|
|
Task<ApiResponse<bool>> MarkReceivedMailAsReadAsync(int userId, int mailId);
|
|
Task<ApiResponse<bool>> MarkAsReadAsync(int userId, int mailId);
|
|
Task<ApiResponse<bool>> RevokeMailAsync(int userId, int mailId);
|
|
|
|
// 存入胶囊相关方法
|
|
Task<ApiResponse<SaveToCapsuleResponseDto>> SaveToCapsuleAsync(int userId, SaveToCapsuleDto saveToCapsuleDto);
|
|
Task<ApiResponse<PagedResponse<CapsuleMailListResponseDto>>> GetCapsuleMailsAsync(int userId, MailListQueryDto queryDto);
|
|
Task<ApiResponse<CapsuleMailDetailResponseDto>> GetCapsuleMailByIdAsync(int userId, int mailId);
|
|
Task<ApiResponse<CapsuleMailDetailResponseDto>> UpdateCapsuleMailAsync(int userId, int mailId, UpdateCapsuleMailDto updateDto);
|
|
Task<ApiResponse<bool>> RevokeCapsuleMailAsync(int userId, int mailId);
|
|
|
|
// 发送至未来功能
|
|
Task<ApiResponse<SendToFutureResponseDto>> SendToFutureAsync(int userId, SendToFutureDto sendToFutureDto);
|
|
}
|
|
} |