/// <summary>
        /// Updates content moderation entity
        /// </summary>
        /// <param name="storageConsistencyMode">consistency to use</param>
        /// <param name="moderationHandle">uniquely identifies this moderation request</param>
        /// <param name="moderationStatus">Moderation status</param>
        /// <param name="entity"><see cref="IModerationEntity"/> to update</param>
        /// <returns>Content moderation entity update task</returns>
        public async Task UpdateModerationStatus(
            StorageConsistencyMode storageConsistencyMode,
            string moderationHandle,
            ModerationStatus moderationStatus,
            IModerationEntity entity)
        {
            if (string.IsNullOrWhiteSpace(moderationHandle))
            {
                throw new ArgumentNullException("moderationHandle");
            }

            if (entity == null)
            {
                throw new ArgumentNullException("entity");
            }

            // get content moderation table
            CTStore store = await this.tableStoreManager.GetStore(ContainerIdentifier.Moderation);

            ObjectTable lookupTable = this.tableStoreManager.GetTable(
                ContainerIdentifier.Moderation,
                TableIdentifier.ModerationObject) as ObjectTable;

            // update the entity
            entity.ModerationStatus = moderationStatus;

            // update it in the store
            var operation = Operation.Replace(lookupTable, entity.AppHandle, moderationHandle, entity as ModerationEntity);
            await store.ExecuteOperationAsync(operation, storageConsistencyMode.ToConsistencyMode());
        }
Beispiel #2
0
 public GetResourceResult UpdateResource(string publicId, ModerationStatus moderationStatus)
 {
     return(UpdateResource(new UpdateParams(publicId)
     {
         ModerationStatus = moderationStatus
     }));
 }
Beispiel #3
0
 /// <summary>
 /// Lists resources by moderation status.
 /// </summary>
 /// <param name="kind">The moderation kind.</param>
 /// <param name="status">The moderation status.</param>
 /// <param name="tags">Whether to include tags in result.</param>
 /// <param name="context">Whether to include context in result.</param>
 /// <param name="moderations">Whether to include moderation status in result.</param>
 /// <param name="nextCursor">The next cursor.</param>
 /// <returns></returns>
 public ListResourcesResult ListResourcesByModerationStatus(string kind, ModerationStatus status, bool tags = true, bool context = true, bool moderations = true, string nextCursor = null)
 {
     return(ListResources(new ListResourcesByModerationParams()
     {
         ModerationKind = kind,
         ModerationStatus = status,
         Tags = tags,
         Context = context,
         Moderations = moderations,
         NextCursor = nextCursor
     }));
 }
        /// <summary>
        /// Insert a new moderation request to store.
        /// </summary>
        /// <param name="storageConsistencyMode">consistency to use</param>
        /// <param name="moderationHandle">uniquely identifies this moderation request</param>
        /// <param name="imageHandle">image handle</param>
        /// <param name="contentType">the type of content being reported</param>
        /// <param name="contentHandle">content handle</param>
        /// <param name="userHandle">uniquely identifies the content owner</param>
        /// <param name="appHandle">uniquely identifies the app that the content came from</param>
        /// <param name="imageType">image type</param>
        /// <param name="moderationStatus">Moderation status</param>
        /// <param name="createdTime">When the moderation request was received</param>
        /// <returns>a task that inserts the moderation request into the store</returns>
        public async Task InsertModeration(
            StorageConsistencyMode storageConsistencyMode,
            string moderationHandle,
            string imageHandle,
            ContentType contentType,
            string contentHandle,
            string userHandle,
            string appHandle,
            ImageType imageType,
            ModerationStatus moderationStatus,
            DateTime createdTime)
        {
            // get content moderation table
            CTStore store = await this.tableStoreManager.GetStore(ContainerIdentifier.Moderation);

            ObjectTable lookupTable = this.tableStoreManager.GetTable(
                ContainerIdentifier.Moderation,
                TableIdentifier.ModerationObject) as ObjectTable;

            // create content moderation entity
            ModerationEntity contentModerationEntity = new ModerationEntity()
            {
                AppHandle        = appHandle,
                ContentHandle    = contentHandle,
                ContentType      = contentType,
                ImageHandle      = imageHandle,
                ImageType        = imageType,
                UserHandle       = userHandle,
                ModerationStatus = moderationStatus,
                CreatedTime      = createdTime
            };

            var operation = Operation.Insert(lookupTable, appHandle, moderationHandle, contentModerationEntity);

            // execute insert operation
            await store.ExecuteOperationAsync(operation, storageConsistencyMode.ToConsistencyMode());
        }
 public GetResourceResult UpdateResource(string publicId, ModerationStatus moderationStatus)
 {
     return UpdateResource(new UpdateParams(publicId) { ModerationStatus = moderationStatus });
 }
 /// <summary>
 /// Lists resources by moderation status.
 /// </summary>
 /// <param name="kind">The moderation kind.</param>
 /// <param name="status">The moderation status.</param>
 /// <param name="tags">Whether to include tags in result.</param>
 /// <param name="context">Whether to include context in result.</param>
 /// <param name="moderations">Whether to include moderation status in result.</param>
 /// <param name="nextCursor">The next cursor.</param>
 /// <returns></returns>
 public ListResourcesResult ListResourcesByModerationStatus(string kind, ModerationStatus status, bool tags = true, bool context = true, bool moderations = true, string nextCursor = null)
 {
     return ListResources(new ListResourcesByModerationParams()
     {
         ModerationKind = kind,
         ModerationStatus = status,
         Tags = tags,
         Context = context,
         Moderations = moderations,
         NextCursor = nextCursor
     });
 }
Beispiel #7
0
 public static GetResourceResult UpdateResource(this Cloudinary cloudinary, string publicId, ModerationStatus moderationStatus)
 {
     return(cloudinary.UpdateResource(new UpdateParams(publicId)
     {
         ModerationStatus = moderationStatus
     }));
 }
Beispiel #8
0
        public static ListResourcesResult ListResourcesByModerationStatus(this Cloudinary cloudinary, string kind, ModerationStatus status, bool tags = true, bool context = true, bool moderations = true, string nextCursor = null)
        {
            var moderationParams = new ListResourcesByModerationParams
            {
                ModerationKind   = kind,
                ModerationStatus = status,
                Tags             = tags,
                Context          = context,
                Moderations      = moderations,
                NextCursor       = nextCursor
            };

            return(cloudinary.ListResources(moderationParams));
        }