public async Task <IActionResult> VersionsPostAsync( [HttpTrigger(AuthorizationLevel.Function, FunctionConstants.FunctionPost, Route = "packages/{packageIdentifier}/versions")] HttpRequest req, string packageIdentifier, ILogger log) { Dictionary <string, string> headers = null; Version version = null; try { // Parse Headers headers = HeaderProcessor.ToDictionary(req.Headers); // Parse body as Version version = await Parser.StreamParser <Version>(req.Body, log); ApiDataValidator.Validate(version); // Save Document await this.dataStore.AddVersion(packageIdentifier, version); } catch (DefaultException e) { log.LogError(e.ToString()); return(ActionResultHelper.ProcessError(e.InternalRestError)); } catch (Exception e) { log.LogError(e.ToString()); return(ActionResultHelper.UnhandledError(e)); } return(new ApiObjectResult(new ApiResponse <Version>(version))); }
public async Task <IActionResult> ManifestPostAsync( [HttpTrigger(AuthorizationLevel.Function, FunctionConstants.FunctionPost, Route = "packageManifests")] HttpRequest req, ILogger log) { Dictionary <string, string> headers = null; PackageManifest packageManifest = null; try { // Parse Headers headers = HeaderProcessor.ToDictionary(req.Headers); // Parse Stream packageManifest = await Parser.StreamParser <PackageManifest>(req.Body, log); ApiDataValidator.Validate(packageManifest); await this.dataStore.AddPackageManifest(packageManifest); } catch (DefaultException e) { log.LogError(e.ToString()); return(ActionResultHelper.ProcessError(e.InternalRestError)); } catch (Exception e) { log.LogError(e.ToString()); return(ActionResultHelper.UnhandledError(e)); } return(new ApiObjectResult(new ApiResponse <PackageManifest>(packageManifest))); }
/// <inheritdoc/> public IEnumerable <ValidationResult> Validate(ValidationContext validationContext) { // Create Validation Results var results = new List <ValidationResult>(); // Validate Optional Members if (this.WindowsLibraries != null) { ApiDataValidator.Validate(this.WindowsLibraries, results); } if (this.WindowsFeatures != null) { ApiDataValidator.Validate(this.WindowsFeatures, results); } if (this.PackageDependencies != null) { ApiDataValidator.Validate(this.PackageDependencies, results); } if (this.ExternalDependencies != null) { ApiDataValidator.Validate(this.ExternalDependencies, results); } // Return Results return(results); }
/// <summary> /// This updates a Manifest to update match another Manifest. /// </summary> /// <param name="packageManifest">Manifest.</param> public void Update(PackageManifest packageManifest) { // Verify Parameters not null ApiDataValidator.NotNull(packageManifest); this.Update(packageManifest.ToPackage()); }
/// <inheritdoc /> public virtual IEnumerable <ValidationResult> Validate(ValidationContext validationContext) { // Create Validation Results List <ValidationResult> results = new List <ValidationResult>(); // Check if Null and Not Allowed if (!this.AllowNull && this.Count == 0) { results.Add(new ValidationResult($"{validationContext.DisplayName} in {validationContext.ObjectType} must not be empty.")); return(results); } // Validate All Member Objects if (this.MemberValidator != null) { var d = Activator.CreateInstance(this.MemberValidator) as IApiStringValidator; foreach (T member in this) { results.Add(d.ValidateApiString(member, validationContext)); } } else if (this.ValidateMembers) { foreach (T member in this) { ApiDataValidator.Validate(member, results); } } // Validate Min Items if (this.MinItems != 0) { if (this.Count < this.MinItems) { results.Add(new ValidationResult($"{validationContext.DisplayName} in {validationContext.ObjectType} does not meet minimum item requirement: {this.MinItems}.")); } } // Validate Max Items if (this.MaxItems != 0) { if (this.Count > this.MaxItems) { results.Add(new ValidationResult($"{validationContext.DisplayName} in {validationContext.ObjectType} does not meet maximum item requirement: {this.MaxItems}.")); } } // Validate Unique Items if (this.UniqueItems) { if (this.Distinct().Count() < this.Count()) { results.Add(new ValidationResult($"{validationContext.DisplayName} in {validationContext.ObjectType} does not meet unique item requirement.")); } } // Return Results return(results); }
/// <summary> /// Update Locale. /// </summary> /// <param name="obj">Locale to Update.</param> public void UpdateLocale(Locale obj) { // Verify Parameters not null ApiDataValidator.NotNull(obj); // Verify Locales is not null. this.AssertLocalesNotNull(); this.Locales.Update(obj); }
/// <summary> /// Update Installer. /// </summary> /// <param name="obj">Installer to Update.</param> public void UpdateInstaller(Installer obj) { // Verify Parameters not null ApiDataValidator.NotNull(obj); // Verify Installers is not null. this.AssertInstallersNotNull(); this.Installers.Update(obj); }
/// <summary> /// Remove an Installer. /// </summary> /// <param name="installerIdentifier">Installer Identifier to remove.</param> public void Remove(string installerIdentifier) { // Verify Parameters not null ApiDataValidator.NotNull(installerIdentifier); // Verify installer exists this.AssertInstallerExists(installerIdentifier); this.RemoveAll(installer => installer.InstallerIdentifier == installerIdentifier); }
/// <summary> /// Update a Version. /// </summary> /// <param name="version">Version to Update.</param> public void UpdateVersion(Version version) { // Verify Parameters not null ApiDataValidator.NotNull(version); // Assert Versions not null this.AssertVersionsNotNull(); this.Versions.Update(version); }
/// <summary> /// Get Locale. /// </summary> /// <param name="packageLocale">Locale to Get.</param> /// <param name="packageVersion">Package Version to get in.</param> /// <returns>Locales.</returns> public Locales GetLocale(string packageLocale, string packageVersion) { // Verify Parameters not null ApiDataValidator.NotNull(packageVersion); // Assert Versions not null this.AssertVersionsNotNull(); return(this.Versions.GetLocale(packageLocale, packageVersion)); }
/// <summary> /// Get Installers. /// </summary> /// <param name="installerIdentifier">Installer to Get.</param> /// <param name="packageVersion">Package Version to get in.</param> /// <returns>Installers.</returns> public Installers GetInstaller(string installerIdentifier, string packageVersion) { // Verify Parameters not null ApiDataValidator.NotNull(packageVersion); // Assert Versions not null this.AssertVersionsNotNull(); return(this.Versions.GetInstaller(installerIdentifier, packageVersion)); }
/// <summary> /// Remove an Locale. /// </summary> /// <param name="packageLocale">Package Locale to remove.</param> public void Remove(string packageLocale) { // Verify Parameters not null ApiDataValidator.NotNull(packageLocale); // Verify locale exists this.AssertLocaleExists(packageLocale); this.RemoveAll(locale => locale.PackageLocale == packageLocale); }
/// <summary> /// Add new Locale. /// </summary> /// <param name="obj">Locale to add.</param> public new void Add(Locale obj) { // Verify Parameters not null ApiDataValidator.NotNull(obj); // Verify locale does not exist this.AssertLocaleDoesNotExists(obj.PackageLocale); base.Add(obj); }
/// <summary> /// Add new Installer. /// </summary> /// <param name="obj">Installer to add.</param> public new void Add(Installer obj) { // Verify Parameters not null ApiDataValidator.NotNull(obj); // Verify installer does not exist this.AssertInstallerDoesNotExists(obj.InstallerIdentifier); base.Add(obj); }
/// <summary> /// Get Locale. /// </summary> /// <param name="packageLocale">Package Locale to get.</param> /// <param name="packageVersion">Version to get from.</param> /// <returns>Installers.</returns> public Locales GetLocale(string packageLocale, string packageVersion) { // Verify Parameters not null ApiDataValidator.NotNull(packageVersion); // Verify Version exists this.AssertVersionExists(packageVersion); // Get return(this[this.FindIndex(0, extended => extended.PackageVersion == packageVersion)].GetLocale(packageLocale)); }
/// <summary> /// Remove an Installer. /// </summary> /// <param name="installerIdentifier">Installer to Update.</param> /// <param name="packageVersion">Package Version to update in.</param> public void RemoveInstaller(string installerIdentifier, string packageVersion) { // Verify Parameters not null ApiDataValidator.NotNull(installerIdentifier); ApiDataValidator.NotNull(packageVersion); // Assert Versions not null this.AssertVersionsNotNull(); this.Versions.RemoveInstaller(installerIdentifier, packageVersion); }
/// <summary> /// Update an Installer. /// </summary> /// <param name="installer">Installer to Update.</param> /// <param name="packageVersion">Package Version to update in.</param> public void UpdateInstaller(Installer installer, string packageVersion) { // Verify Parameters not null ApiDataValidator.NotNull(installer); ApiDataValidator.NotNull(packageVersion); // Assert Versions not null this.AssertVersionsNotNull(); this.Versions.UpdateInstaller(installer, packageVersion); }
/// <summary> /// Update an Installer. /// </summary> /// <param name="obj">New Installer.</param> public void Update(Installer obj) { // Verify Parameters not null ApiDataValidator.NotNull(obj); // Verify installer exists this.AssertInstallerExists(obj.InstallerIdentifier); // Update this[this.FindIndex(0, installer => installer.InstallerIdentifier == obj.InstallerIdentifier)].Update(obj); }
/// <summary> /// Add a version. /// </summary> /// <param name="obj">Version to Add.</param> public void Add(Version obj) { // Verify Parameters not null ApiDataValidator.NotNull(obj); // Verify Version does not exists this.AssertVersionDoesNotExists(obj.PackageVersion); // Add base.Add(new VersionExtended(obj)); }
/// <summary> /// Remove an Installer. /// </summary> /// <param name="packageVersion">Installer Identifier to remove.</param> public void Remove(string packageVersion) { // Verify Parameters not null ApiDataValidator.NotNull(packageVersion); // Verify Version exists this.AssertVersionExists(packageVersion); // Remove this.RemoveAll(versionExtended => versionExtended.PackageVersion == packageVersion); }
/// <summary> /// Update a Version. /// </summary> /// <param name="obj">The new Version.</param> public void Update(VersionExtended obj) { // Verify Parameters not null ApiDataValidator.NotNull(obj); // Verify Version exists this.AssertVersionExists(obj.PackageVersion); // Update this[this.FindIndex(0, version => version.PackageVersion == obj.PackageVersion)].Update(obj); }
/// <summary> /// Remove an Locale. /// </summary> /// <param name="packageLocale">Locale to Update.</param> /// <param name="packageVersion">Package Version to update in.</param> public void RemoveLocale(string packageLocale, string packageVersion) { // Verify Parameters not null ApiDataValidator.NotNull(packageLocale); ApiDataValidator.NotNull(packageVersion); // Assert Versions not null this.AssertVersionsNotNull(); this.Versions.RemoveLocale(packageLocale, packageVersion); }
/// <summary> /// Update an Locale. /// </summary> /// <param name="obj">New Locale.</param> public void Update(Locale obj) { // Verify Parameters not null ApiDataValidator.NotNull(obj); // Verify locale exists this.AssertLocaleExists(obj.PackageLocale); // Update this[this.FindIndex(0, installer => installer.PackageLocale == obj.PackageLocale)].Update(obj); }
/// <summary> /// Get Installer. /// </summary> /// <param name="installerIdentifier">Installer Identity to get.</param> /// <param name="packageVersion">Version to get from.</param> /// <returns>Installers.</returns> public Installers GetInstaller(string installerIdentifier, string packageVersion) { // Verify Parameters not null ApiDataValidator.NotNull(packageVersion); // Verify Version exists this.AssertVersionExists(packageVersion); // Get return(this[this.FindIndex(0, extended => extended.PackageVersion == packageVersion)].GetInstaller(installerIdentifier)); }
/// <summary> /// Remove an locale. /// </summary> /// <param name="packageLocale">Package Locale to remove.</param> /// <param name="packageVersion">Version to remove from.</param> public void RemoveLocale(string packageLocale, string packageVersion) { // Verify Parameters not null ApiDataValidator.NotNull(packageLocale); ApiDataValidator.NotNull(packageVersion); // Verify Version exists this.AssertVersionExists(packageVersion); // Remove this[this.FindIndex(0, extended => extended.PackageVersion == packageVersion)].RemoveLocale(packageLocale); }
/// <summary> /// Update an Locale. /// </summary> /// <param name="obj">Locale to Update.</param> /// <param name="packageVersion">Version to Update in.</param> public void UpdateLocale(Locale obj, string packageVersion) { // Verify Parameters not null ApiDataValidator.NotNull(obj); ApiDataValidator.NotNull(packageVersion); // Verify Version exists this.AssertVersionExists(packageVersion); // Update this[this.FindIndex(0, extended => extended.PackageVersion == packageVersion)].UpdateLocale(obj); }
/// <summary> /// Remove an installer. /// </summary> /// <param name="installerIdentifier">Installer Identity to remove.</param> /// <param name="packageVersion">Version to remove from.</param> public void RemoveInstaller(string installerIdentifier, string packageVersion) { // Verify Parameters not null ApiDataValidator.NotNull(installerIdentifier); ApiDataValidator.NotNull(packageVersion); // Verify Version exists this.AssertVersionExists(packageVersion); // Remove this[this.FindIndex(0, extended => extended.PackageVersion == packageVersion)].RemoveInstaller(installerIdentifier); }
/// <summary> /// Add Locale. /// </summary> /// <param name="obj">Locale to Add.</param> /// <param name="packageVersion">Version to add to.</param> public void AddLocale(Locale obj, string packageVersion) { // Verify Parameters not null ApiDataValidator.NotNull(obj); ApiDataValidator.NotNull(packageVersion); // Verify Version exists this.AssertVersionExists(packageVersion); // Add this[this.FindIndex(0, version => version.PackageVersion == packageVersion)].AddLocale(obj); }
/// <summary> /// Add Version. /// </summary> /// <param name="version">Version to add.</param> public void AddVersion(Version version) { // Verify Parameters not null ApiDataValidator.NotNull(version); if (this.Versions == null) { this.Versions = new VersionsExtended(); } this.Versions.Add(version); }
/// <inheritdoc /> public virtual IEnumerable <ValidationResult> Validate(ValidationContext validationContext) { // Create Validation Results var results = new List <ValidationResult>(); if (this.Tags != null) { ApiDataValidator.Validate(this.Tags, results); } // Return Results return(results); }