using Application.Abstractions.Messaging;

namespace Application.Features.Api.DonationAlert.BatchSaveConfig;

public sealed record Command(
    int ChannelID,
    int MemberID,
    List<ConfigItem> Items,
    List<int> DeleteIDs
) : ICommand;

public sealed record ConfigItem(
    int? ID,
    string Title,
    int Amount,
    int MatchType,
    string Message,
    double PlayDelaySec,
    double DisplayDurationSec,
    string? PopupEffect,
    string? TextEffect,
    string? NicknameFontFamily,
    int NicknameFontSize,
    string NicknameFontColor,
    string? AmountFontFamily,
    int AmountFontSize,
    string AmountFontColor,
    string? MessageFontFamily,
    int MessageFontSize,
    string MessageFontColor,
    string? TemplateFontFamily,
    int TemplateFontSize,
    string TemplateFontColor,
    bool EnableImage,
    string? ImageUrl,
    bool EnableSound,
    string? SoundUrl,
    bool IsActive
);