Merge remote-tracking branch 'origin/v10/dev' into v10/feature/nullable-reference-types-in-Umbraco-Core

# Conflicts:
#	build/build.ps1
#	src/Umbraco.Core/Configuration/ConfigConnectionString.cs
#	src/Umbraco.Core/Configuration/Models/ConnectionStrings.cs
#	src/Umbraco.Core/Install/InstallSteps/TelemetryIdentifierStep.cs
#	src/Umbraco.Core/Models/ContentType.cs
#	src/Umbraco.Infrastructure/Migrations/Install/DatabaseBuilder.cs
#	tests/Umbraco.Tests.AcceptanceTest/package.json
This commit is contained in:
Nikolaj Geisle
2022-03-16 13:00:38 +01:00
480 changed files with 11569 additions and 6721 deletions

View File

@@ -1,15 +0,0 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.
using Umbraco.Cms.Core.Configuration;
namespace Umbraco.Extensions
{
public static class ConfigConnectionStringExtensions
{
public static bool IsConnectionStringConfigured(this ConfigConnectionString databaseSettings)
=> databaseSettings != null &&
!string.IsNullOrWhiteSpace(databaseSettings.ConnectionString) &&
!string.IsNullOrWhiteSpace(databaseSettings.ProviderName);
}
}

View File

@@ -0,0 +1,35 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.
using System;
using Microsoft.Extensions.Configuration;
using Umbraco.Cms.Core;
using Umbraco.Cms.Core.Configuration.Models;
namespace Umbraco.Extensions
{
public static class ConnectionStringExtensions
{
public static bool IsConnectionStringConfigured(this ConnectionStrings connectionString)
=> connectionString != null &&
!string.IsNullOrWhiteSpace(connectionString.ConnectionString) &&
!string.IsNullOrWhiteSpace(connectionString.ProviderName);
/// <summary>
/// Gets a connection string from configuration with placeholders replaced.
/// </summary>
public static string GetUmbracoConnectionString(
this IConfiguration configuration,
string connectionStringName = Constants.System.UmbracoConnectionName) =>
configuration.GetConnectionString(connectionStringName).ReplaceDataDirectoryPlaceholder();
/// <summary>
/// Replaces instances of the |DataDirectory| placeholder in a string with the value of AppDomain DataDirectory.
/// </summary>
public static string ReplaceDataDirectoryPlaceholder(this string input)
{
var dataDirectory = AppDomain.CurrentDomain.GetData("DataDirectory")?.ToString();
return input?.Replace(ConnectionStrings.DataDirectoryPlaceholder, dataDirectory);
}
}
}

View File

@@ -624,7 +624,6 @@ namespace Umbraco.Extensions
if (type == typeof(sbyte)) return XmlConvert.ToString((sbyte)value);
if (type == typeof(short)) return XmlConvert.ToString((short)value);
if (type == typeof(TimeSpan)) return XmlConvert.ToString((TimeSpan)value);
if (type == typeof(bool)) return XmlConvert.ToString((bool)value);
if (type == typeof(uint)) return XmlConvert.ToString((uint)value);
if (type == typeof(ulong)) return XmlConvert.ToString((ulong)value);
if (type == typeof(ushort)) return XmlConvert.ToString((ushort)value);