- Added EmailBlacklist service and controller for managing blacklisted emails. - Created EmailBlacklistDto for data transfer and EmailBlacklistFormViewModel for form handling. - Implemented views for listing and adding emails to the blacklist. - Updated database schema with new EmailBlacklist entity and related migrations. - Enhanced OAuthClientFormViewModel to include ClientId and ClientSecret properties. - Added EmailBlacklistService to handle email blacklisting logic. - Integrated email blacklist service into the application with necessary dependencies.
15 lines
720 B
C#
15 lines
720 B
C#
using MemberCenter.Application.Models.Newsletter;
|
|
|
|
namespace MemberCenter.Application.Abstractions;
|
|
|
|
public interface INewsletterService
|
|
{
|
|
Task<PendingSubscriptionResult?> SubscribeAsync(Guid listId, string email, Dictionary<string, object>? preferences);
|
|
Task<SubscriptionDto?> ConfirmAsync(string token);
|
|
Task<string?> IssueUnsubscribeTokenAsync(Guid listId, string email);
|
|
Task<SubscriptionDto?> UnsubscribeAsync(string token);
|
|
Task<SubscriptionDto?> GetPreferencesAsync(Guid listId, string email);
|
|
Task<SubscriptionDto?> UpdatePreferencesAsync(Guid listId, string email, Dictionary<string, object> preferences);
|
|
Task<IReadOnlyList<SubscriptionDto>> ListSubscriptionsAsync(Guid listId);
|
|
}
|