protected override Task<ValidationResult> Validate(Stream packageStream) { ValidationResult result = new ValidationResult(); JObject apiapp = GetJObject(packageStream, ApiAppMetadata); if (apiapp == null) { result.Errors.Add(string.Format("required file '{0}' is missing from package", ApiAppMetadata)); } else { result.PackageIdentity = ValidationHelpers.ValidateIdentity(apiapp, result.Errors); //CheckRequiredProperty(apiapp, errors, "description"); ValidationHelpers.CheckRequiredProperty(apiapp, result.Errors, "title"); ValidationHelpers.CheckRequiredProperty(apiapp, result.Errors, "summary"); ValidationHelpers.CheckRequiredProperty(apiapp, result.Errors, "author"); ValidationHelpers.CheckRequiredProperty(apiapp, result.Errors, "namespace"); } //CheckRequiredFile(packageStream, result.Errors, "content/metadata/icons/small-icon.png"); //CheckRequiredFile(packageStream, result.Errors, "content/metadata/icons/medium-icon.png"); //CheckRequiredFile(packageStream, result.Errors, "content/metadata/icons/large-icon.png"); //CheckRequiredFile(packageStream, result.Errors, "content/metadata/icons/hero-icon.png"); //CheckRequiredFile(packageStream, result.Errors, "content/metadata/icons/wide-icon.png"); return Task.FromResult(result); }
/// <summary> /// Rejects the module if no PowerShell module manifest was present /// </summary> /// <param name="nupkgStream"></param> /// <returns></returns> protected override Task<ValidationResult> Validate(Stream nupkgStream) { ValidationResult result = new ValidationResult(); if (!_wasPsd1Present) { result.Errors.Add("A psd1 PowerShell module manifest was missing."); return Task.FromResult<ValidationResult>(result); } if (_missingRequiredFields.Count > 0) { result.Errors.Add(string.Format("The psd1 PowerShell module manifest is missing required fields: {0}.", String.Join(", ", _missingRequiredFields))); return Task.FromResult<ValidationResult>(result); } result.PackageIdentity = new PackageIdentity { Namespace = "", Id = "", Version = SemanticVersion.Parse("0.0.0") }; return Task.FromResult<ValidationResult>(result); }
async Task<ValidationResult> Validate(Stream requestStream) { ValidationResult result = new ValidationResult(); JObject metadata; using (StreamReader reader = new StreamReader(requestStream)) { try { metadata = JObject.Parse(await reader.ReadToEndAsync()); result.PackageIdentity = ValidationHelpers.ValidateIdentity(metadata, result.Errors); } catch (FormatException) { result.Errors.Add("request could not be parsed as JSON"); } } return result; }