public async Task <IActionResult> GetArtifacts(string ids = null, string title = null, ArtifactType?type = null, ArtifactStatus?status = null, int?memberId = null, int?communityId = null, int page = 1, int pageSize = 20) { var criteriaModel = new ArtifactCriteriaModel { Ids = ids?.SafeSplit(), Title = title, Type = type, Status = status, MemberId = memberId, CommunityId = communityId, Page = page, PageSize = pageSize }; var validationResults = _criteriaValidator.Validate(criteriaModel); if (validationResults.IsValid) { return(Ok(await _artifactService.GetArtifacts(criteriaModel).ConfigureAwait(false))); } validationResults.AddToModelState(ModelState, null); return(BadRequest(ModelState)); }