2026-03-16 01:33:27 +01:00
|
|
|
#nullable enable
|
2026-03-19 10:26:17 +01:00
|
|
|
using System;
|
2026-03-19 16:41:35 +01:00
|
|
|
using System.Text.Json;
|
2026-03-16 01:33:27 +01:00
|
|
|
using System.Threading;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using Wino.Core.Domain.Entities.Shared;
|
|
|
|
|
using Wino.Core.Domain.Models.Accounts;
|
2026-03-18 17:43:56 +01:00
|
|
|
using Wino.Mail.Api.Contracts.Ai;
|
|
|
|
|
using Wino.Mail.Api.Contracts.Auth;
|
|
|
|
|
using Wino.Mail.Api.Contracts.Common;
|
2026-04-04 20:23:20 +02:00
|
|
|
using Wino.Mail.Api.Contracts.Users;
|
2026-03-16 01:33:27 +01:00
|
|
|
|
|
|
|
|
namespace Wino.Core.Domain.Interfaces;
|
|
|
|
|
|
|
|
|
|
public interface IWinoAccountProfileService
|
|
|
|
|
{
|
|
|
|
|
Task<WinoAccountOperationResult> RegisterAsync(string email, string password, CancellationToken cancellationToken = default);
|
|
|
|
|
Task<WinoAccountOperationResult> LoginAsync(string email, string password, CancellationToken cancellationToken = default);
|
|
|
|
|
Task<WinoAccountOperationResult> RefreshAsync(CancellationToken cancellationToken = default);
|
2026-03-19 10:26:17 +01:00
|
|
|
Task<WinoAccountOperationResult> RefreshProfileAsync(CancellationToken cancellationToken = default);
|
2026-03-19 16:41:35 +01:00
|
|
|
Task<ApiEnvelope<EmailConfirmationResendResultDto>> ResendEmailConfirmationAsync(string endpoint, string ticket, CancellationToken cancellationToken = default);
|
|
|
|
|
Task<ApiEnvelope<JsonElement>> ForgotPasswordAsync(string email, CancellationToken cancellationToken = default);
|
2026-03-16 01:33:27 +01:00
|
|
|
Task<WinoAccount?> GetActiveAccountAsync();
|
2026-03-18 17:43:56 +01:00
|
|
|
Task<WinoAccount?> GetAuthenticatedAccountAsync(CancellationToken cancellationToken = default);
|
2026-03-16 01:33:27 +01:00
|
|
|
Task<bool> HasActiveAccountAsync();
|
2026-03-18 17:43:56 +01:00
|
|
|
Task<ApiEnvelope<AuthUserDto>> GetCurrentUserAsync(CancellationToken cancellationToken = default);
|
|
|
|
|
Task<ApiEnvelope<AiStatusResultDto>> GetAiStatusAsync(CancellationToken cancellationToken = default);
|
2026-04-04 01:34:57 +02:00
|
|
|
Task<ApiEnvelope<AiTextResultDto>> SummarizeAsync(string html, string targetLanguage, CancellationToken cancellationToken = default);
|
2026-03-25 00:25:05 +01:00
|
|
|
Task<ApiEnvelope<AiTextResultDto>> TranslateAsync(string html, string targetLanguage, CancellationToken cancellationToken = default);
|
|
|
|
|
Task<ApiEnvelope<AiTextResultDto>> RewriteAsync(string html, string mode, CancellationToken cancellationToken = default);
|
2026-04-02 15:07:05 +02:00
|
|
|
Task<ApiEnvelope<JsonElement>> SyncStoreEntitlementsAsync(CancellationToken cancellationToken = default);
|
2026-04-04 20:23:20 +02:00
|
|
|
Task<string?> GetSettingsAsync(CancellationToken cancellationToken = default);
|
|
|
|
|
Task SaveSettingsAsync(string settingsJson, CancellationToken cancellationToken = default);
|
|
|
|
|
Task<UserMailboxSyncListDto> GetMailboxesAsync(CancellationToken cancellationToken = default);
|
|
|
|
|
Task ReplaceMailboxesAsync(ReplaceUserMailboxesRequestDto request, CancellationToken cancellationToken = default);
|
2026-03-19 10:26:17 +01:00
|
|
|
Task<bool> ProcessBillingCallbackAsync(Uri callbackUri, CancellationToken cancellationToken = default);
|
2026-03-16 01:33:27 +01:00
|
|
|
Task SignOutAsync(CancellationToken cancellationToken = default);
|
|
|
|
|
}
|