/// <summary> /// Validate tasks. Checks that there are no missing parameters in the tasks. /// </summary> /// <param name="apiSession">api session</param> /// <param name="projectPath">project path like /path/to/project.morph </param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <ValidateTasksResult> ValidateTasksAsync(ApiSession apiSession, string projectPath, CancellationToken cancellationToken) { if (apiSession == null) { throw new ArgumentNullException(nameof(apiSession)); } if (string.IsNullOrWhiteSpace(projectPath)) { throw new ArgumentException(nameof(projectPath)); } var spaceName = apiSession.SpaceName; var url = "commands/validatetasks"; var request = new ValidateTasksRequestDto { SpaceName = spaceName, ProjectPath = projectPath }; using (var response = await GetHttpClient().SendAsync(BuildHttpRequestMessage(HttpMethod.Post, url, JsonSerializationHelper.SerializeAsStringContent(request), apiSession), cancellationToken)) { var dto = await HandleResponse <ValidateTasksResponseDto>(response); var entity = ValidateTasksResponseMapper.MapFromDto(dto); return(entity); } }
/// <summary> /// Validate tasks. Checks that there are no missing parameters in the tasks. /// </summary> /// <param name="apiSession">api session</param> /// <param name="projectPath">project path like /path/to/project.morph </param> /// <param name="cancellationToken"></param> /// <returns></returns> public Task <ValidateTasksResult> ValidateTasksAsync(ApiSession apiSession, string projectPath, CancellationToken cancellationToken) { if (apiSession == null) { throw new ArgumentNullException(nameof(apiSession)); } if (string.IsNullOrWhiteSpace(projectPath)) { throw new ArgumentException("projectPath is empty", nameof(projectPath)); } return(Wrapped(async(token) => { var request = new ValidateTasksRequestDto { SpaceName = apiSession.SpaceName, ProjectPath = projectPath }; var apiResult = await _lowLevelApiClient.ValidateTasksAsync(apiSession, request, token); return MapOrFail(apiResult, (dto) => ValidateTasksResponseMapper.MapFromDto(dto)); }, cancellationToken, OperationType.ShortOperation)); }