Exemplo n.º 1
0
        public static string[] Format(MaskedEmailCommand command)
        {
            if (command is AddMaskedEmailCommand addMaskedEmailCommand)
            {
                return(new[]
                {
                    $"/usr/local/bin/add-masked-email -address {command.Address} -passwordHash {addMaskedEmailCommand.PasswordHash} -force",
                    $"/usr/local/bin/set-masked-email -address {command.Address} -forwardTo {addMaskedEmailCommand.AlternateAddress}",
                });
            }
            if (command is RemoveMaskedEmailCommand _)
            {
                return(new[] { $"/usr/local/bin/remove-masked-email -address {command.Address} -force", });
            }
            if (command is EnableMaskedEmailCommand _)
            {
                return(new[] { $"/usr/local/bin/set-masked-email -address {command.Address} -enable", });
            }
            if (command is DisableMaskedEmailCommand _)
            {
                return(new[] { $"/usr/local/bin/set-masked-email -address {command.Address} -disable", });
            }
            if (command is ChangeMaskedEmailPasswordCommand changeMaskedEmailPasswordCommand)
            {
                return(new[] { $"/usr/local/bin/change-masked-email-password -address {command.Address} -passwordHash {changeMaskedEmailPasswordCommand.PasswordHash} -force", });
            }
            if (command is SendMailCommand sendMailCommand)
            {
                var subject = QuoteBashString(sendMailCommand.Subject);
                return(new[] { $"/usr/local/bin/send-email -address {command.Address} -subject {subject} -message {sendMailCommand.Message}", });
            }

            System.Diagnostics.Debug.Assert(false);
            throw new NotImplementedException();
        }
Exemplo n.º 2
0
        public Task QueueCommandAsync(MaskedEmailCommand command)
        {
            var text = JsonConvert.SerializeObject(command);

            return(queue_.AddMessageAsync(new CloudQueueMessage(text)));
        }