public void Handle(TlsEntityState state, Common.Messaging.Abstractions.Message message, List <string> domains) { foreach (IChangeNotifier changeNotifier in _notifiers) { changeNotifier.Handle(state, message, domains); } }
public void Handle(MxEntityState state, Common.Messaging.Abstractions.Message message) { foreach (IChangeNotifier changeNotifier in _notifiers) { changeNotifier.Handle(state, message); } }
public void Handle(DkimEntityState state, Common.Messaging.Abstractions.Message message) { if (message is DkimRecordEvaluationResult evaluationResult) { List <DkimSelector> newRecordsIgnoringEmptyResults = evaluationResult.ToDkimSelectors().Where(x => x.Records != null).ToList(); List <SelectorMessage> currentSelectorMessages = CreateFlattenedSelectorMessages(state.Selectors); List <SelectorMessage> newSelectorMessages = CreateFlattenedSelectorMessages(newRecordsIgnoringEmptyResults); List <SelectorMessages> addedMessages = CreateExclusiveSelectorMessages(newSelectorMessages, currentSelectorMessages); if (addedMessages.Any()) { DkimAdvisoryAdded dkimAdvisoryAdded = new DkimAdvisoryAdded(state.Id, addedMessages); _dispatcher.Dispatch(dkimAdvisoryAdded, _dkimEntityConfig.SnsTopicArn); } List <SelectorMessages> removedMessages = CreateExclusiveSelectorMessages(currentSelectorMessages, newSelectorMessages); if (removedMessages.Any()) { DkimAdvisoryRemoved dkimAdvisoryRemoved = new DkimAdvisoryRemoved(state.Id, removedMessages); _dispatcher.Dispatch(dkimAdvisoryRemoved, _dkimEntityConfig.SnsTopicArn); } } }
public void Handle(DkimEntityState state, Common.Messaging.Abstractions.Message message) { if (message is DkimRecordsPolled polled) { List <SelectorRecord> currentSelectorRecords = state.Selectors .SelectMany(x => x.Records, (y, z) => new SelectorRecord(y.Selector, z.DnsRecord.Record)).ToList(); List <SelectorRecord> newSelectorRecords = polled.DkimSelectorRecords .Where(x => x.Records != null) .SelectMany(x => x.Records, (y, z) => new SelectorRecord(y.Selector, z.Record)).ToList(); List <SelectorRecord> addedRecords = newSelectorRecords.Except(currentSelectorRecords, _selectorRecordEqualityComparer).ToList(); if (addedRecords.Any()) { List <SelectorRecords> selectorRecords = addedRecords .GroupBy(x => x.Selector, y => y.Record) .Select(x => new SelectorRecords(x.Key, x.ToList())) .ToList(); DkimRecordAdded dkimDnsRecordAdded = new DkimRecordAdded(state.Id, selectorRecords); _dispatcher.Dispatch(dkimDnsRecordAdded, _dkimEntityConfig.SnsTopicArn); } List <SelectorRecord> removedRecords = currentSelectorRecords.Except(newSelectorRecords, _selectorRecordEqualityComparer).ToList(); if (removedRecords.Any()) { List <SelectorRecords> selectorRecords = removedRecords .GroupBy(x => x.Selector, y => y.Record) .Select(x => new SelectorRecords(x.Key, x.ToList())) .ToList(); DkimRecordRemoved dkimDnsRecordRemoved = new DkimRecordRemoved(state.Id, selectorRecords); _dispatcher.Dispatch(dkimDnsRecordRemoved, _dkimEntityConfig.SnsTopicArn); } } }