public async Task <ActionResult <JobResponse> > GetByIdAsync([FromRoute] Guid jobId, CancellationToken ctx)
        {
            var result = await _mediator.Send(new GetJobRequest(jobId), ctx);

            if (result.Job is null)
            {
                return(NotFound());
            }

            return(Ok(JobResponse.From(result.Job)));
        }
        public async Task <ActionResult <CreateJobResponse> > CreateAsync([FromBody] Models.CreateJobRequest request, CancellationToken ctx)
        {
            if (!ModelState.IsValid)
            {
                return(UnprocessableEntity(ModelState));
            }

            var result = await _mediator.Send(new Core.Handlers.CreateJobRequest(request.ToJob()), ctx);

            var dto = new CreateJobResponse(
                JobResponse.From(result.Job),
                result.JobExecution is null
                    ? null
                    : JobExecutionResponse.From(result.JobExecution));

            return(StatusCode((int)HttpStatusCode.Created, dto));
        }