public async Task <IActionResult> RecheckDkim(DkimInfoRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new ErrorResponse(ModelState.Values)));
            }

            DkimRecordsExpired recordsExpired = new DkimRecordsExpired(request.Domain, Guid.NewGuid().ToString(), null);

            await _messagePublisher.Publish(recordsExpired, _config.SnsTopicArn);

            return(new OkObjectResult("{}"));
        }
        public async Task <IActionResult> GetDkim(DkimInfoRequest request)
        {
            EntityDkimEntityState dkimEntityState = await _dkimService.GetDkimForDomain(request.Domain);

            if (dkimEntityState == null)
            {
                return(new NotFoundObjectResult(new ErrorResponse($"No Dkim found for {request.Domain}",
                                                                  ErrorStatus.Information)));
            }

            DkimResponse response = _dkimEntityToApiMapper.ToDkimResponse(dkimEntityState);

            return(new ObjectResult(response));
        }
        public async Task <IActionResult> GetDkimHistory(DkimInfoRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new ErrorResponse(ModelState.Values)));
            }

            string history = await _dao.GetDkimHistory(request.Domain);

            if (history == null)
            {
                return(new NotFoundObjectResult(new ErrorResponse($"No Dkim History found for {request.Domain}",
                                                                  ErrorStatus.Information)));
            }

            return(Content(history, "application/json"));
        }