Skip to content

Commit 6431ee8

Browse files
author
kasperhhk
committed
add dependencies to dataresolver, fix now-obsolete (due to upgrading the courier binaries) references, add minor logging
1 parent ee510d6 commit 6431ee8

File tree

1 file changed

+24
-5
lines changed

1 file changed

+24
-5
lines changed

src/RJP.MultiUrlPicker.Courier/MultiUrlPickerDataResolverProvider.cs

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using Newtonsoft.Json.Linq;
77

88
using Umbraco.Courier.Core;
9+
using Umbraco.Courier.Core.Logging;
910
using Umbraco.Courier.DataResolvers;
1011
using Umbraco.Courier.ItemProviders;
1112

@@ -30,9 +31,27 @@ public override void PackagingProperty(Item item, ContentProperty propertyData)
3031
{
3132
if (link.id != null)
3233
{
33-
link.id = ExecutionContext.DatabasePersistence.GetUniqueId(
34-
(int)link.id,
35-
link.isMedia != null ? NodeObjectTypes.Media : NodeObjectTypes.Document);
34+
var objectTypeId = link.isMedia != null
35+
? UmbracoNodeObjectTypeIds.Media
36+
: UmbracoNodeObjectTypeIds.Document;
37+
var itemProviderId = link.isMedia != null
38+
? ItemProviderIds.mediaItemProviderGuid
39+
: ItemProviderIds.documentItemProviderGuid;
40+
41+
link.id = ExecutionContext.DatabasePersistence.GetUniqueId((int)link.id, objectTypeId);
42+
item.Dependencies.Add(link.id.ToString(), itemProviderId);
43+
}
44+
else if (link.isMedia != null)
45+
{
46+
try
47+
{
48+
var mediaId = ExecutionContext.DatabasePersistence.GetUniqueIdFromMediaFile(link.url);
49+
item.Dependencies.Add(mediaId.ToString(), ItemProviderIds.mediaItemProviderGuid);
50+
}
51+
catch (Exception e)
52+
{
53+
CourierLogHelper.Error<MultiUrlPickerDataResolverProvider>(string.Format("Error setting media-item dependency, name={0}, url={1}", link.name, link.url), e);
54+
}
3655
}
3756
}
3857
propertyData.Value = links.ToString();
@@ -53,10 +72,10 @@ public override void ExtractingProperty(Item item, ContentProperty propertyData)
5372
{
5473
link.id = ExecutionContext.DatabasePersistence.GetNodeId(
5574
(Guid)link.id,
56-
link.isMedia != null ? NodeObjectTypes.Media : NodeObjectTypes.Document);
75+
link.isMedia != null ? UmbracoNodeObjectTypeIds.Media : UmbracoNodeObjectTypeIds.Document);
5776
}
5877
}
59-
propertyData.Value = links.ToString();
78+
propertyData.Value = links;
6079
}
6180
}
6281
}

0 commit comments

Comments
 (0)