/// <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);
            }
        }
Ejemplo n.º 3
0
        /// <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);
        }