using Umbraco.Cms.Core.Configuration.Models; namespace Umbraco.Extensions; public static class ContentSettingsExtensions { /// /// Determines if file extension is allowed for upload based on (optional) allow list and deny list held in settings. /// Disallowed file extensions are only considered if there are no allowed file extensions. /// /// The content settings. /// The file extension. /// /// true if the file extension is allowed for upload; otherwise, false. /// public static bool IsFileAllowedForUpload(this ContentSettings contentSettings, string extension) => contentSettings.AllowedUploadedFileExtensions.Any(x => x.InvariantEquals(extension.Trim())) || (contentSettings.AllowedUploadedFileExtensions.Any() == false && contentSettings.DisallowedUploadedFileExtensions.Any(x => x.InvariantEquals(extension.Trim())) == false); /// /// Gets the auto-fill configuration for a specified property alias. /// /// /// The property type alias. /// The auto-fill configuration for the specified property alias, or null. public static ImagingAutoFillUploadField? GetConfig(this ContentSettings contentSettings, string propertyTypeAlias) { ImagingAutoFillUploadField[] autoFillConfigs = contentSettings.Imaging.AutoFillImageProperties; return autoFillConfigs?.FirstOrDefault(x => x.Alias == propertyTypeAlias); } }