public async Task ShouldUpdateMetadata() { /// Arrange var contentId = await _fixture.GetRandomContentIdAsync(".jpg", 20); var request = new ContentMetadataUpdateRequest { Id = contentId, SchemaIds = new List <string> { "Drive" }, Metadata = new DataDictionary { { "Drive", new Dictionary <string, object> { { "location", "test" } } } } }; /// Act var response = await _client.Contents.UpdateMetadataAsync(contentId, request, true); /// Assert Assert.True(true); }
public async Task ShouldUpdateMetadataMany() { /// Arrange var contentId1 = await _fixture.GetRandomContentIdAsync(".jpg", 20); var contentId2 = await _fixture.GetRandomContentIdAsync(".jpg", 20); var request1 = new ContentMetadataUpdateRequest { Id = contentId1, SchemaIds = new List <string> { "Drive" }, Metadata = new DataDictionary { { "Drive", new Dictionary <string, object> { { "location", "Content1" } } } } }; var request2 = new ContentMetadataUpdateRequest { Id = contentId2, SchemaIds = new List <string> { "Drive" }, Metadata = new DataDictionary { { "Drive", new Dictionary <string, object> { { "location", "Content2" } } } } }; /// Act var waitResult = await _client.Contents.UpdateMetadataManyAsync(new ContentMetadataUpdateManyRequest { AllowMissingDependencies = false, Requests = new List <ContentMetadataUpdateRequest> { request1, request2 } }); var result = await _client.BusinessProcesses.WaitForCompletionAsync(waitResult.Id); /// Assert Assert.Equal(BusinessProcessLifeCycle.Succeeded, result.BusinessProcess.LifeCycle); }
private async Task CreateOrUpdateCompoundAssetsAsync(IList <PictureparkAsset> targetAssets) { foreach (PictureparkAsset targetAsset in targetAssets) { var targetAssetParts = targetAsset.AssetParts; if (targetAssetParts.Count == 0) { continue; } if (string.IsNullOrEmpty(targetAsset.TargetAssetUuid)) { var contentCreateRequest = new ContentCreateRequest() { ContentSchemaId = nameof(SmintIoCompoundAsset), Content = GetCompoundAssetsMetadata(targetAsset, targetAssetParts), LayerSchemaIds = new[] { nameof(SmintIoContentLayer), nameof(SmintIoLicenseLayer) }, Metadata = targetAsset.GetMetadata() }; await _client.Content.CreateAsync(contentCreateRequest); } else { var contentUpdateRequest = new ContentMetadataUpdateRequest() { Content = GetCompoundAssetsMetadata(targetAsset, targetAssetParts), LayerSchemaIds = new[] { nameof(SmintIoContentLayer), nameof(SmintIoLicenseLayer) }, Metadata = targetAsset.GetMetadata(), LayerSchemasUpdateOptions = UpdateOption.Merge, ContentFieldsUpdateOptions = UpdateOption.Replace }; await _client.Content.UpdateMetadataAsync(targetAsset.TargetAssetUuid, contentUpdateRequest); } } }
public async Task ShouldSetLayerAndResolveDisplayValues() { /// Arrange var schemas = await _client.Schemas.GenerateSchemasAsync(typeof(PersonShot)); foreach (var schema in schemas) { await _client.Schemas.CreateOrUpdateAndWaitForCompletionAsync(schema, true); } var contentId = await _fixture.GetRandomContentIdAsync(".jpg", 20); var request = new ContentMetadataUpdateRequest { Id = contentId, SchemaIds = new List <string> { "PersonShot" }, Metadata = new DataDictionary { { "PersonShot", new Dictionary <string, object> { { "Description", "test description" } } } } }; /// Act var response = await _client.Contents.UpdateMetadataAsync(contentId, request, true, patterns : new List <DisplayPatternType> { DisplayPatternType.Name }); /// Assert Assert.Equal("test description", ((JObject)response.Metadata["personShot"])["displayValue"]["name"].ToString()); }