public async Task Handle(DkimRecordEvaluationResult message) { string id = message.Id.ToLower(); DkimEntityState state = await LoadDkimState(id, message.Timestamp, nameof(DkimRecordEvaluationResult)); if (!state.CanUpdate(nameof(DkimRecordEvaluationResult).ToLower(), message.Timestamp)) { _log.LogInformation("Cannot handle event DkimRecordEvaluationResult as newer state exists for {id}."); return; } _changeNotifierComposite.Handle(state, message); _domainStatusPublisher.Publish(message); List <DkimSelector> selectors = message.ToDkimSelectors(); state.UpdateRecords(selectors, message.Timestamp); DkimEvaluationUpdated evaluationUpdated = state.UpdateEvaluations(message.Timestamp); state.Version++; state.UpdateSource(nameof(DkimRecordEvaluationResult).ToLower(), message.Timestamp); await _dao.Save(state); _dispatcher.Dispatch(evaluationUpdated, _config.SnsTopicArn); _log.LogInformation("Updated DkimEntity evaluation results for {Id}", id); }
public async Task Handle(DkimRecordsExpired message) { string id = message.Id.ToLower(); DkimEntityState state = await LoadDkimState(id, message.Timestamp, nameof(DkimRecordsExpired)); if (!state.CanUpdate(nameof(DkimRecordsExpired).ToLower(), message.Timestamp)) { _log.LogInformation($"Cannot handle event DkimRecordsExpired as newer state exists for {id}."); return; } DkimPollPending dkimPollPending = state.UpdatePendingState(); state.Version++; await _dao.Save(state); _dispatcher.Dispatch(dkimPollPending, _config.SnsTopicArn); _log.LogInformation("Updated DkimEntity poll pending state for {Id}", id); }
public async Task Handle(DkimSelectorsSeen message) { string id = message.Id.ToLower(); DkimEntityState state = await LoadDkimState(id, message.Timestamp, nameof(DkimSelectorsSeen)); if (!state.CanUpdate(nameof(DkimSelectorsSeen).ToLower(), message.Timestamp)) { _log.LogInformation($"Cannot handle event DkimSelectorsSeen as newer state exists for {id}."); return; } List <DkimSelector> selectors = message.ToDkimSelectors(); if (state.UpdateSelectors(selectors, out DkimSelectorsUpdated dkimSelectorsUpdated)) { state.Version++; state.UpdateSource(nameof(DkimSelectorsSeen).ToLower(), message.Timestamp); await _dao.Save(state); _dispatcher.Dispatch(dkimSelectorsUpdated, _config.SnsTopicArn); _log.LogInformation("Updated DkimEntity selectors for {Id} to {Selectors}.", id, message.Selectors); } }