2020-12-06 10:46:04 +01:00
|
|
|
// Copyright (c) Umbraco.
|
|
|
|
|
// See LICENSE for more details.
|
|
|
|
|
|
2021-02-18 11:06:02 +01:00
|
|
|
using Umbraco.Extensions;
|
2020-03-16 14:02:08 +01:00
|
|
|
|
2021-02-18 11:06:02 +01:00
|
|
|
namespace Umbraco.Cms.Core.Configuration.Models
|
2020-03-16 14:02:08 +01:00
|
|
|
{
|
|
|
|
|
/// <summary>
|
2020-12-06 10:46:04 +01:00
|
|
|
/// Typed configuration options for models builder settings.
|
2020-03-16 14:02:08 +01:00
|
|
|
/// </summary>
|
2020-10-21 21:04:10 +02:00
|
|
|
public class ModelsBuilderSettings
|
2020-03-16 14:02:08 +01:00
|
|
|
{
|
2020-12-06 10:46:04 +01:00
|
|
|
private bool _flagOutOfDateModels;
|
|
|
|
|
|
|
|
|
|
private static string DefaultModelsDirectory => "~/umbraco/models";
|
2020-03-18 11:29:29 +01:00
|
|
|
|
2020-03-16 14:02:08 +01:00
|
|
|
/// <summary>
|
2020-12-06 10:46:04 +01:00
|
|
|
/// Gets or sets a value for the models mode.
|
2020-03-16 14:02:08 +01:00
|
|
|
/// </summary>
|
2021-01-15 18:17:13 +11:00
|
|
|
public ModelsMode ModelsMode { get; set; } = ModelsMode.PureLive;
|
2020-03-16 14:02:08 +01:00
|
|
|
|
|
|
|
|
/// <summary>
|
2020-12-06 10:46:04 +01:00
|
|
|
/// Gets or sets a value for models namespace.
|
2020-03-16 14:02:08 +01:00
|
|
|
/// </summary>
|
|
|
|
|
/// <remarks>That value could be overriden by other (attribute in user's code...). Return default if no value was supplied.</remarks>
|
2020-08-20 08:24:23 +01:00
|
|
|
public string ModelsNamespace { get; set; }
|
2020-03-16 14:02:08 +01:00
|
|
|
|
|
|
|
|
/// <summary>
|
2020-12-06 10:46:04 +01:00
|
|
|
/// Gets or sets a value indicating whether we should flag out-of-date models.
|
2020-03-16 14:02:08 +01:00
|
|
|
/// </summary>
|
2020-03-18 11:29:29 +01:00
|
|
|
/// <remarks>
|
2020-12-06 10:46:04 +01:00
|
|
|
/// Models become out-of-date when data types or content types are updated. When this
|
|
|
|
|
/// setting is activated the ~/App_Data/Models/ood.txt file is then created. When models are
|
|
|
|
|
/// generated through the dashboard, the files is cleared. Default value is <c>false</c>.
|
2020-03-18 11:29:29 +01:00
|
|
|
/// </remarks>
|
2020-08-20 08:24:23 +01:00
|
|
|
public bool FlagOutOfDateModels
|
|
|
|
|
{
|
|
|
|
|
get => _flagOutOfDateModels;
|
|
|
|
|
|
|
|
|
|
set
|
|
|
|
|
{
|
2020-09-21 21:20:46 +02:00
|
|
|
if (!ModelsMode.IsLive())
|
2020-08-20 08:24:23 +01:00
|
|
|
{
|
|
|
|
|
_flagOutOfDateModels = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_flagOutOfDateModels = value;
|
|
|
|
|
}
|
|
|
|
|
}
|
2020-03-16 14:02:08 +01:00
|
|
|
|
|
|
|
|
/// <summary>
|
2020-12-06 10:46:04 +01:00
|
|
|
/// Gets or sets a value for the models directory.
|
2020-03-16 14:02:08 +01:00
|
|
|
/// </summary>
|
|
|
|
|
/// <remarks>Default is ~/App_Data/Models but that can be changed.</remarks>
|
2020-08-20 08:24:23 +01:00
|
|
|
public string ModelsDirectory { get; set; } = DefaultModelsDirectory;
|
2020-03-16 14:02:08 +01:00
|
|
|
|
|
|
|
|
/// <summary>
|
2020-12-06 10:46:04 +01:00
|
|
|
/// Gets or sets a value indicating whether to accept an unsafe value for ModelsDirectory.
|
2020-03-16 14:02:08 +01:00
|
|
|
/// </summary>
|
2020-03-18 11:29:29 +01:00
|
|
|
/// <remarks>
|
2020-12-06 10:46:04 +01:00
|
|
|
/// An unsafe value is an absolute path, or a relative path pointing outside
|
|
|
|
|
/// of the website root.
|
2020-03-18 11:29:29 +01:00
|
|
|
/// </remarks>
|
2020-08-20 08:24:23 +01:00
|
|
|
public bool AcceptUnsafeModelsDirectory { get; set; } = false;
|
2020-03-16 14:02:08 +01:00
|
|
|
|
|
|
|
|
/// <summary>
|
2020-12-06 10:46:04 +01:00
|
|
|
/// Gets or sets a value indicating the debug log level.
|
2020-03-16 14:02:08 +01:00
|
|
|
/// </summary>
|
|
|
|
|
/// <remarks>0 means minimal (safe on live site), anything else means more and more details (maybe not safe).</remarks>
|
2020-08-20 08:24:23 +01:00
|
|
|
public int DebugLevel { get; set; } = 0;
|
2020-03-16 14:02:08 +01:00
|
|
|
}
|
|
|
|
|
}
|