Merge remote-tracking branch 'origin/release/13.0' into v13/dev
This commit is contained in:
@@ -56,6 +56,12 @@ public interface IPublishedPropertyType
|
||||
/// </summary>
|
||||
PropertyCacheLevel DeliveryApiCacheLevel { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the property cache level for Delivery API representation when expanding the property.
|
||||
/// </summary>
|
||||
/// <remarks>Defaults to the value of <see cref="DeliveryApiCacheLevel"/>.</remarks>
|
||||
PropertyCacheLevel DeliveryApiCacheLevelForExpansion => DeliveryApiCacheLevel;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the property model CLR type.
|
||||
/// </summary>
|
||||
|
||||
@@ -21,6 +21,7 @@ namespace Umbraco.Cms.Core.Models.PublishedContent
|
||||
private IPropertyValueConverter? _converter;
|
||||
private PropertyCacheLevel _cacheLevel;
|
||||
private PropertyCacheLevel _deliveryApiCacheLevel;
|
||||
private PropertyCacheLevel _deliveryApiCacheLevelForExpansion;
|
||||
|
||||
private Type? _modelClrType;
|
||||
private Type? _clrType;
|
||||
@@ -192,9 +193,15 @@ namespace Umbraco.Cms.Core.Models.PublishedContent
|
||||
}
|
||||
|
||||
_cacheLevel = _converter?.GetPropertyCacheLevel(this) ?? PropertyCacheLevel.Snapshot;
|
||||
_deliveryApiCacheLevel = _converter is IDeliveryApiPropertyValueConverter deliveryApiPropertyValueConverter
|
||||
? deliveryApiPropertyValueConverter.GetDeliveryApiPropertyCacheLevel(this)
|
||||
: _cacheLevel;
|
||||
if (_converter is IDeliveryApiPropertyValueConverter deliveryApiPropertyValueConverter)
|
||||
{
|
||||
_deliveryApiCacheLevel = deliveryApiPropertyValueConverter.GetDeliveryApiPropertyCacheLevel(this);
|
||||
_deliveryApiCacheLevelForExpansion = deliveryApiPropertyValueConverter.GetDeliveryApiPropertyCacheLevelForExpansion(this);
|
||||
}
|
||||
else
|
||||
{
|
||||
_deliveryApiCacheLevel = _deliveryApiCacheLevelForExpansion = _cacheLevel;
|
||||
}
|
||||
_modelClrType = _converter?.GetPropertyValueType(this) ?? typeof(object);
|
||||
}
|
||||
|
||||
@@ -244,6 +251,20 @@ namespace Umbraco.Cms.Core.Models.PublishedContent
|
||||
}
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public PropertyCacheLevel DeliveryApiCacheLevelForExpansion
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!_initialized)
|
||||
{
|
||||
Initialize();
|
||||
}
|
||||
|
||||
return _deliveryApiCacheLevelForExpansion;
|
||||
}
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public object? ConvertSourceToInter(IPublishedElement owner, object? source, bool preview)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user