public void DeleteAllInLoop() { string nextCursor = String.Empty; do { var response = m_cloudinary.ListUploadPresets(nextCursor); nextCursor = response.NextCursor; foreach (var preset in response.Presets) { m_cloudinary.DeleteUploadPreset(preset.Name); } } while (!String.IsNullOrEmpty(nextCursor)); HashSet<string> types = new HashSet<string>(); do { var listParams = new ListResourcesParams() { NextCursor = nextCursor, MaxResults = 500 }; var existingResources = m_cloudinary.ListResources(listParams); nextCursor = existingResources.NextCursor; foreach (var res in existingResources.Resources) { types.Add(res.Type); } } while (!String.IsNullOrEmpty(nextCursor)); foreach (var type in types) { var deleteParams = new DelResParams() { Type = type, All = true }; m_cloudinary.DeleteResources(deleteParams); } }
/// <summary> /// Lists resources. /// </summary> /// <param name="parameters">The parameters.</param> public ListResourcesResult ListResources(ListResourcesParams parameters) { var url = m_api.ApiUrlV. ResourceType("resources"). Add(Api.GetCloudinaryParam<ResourceType>(parameters.ResourceType)); if (parameters is ListResourcesByTagParams) { var tagParams = (ListResourcesByTagParams)parameters; if (!String.IsNullOrEmpty(tagParams.Tag)) url.Add("tags").Add(tagParams.Tag); } if (parameters is ListResourcesByModerationParams) { var modParams = (ListResourcesByModerationParams)parameters; if (!String.IsNullOrEmpty(modParams.ModerationKind)) { url .Add("moderations") .Add(modParams.ModerationKind) .Add(Api.GetCloudinaryParam<ModerationStatus>(modParams.ModerationStatus)); } } UrlBuilder urlBuilder = new UrlBuilder( url.BuildUrl(), parameters.ToParamsDictionary()); using (HttpWebResponse response = m_api.Call( HttpMethod.GET, urlBuilder.ToString(), null, null)) { ListResourcesResult result = ListResourcesResult.Parse(response); return result; } }
public ListResourcesResult ListResources(ListResourcesParams parameters) { UrlBuilder urlBuilder = new UrlBuilder( m_api.ApiUrlV. ResourceType("resources"). Add(Api.GetCloudinaryParam<ResourceType>(parameters.ResourceType)). Add(!String.IsNullOrEmpty(parameters.Tag) ? String.Format("tags/{0}", parameters.Tag) : String.Empty). BuildUrl()); foreach (var param in parameters.ToParamsDictionary()) { urlBuilder.QueryString[param.Key] = param.Value.ToString(); } using (HttpWebResponse response = m_api.Call( HttpMethod.GET, urlBuilder.ToString(), null, null)) { ListResourcesResult result = ListResourcesResult.Parse(response); return result; } }
public void TestResourcesCursor() { // should allow listing resources with cursor var uploadParams = new ImageUploadParams() { File = new FileDescription(m_testImagePath), PublicId = "testlistresources1" }; m_cloudinary.Upload(uploadParams); uploadParams = new ImageUploadParams() { File = new FileDescription(m_testImagePath), PublicId = "testlistresources2" }; m_cloudinary.Upload(uploadParams); var listParams = new ListResourcesParams() { ResourceType = ResourceType.Image, MaxResults = 1 }; var result1 = m_cloudinary.ListResources(listParams); Assert.IsNotNull(result1.Resources); Assert.AreEqual(1, result1.Resources.Length); Assert.IsFalse(String.IsNullOrEmpty(result1.NextCursor)); listParams.NextCursor = result1.NextCursor; var result2 = m_cloudinary.ListResources(listParams); Assert.IsNotNull(result2.Resources); Assert.AreEqual(1, result2.Resources.Length); Assert.AreNotEqual(result1.Resources[0].PublicId, result2.Resources[0].PublicId); }