More updates on wino acc.
This commit is contained in:
@@ -67,6 +67,17 @@ public interface IPreferencesService : INotifyPropertyChanged
|
||||
/// </summary>
|
||||
bool IsWinoAccountButtonHidden { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Serializes the current syncable preferences snapshot.
|
||||
/// </summary>
|
||||
string ExportPreferences();
|
||||
|
||||
/// <summary>
|
||||
/// Deserializes and applies a preferences snapshot.
|
||||
/// Returns the applied and failed property counts.
|
||||
/// </summary>
|
||||
(int appliedCount, int failedCount) ImportPreferences(string settingsJson);
|
||||
|
||||
#endregion
|
||||
|
||||
#region Mail
|
||||
|
||||
@@ -16,6 +16,7 @@ public interface IWinoAccountApiClient
|
||||
Task<ApiEnvelope<JsonElement>> LogoutAsync(string refreshToken, CancellationToken cancellationToken = default);
|
||||
Task<ApiEnvelope<AuthUserDto>> GetCurrentUserAsync(CancellationToken cancellationToken = default);
|
||||
Task<ApiEnvelope<AiStatusResultDto>> GetAiStatusAsync(CancellationToken cancellationToken = default);
|
||||
Task<ApiEnvelope<string>> CreateCheckoutSessionAsync(string productId, CancellationToken cancellationToken = default);
|
||||
Task<string?> GetSettingsAsync(CancellationToken cancellationToken = default);
|
||||
Task<bool> SaveSettingsAsync(string settingsJson, CancellationToken cancellationToken = default);
|
||||
}
|
||||
|
||||
@@ -3,6 +3,9 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Wino.Core.Domain.Entities.Shared;
|
||||
using Wino.Core.Domain.Models.Accounts;
|
||||
using Wino.Mail.Api.Contracts.Ai;
|
||||
using Wino.Mail.Api.Contracts.Auth;
|
||||
using Wino.Mail.Api.Contracts.Common;
|
||||
|
||||
namespace Wino.Core.Domain.Interfaces;
|
||||
|
||||
@@ -12,6 +15,10 @@ public interface IWinoAccountProfileService
|
||||
Task<WinoAccountOperationResult> LoginAsync(string email, string password, CancellationToken cancellationToken = default);
|
||||
Task<WinoAccountOperationResult> RefreshAsync(CancellationToken cancellationToken = default);
|
||||
Task<WinoAccount?> GetActiveAccountAsync();
|
||||
Task<WinoAccount?> GetAuthenticatedAccountAsync(CancellationToken cancellationToken = default);
|
||||
Task<bool> HasActiveAccountAsync();
|
||||
Task<ApiEnvelope<AuthUserDto>> GetCurrentUserAsync(CancellationToken cancellationToken = default);
|
||||
Task<ApiEnvelope<AiStatusResultDto>> GetAiStatusAsync(CancellationToken cancellationToken = default);
|
||||
Task<ApiEnvelope<string>> CreateCheckoutSessionAsync(string productId, CancellationToken cancellationToken = default);
|
||||
Task SignOutAsync(CancellationToken cancellationToken = default);
|
||||
}
|
||||
|
||||
@@ -878,6 +878,8 @@
|
||||
"WinoAccount_Management_AiPackPromoPrice": "$4.99 / mo",
|
||||
"WinoAccount_Management_AiPackPromoRequests": "1,000 requests",
|
||||
"WinoAccount_Management_AiPackGetButton": "Get AI Pack",
|
||||
"WinoAccount_Management_PurchaseRequiresSignIn": "Sign in with your Wino Account to complete this purchase.",
|
||||
"WinoAccount_Management_PurchaseStartFailed": "Wino could not start the checkout session for this add-on.",
|
||||
"WinoAccount_Management_AiPackSubscriptionActive": "Your subscription is active",
|
||||
"WinoAccount_Management_AiPackRenews": "Renews {0:d}",
|
||||
"WinoAccount_Management_AiPackRequestsUsed": "Requests used this month",
|
||||
@@ -1245,6 +1247,7 @@
|
||||
"WinoAccount_Error_AccountLocked": "This account is temporarily locked.",
|
||||
"WinoAccount_Error_AccountBanned": "This account has been banned.",
|
||||
"WinoAccount_Error_AccountSuspended": "This account has been suspended.",
|
||||
"WinoAccount_Error_EmailNotConfirmed": "Please confirm your email address before signing in.",
|
||||
"WinoAccount_Error_RefreshTokenInvalid": "Your session is no longer valid. Please sign in again.",
|
||||
"WinoAccount_Error_EmailAlreadyRegistered": "This email address is already registered.",
|
||||
"WinoAccount_Error_ExternalLoginEmailRequired": "An email address is required to complete external sign-in.",
|
||||
|
||||
Reference in New Issue
Block a user