public async Task <IActionResult> UpdateProjectDataModel(int projectId, int modelId, UpdateProjectDataModelDto projectDataModel)
        {
            _logger.LogRequest("Updating data model {modelId} in project {projectId}. Request body: {@projectDataModel}", modelId, projectId, projectDataModel);

            try
            {
                if (modelId != projectDataModel.Id)
                {
                    _logger.LogWarning("Model Id doesn't match");
                    return(BadRequest("Model Id doesn't match."));
                }

                var updatedModel = _mapper.Map <ProjectDataModel>(projectDataModel);
                await _projectDataModelService.UpdateDataModel(updatedModel);

                _logger.LogResponse("Data model {modelId} in project {projectId} updated", modelId, projectId);

                return(Ok());
            }
            catch (DuplicateProjectDataModelException ex)
            {
                _logger.LogWarning(ex, "Duplicate project data model name");
                return(BadRequest(ex.Message));
            }
        }