/// <summary> /// lookup the content validation configuration for an app /// </summary> /// <param name="args">command line args</param> /// <returns>a task</returns> private async Task GetValidation(string[] args) { this.ParseLookupValidationArgs(args); this.ValidateGetValidation(); IAppProfileEntity appProfileEntity = await this.appsManager.ReadAppProfile(this.appHandle); if (appProfileEntity == null) { Console.WriteLine("Cannot find app with appHandle = {0}", this.appHandle); Environment.Exit(0); } IValidationConfigurationEntity validationEntity = await this.appsManager.ReadValidationConfiguration(this.appHandle); if (validationEntity != null) { Console.WriteLine("Content validation config for appHandle {0}", this.appHandle); Console.WriteLine(" Validation Enabled = {0}", validationEntity.Enabled); Console.WriteLine(" AllowMatureContent = {0}", validationEntity.AllowMatureContent); Console.WriteLine(" ContentReportThreshold = {0}", validationEntity.ContentReportThreshold); Console.WriteLine(" UserReportThreshold = {0}", validationEntity.UserReportThreshold); Console.WriteLine(" ValidateImages = {0}", validationEntity.ValidateImages); Console.WriteLine(" ValidateText = {0}", validationEntity.ValidateText); } else { Console.WriteLine("Cannot find validation config for appHandle {0}", this.appHandle); } }
/// <summary> /// Update the content validation configuration for an app /// </summary> /// <param name="args">command line args</param> /// <returns>a task</returns> private async Task UpdateValidationConfig(string[] args) { this.ParseValidationArgs(args); this.ValidateUpdateValidationConfig(); // if we are disabling content validation, supply default values for all the other fields if (this.validationEnable == false) { this.validateText = false; this.validateImages = false; this.userReportThreshold = 0; this.contentReportThreshold = 0; this.allowMatureContent = false; } IAppProfileEntity appProfileEntity = await this.appsManager.ReadAppProfile(this.appHandle); if (appProfileEntity == null) { Console.WriteLine("Cannot find app with appHandle = {0}", this.appHandle); Environment.Exit(0); } IValidationConfigurationEntity validationEntity = await this.appsManager.ReadValidationConfiguration(this.appHandle); if (validationEntity != null) { if (appProfileEntity.DeveloperId == this.appDeveloperId) { await this.appsManager.UpdateValidationConfiguration( ProcessType.Frontend, this.appHandle, (bool)this.validationEnable, (bool)this.validateText, (bool)this.validateImages, (int)this.userReportThreshold, (int)this.contentReportThreshold, (bool)this.allowMatureContent, validationEntity); Console.WriteLine("Updated content validation configuration for appHandle = {0}, developerId = {1}", this.appHandle, this.appDeveloperId); } else { Console.WriteLine( "Incorrect developerId: developerId is {0} for appHandle {1}", appProfileEntity.DeveloperId, this.appHandle); } } else { Console.WriteLine("Cannot find validation config for appHandle {0}", this.appHandle); } }
/// <summary> /// Update validation configuration /// </summary> /// <param name="storageConsistencyMode">Storage consistency mode</param> /// <param name="appHandle">App handle</param> /// <param name="validationConfigurationEntity">Validation configuration entity</param> /// <returns>Update validation configuration task</returns> public async Task UpdateValidationConfiguration( StorageConsistencyMode storageConsistencyMode, string appHandle, IValidationConfigurationEntity validationConfigurationEntity) { CTStore store = await this.tableStoreManager.GetStore(ContainerIdentifier.Apps); ObjectTable table = this.tableStoreManager.GetTable(ContainerIdentifier.Apps, TableIdentifier.AppValidationConfigurationsObject) as ObjectTable; Operation operation = Operation.Replace(table, appHandle, appHandle, validationConfigurationEntity as ValidationConfigurationEntity); await store.ExecuteOperationAsync(operation, storageConsistencyMode.ToConsistencyMode()); }
/// <summary> /// Update validation configuration /// </summary> /// <param name="processType">Process type</param> /// <param name="appHandle">App handle</param> /// <param name="enabled">Is enabled</param> /// <param name="validateText">Should validate text</param> /// <param name="validateImages">Should validate images</param> /// <param name="userReportThreshold">User report threshold</param> /// <param name="contentReportThreshold">Content report threshold</param> /// <param name="allowMatureContent">Should allow mature content</param> /// <param name="validationConfigurationEntity">Validation configuration entity</param> /// <returns>Update validation configuration task</returns> public async Task UpdateValidationConfiguration( ProcessType processType, string appHandle, bool enabled, bool validateText, bool validateImages, int userReportThreshold, int contentReportThreshold, bool allowMatureContent, IValidationConfigurationEntity validationConfigurationEntity) { validationConfigurationEntity.Enabled = enabled; validationConfigurationEntity.ValidateText = validateText; validationConfigurationEntity.ValidateImages = validateImages; validationConfigurationEntity.UserReportThreshold = userReportThreshold; validationConfigurationEntity.ContentReportThreshold = contentReportThreshold; validationConfigurationEntity.AllowMatureContent = allowMatureContent; await this.appsStore.UpdateValidationConfiguration(StorageConsistencyMode.Strong, appHandle, validationConfigurationEntity); }