diff --git a/src/Umbraco.Infrastructure/Migrations/Install/DatabaseDataCreator.cs b/src/Umbraco.Infrastructure/Migrations/Install/DatabaseDataCreator.cs index d440828c8db8..6f20aa108fef 100644 --- a/src/Umbraco.Infrastructure/Migrations/Install/DatabaseDataCreator.cs +++ b/src/Umbraco.Infrastructure/Migrations/Install/DatabaseDataCreator.cs @@ -3,13 +3,16 @@ using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using NPoco; +using NPoco.DatabaseTypes; using Umbraco.Cms.Core; using Umbraco.Cms.Core.Actions; using Umbraco.Cms.Core.Configuration; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Infrastructure.Migrations.Upgrade; +using Umbraco.Cms.Infrastructure.Persistence; using Umbraco.Cms.Infrastructure.Persistence.Dtos; +using Umbraco.Cms.Infrastructure.Persistence.SqlSyntax; using Umbraco.Extensions; namespace Umbraco.Cms.Infrastructure.Migrations.Install; @@ -19,6 +22,7 @@ namespace Umbraco.Cms.Infrastructure.Migrations.Install; /// internal sealed class DatabaseDataCreator { +#pragma warning disable CS8625 // Cannot convert null literal to non-nullable reference type. internal const string EditorGroupAlias = "editor"; @@ -95,6 +99,7 @@ internal sealed class DatabaseDataCreator private readonly IOptionsMonitor _installDefaultDataSettings; private readonly ILogger _logger; private readonly IUmbracoVersion _umbracoVersion; + private readonly IPocoDataFactory _pocoDataFactory; /// /// Initializes a new instance of the class. @@ -113,6 +118,7 @@ public DatabaseDataCreator( _logger = logger; _umbracoVersion = umbracoVersion; _installDefaultDataSettings = installDefaultDataSettings; + _pocoDataFactory = ((Database)database).PocoDataFactory; } /// @@ -124,82 +130,83 @@ public void InitializeBaseData(string tableName) { _logger.LogInformation("Creating data in {TableName}", tableName); - if (tableName.Equals(Constants.DatabaseSchema.Tables.Node)) + if (tableName.Equals(NodeDto.TableName)) { CreateNodeData(); } - if (tableName.Equals(Constants.DatabaseSchema.Tables.Lock)) + if (tableName.Equals(LockDto.TableName)) { CreateLockData(); } - if (tableName.Equals(Constants.DatabaseSchema.Tables.ContentType)) + if (tableName.Equals(ContentTypeDto.TableName)) { CreateContentTypeData(); } - if (tableName.Equals(Constants.DatabaseSchema.Tables.User)) + if (tableName.Equals(UserDto.TableName)) { CreateUserData(); } - if (tableName.Equals(Constants.DatabaseSchema.Tables.UserGroup)) + if (tableName.Equals(UserGroupDto.TableName)) { CreateUserGroupData(); } - if (tableName.Equals(Constants.DatabaseSchema.Tables.UserGroup2Permission)) + if (tableName.Equals(UserGroup2PermissionDto.TableName)) { CreateUserGroup2PermissionData(); } - if (tableName.Equals(Constants.DatabaseSchema.Tables.User2UserGroup)) + if (tableName.Equals(User2UserGroupDto.TableName)) { CreateUser2UserGroupData(); } - if (tableName.Equals(Constants.DatabaseSchema.Tables.UserGroup2App)) + if (tableName.Equals(UserGroup2AppDto.TableName)) { CreateUserGroup2AppData(); } - if (tableName.Equals(Constants.DatabaseSchema.Tables.PropertyTypeGroup)) + if (tableName.Equals(PropertyTypeGroupDto.TableName)) { CreatePropertyTypeGroupData(); } - if (tableName.Equals(Constants.DatabaseSchema.Tables.PropertyType)) + if (tableName.Equals(PropertyTypeDto.TableName)) { CreatePropertyTypeData(); } - if (tableName.Equals(Constants.DatabaseSchema.Tables.Language)) + if (tableName.Equals(LanguageDto.TableName)) { CreateLanguageData(); } - if (tableName.Equals(Constants.DatabaseSchema.Tables.ContentChildType)) + // This was Constants.DatabaseSchema.Tables.ContentChildType, but the table name in database is: cmsContentTypeAllowedContentType + if (tableName.Equals(ContentTypeAllowedContentTypeDto.TableName)) { - CreateContentChildTypeData(); + CreateContentTypeAllowedContentType(); } - if (tableName.Equals(Constants.DatabaseSchema.Tables.DataType)) + if (tableName.Equals(DataTypeDto.TableName)) { CreateDataTypeData(); } - if (tableName.Equals(Constants.DatabaseSchema.Tables.RelationType)) + if (tableName.Equals(RelationTypeDto.TableName)) { CreateRelationTypeData(); } - if (tableName.Equals(Constants.DatabaseSchema.Tables.KeyValue)) + if (tableName.Equals(KeyValueDto.TableName)) { CreateKeyValueData(); } - if (tableName.Equals(Constants.DatabaseSchema.Tables.LogViewerQuery)) + if (tableName.Equals(LogViewerQueryDto.TableName)) { CreateLogViewerQueryData(); } @@ -222,10 +229,7 @@ private void CreateUserGroup2PermissionData() { foreach (var permission in permissions) { - _database.Insert( - Constants.DatabaseSchema.Tables.UserGroup2Permission, - "id", - false, + Insert( new UserGroup2PermissionDto { Id = i++, @@ -267,15 +271,10 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, uniqueId, - nodeDto, - Constants.DatabaseSchema.Tables.Node, - "id"); + nodeDto); } - _database.Insert( - Constants.DatabaseSchema.Tables.Node, - "id", - false, + Insert( new NodeDto { NodeId = -1, @@ -290,78 +289,79 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) NodeObjectType = Constants.ObjectTypes.SystemRoot, CreateDate = DateTime.UtcNow, }); - _database.Insert( - Constants.DatabaseSchema.Tables.Node, - "id", - false, - new NodeDto - { - NodeId = Constants.System.RecycleBinContent, - Trashed = false, - ParentId = -1, - UserId = -1, - Level = 0, - Path = "-1,-20", - SortOrder = 0, - UniqueId = Constants.System.RecycleBinContentKey, - Text = "Recycle Bin", - NodeObjectType = Constants.ObjectTypes.ContentRecycleBin, - CreateDate = DateTime.UtcNow, - }); - _database.Insert( - Constants.DatabaseSchema.Tables.Node, - "id", - false, - new NodeDto - { - NodeId = Constants.System.RecycleBinMedia, - Trashed = false, - ParentId = -1, - UserId = -1, - Level = 0, - Path = "-1,-21", - SortOrder = 0, - UniqueId = Constants.System.RecycleBinMediaKey, - Text = "Recycle Bin", - NodeObjectType = Constants.ObjectTypes.MediaRecycleBin, - CreateDate = DateTime.UtcNow, - }); + + Insert(new NodeDto + { + NodeId = Constants.System.RecycleBinContent, + Trashed = false, + ParentId = -1, + UserId = -1, + Level = 0, + Path = "-1,-20", + SortOrder = 0, + UniqueId = Constants.System.RecycleBinContentKey, + Text = "Recycle Bin", + NodeObjectType = Constants.ObjectTypes.ContentRecycleBin, + CreateDate = DateTime.UtcNow, + }); + + Insert(new NodeDto + { + NodeId = Constants.System.RecycleBinMedia, + Trashed = false, + ParentId = -1, + UserId = -1, + Level = 0, + Path = "-1,-21", + SortOrder = 0, + UniqueId = Constants.System.RecycleBinMediaKey, + Text = "Recycle Bin", + NodeObjectType = Constants.ObjectTypes.MediaRecycleBin, + CreateDate = DateTime.UtcNow, + }); InsertDataTypeNodeDto( Constants.DataTypes.LabelString, 35, Constants.DataTypes.Guids.LabelString, "Label (string)"); + InsertDataTypeNodeDto( Constants.DataTypes.LabelInt, 36, Constants.DataTypes.Guids.LabelInt, "Label (integer)"); + InsertDataTypeNodeDto( Constants.DataTypes.LabelBigint, 36, Constants.DataTypes.Guids.LabelBigInt, "Label (bigint)"); + InsertDataTypeNodeDto( Constants.DataTypes.LabelDateTime, 37, Constants.DataTypes.Guids.LabelDateTime, "Label (datetime)"); + InsertDataTypeNodeDto( Constants.DataTypes.LabelTime, 38, Constants.DataTypes.Guids.LabelTime, "Label (time)"); + InsertDataTypeNodeDto( Constants.DataTypes.LabelDecimal, 39, Constants.DataTypes.Guids.LabelDecimal, "Label (decimal)"); + InsertDataTypeNodeDto( Constants.DataTypes.LabelBytes, 40, Constants.DataTypes.Guids.LabelBytes, "Label (bytes)"); + InsertDataTypeNodeDto( Constants.DataTypes.LabelPixels, 41, @@ -384,9 +384,8 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Upload File", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); + ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, Constants.DataTypes.Guids.UploadVideo, @@ -403,9 +402,8 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Upload Video", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); + ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, Constants.DataTypes.Guids.UploadAudio, @@ -422,9 +420,8 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Upload Audio", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); + ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, Constants.DataTypes.Guids.UploadArticle, @@ -441,9 +438,8 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Upload Article", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); + ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, Constants.DataTypes.Guids.UploadVectorGraphics, @@ -460,9 +456,8 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Upload Vector Graphics", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); + ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, Constants.DataTypes.Guids.Textarea, @@ -479,9 +474,8 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Textarea", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); + ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, Constants.DataTypes.Guids.Textstring, @@ -498,9 +492,8 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Textstring", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); + ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, Constants.DataTypes.Guids.RichtextEditor, @@ -517,9 +510,8 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Richtext editor", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); + ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, Constants.DataTypes.Guids.Numeric, @@ -536,9 +528,8 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Numeric", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); + ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, Constants.DataTypes.Guids.Checkbox, @@ -555,9 +546,8 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "True/false", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); + ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, Constants.DataTypes.Guids.CheckboxList, @@ -574,9 +564,8 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Checkbox list", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); + ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, Constants.DataTypes.Guids.Dropdown, @@ -593,9 +582,8 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Dropdown", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); + ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, Constants.DataTypes.Guids.DatePicker, @@ -612,9 +600,8 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Date Picker", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); + ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, Constants.DataTypes.Guids.Radiobox, @@ -631,9 +618,8 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Radiobox", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); + ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, Constants.DataTypes.Guids.DropdownMultiple, @@ -650,9 +636,8 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Dropdown multiple", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); + ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, Constants.DataTypes.Guids.ApprovedColor, @@ -669,9 +654,8 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Approved Color", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); + ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, Constants.DataTypes.Guids.DatePickerWithTime, @@ -688,9 +672,8 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Date Picker with time", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); + ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, Constants.DataTypes.Guids.ListViewContent, @@ -707,9 +690,8 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = Constants.Conventions.DataTypes.ListViewPrefix + "Content", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); + ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, Constants.DataTypes.Guids.ListViewMedia, @@ -726,9 +708,8 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = Constants.Conventions.DataTypes.ListViewPrefix + "Media", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); + ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, Constants.DataTypes.Guids.Tags, @@ -745,9 +726,8 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Tags", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); + ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, Constants.DataTypes.Guids.ImageCropper, @@ -764,9 +744,7 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Image Cropper", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); // New UDI pickers with newer Ids ConditionalInsert( @@ -785,9 +763,8 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Content Picker", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); + ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, Constants.DataTypes.Guids.MemberPicker, @@ -804,9 +781,7 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Member Picker", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, @@ -824,9 +799,7 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Multi URL Picker", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, @@ -844,9 +817,8 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Media Picker", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); + ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, Constants.DataTypes.Guids.MediaPicker3Multiple, @@ -863,9 +835,8 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Multiple Media Picker", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); + ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, Constants.DataTypes.Guids.MediaPicker3SingleImage, @@ -882,9 +853,8 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Image Media Picker", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); + ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, Constants.DataTypes.Guids.MediaPicker3MultipleImages, @@ -901,9 +871,8 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Multiple Image Media Picker", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); + ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes, Constants.DataTypes.Guids.DateTimePickerWithTimeZone, @@ -920,9 +889,7 @@ void InsertDataTypeNodeDto(int id, int sortOrder, string uniqueId, string text) Text = "Date Time Picker (with time zone)", NodeObjectType = Constants.ObjectTypes.DataType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); } private void CreateNodeDataForMediaTypes() @@ -943,9 +910,7 @@ private void CreateNodeDataForMediaTypes() Text = Constants.Conventions.MediaTypes.Folder, NodeObjectType = Constants.ObjectTypes.MediaType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.MediaTypes, @@ -963,9 +928,7 @@ private void CreateNodeDataForMediaTypes() Text = Constants.Conventions.MediaTypes.Image, NodeObjectType = Constants.ObjectTypes.MediaType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.MediaTypes, @@ -983,9 +946,7 @@ private void CreateNodeDataForMediaTypes() Text = Constants.Conventions.MediaTypes.File, NodeObjectType = Constants.ObjectTypes.MediaType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.MediaTypes, @@ -1003,9 +964,7 @@ private void CreateNodeDataForMediaTypes() Text = Constants.Conventions.MediaTypes.Video, NodeObjectType = Constants.ObjectTypes.MediaType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.MediaTypes, @@ -1023,9 +982,7 @@ private void CreateNodeDataForMediaTypes() Text = Constants.Conventions.MediaTypes.Audio, NodeObjectType = Constants.ObjectTypes.MediaType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.MediaTypes, @@ -1043,9 +1000,7 @@ private void CreateNodeDataForMediaTypes() Text = Constants.Conventions.MediaTypes.Article, NodeObjectType = Constants.ObjectTypes.MediaType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.MediaTypes, @@ -1063,9 +1018,7 @@ private void CreateNodeDataForMediaTypes() Text = "Vector Graphics (SVG)", NodeObjectType = Constants.ObjectTypes.MediaType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); } private void CreateNodeDataForMemberTypes() @@ -1086,33 +1039,31 @@ private void CreateNodeDataForMemberTypes() Text = Constants.Conventions.MemberTypes.DefaultAlias, NodeObjectType = Constants.ObjectTypes.MemberType, CreateDate = DateTime.UtcNow, - }, - Constants.DatabaseSchema.Tables.Node, - "id"); + }); } private void CreateLockData() { // all lock objects - _database.Insert(Constants.DatabaseSchema.Tables.Lock, "id", false, new LockDto { Id = Constants.Locks.Servers, Name = "Servers" }); - _database.Insert(Constants.DatabaseSchema.Tables.Lock, "id", false, new LockDto { Id = Constants.Locks.ContentTypes, Name = "ContentTypes" }); - _database.Insert(Constants.DatabaseSchema.Tables.Lock, "id", false, new LockDto { Id = Constants.Locks.ContentTree, Name = "ContentTree" }); - _database.Insert(Constants.DatabaseSchema.Tables.Lock, "id", false, new LockDto { Id = Constants.Locks.MediaTypes, Name = "MediaTypes" }); - _database.Insert(Constants.DatabaseSchema.Tables.Lock, "id", false, new LockDto { Id = Constants.Locks.MediaTree, Name = "MediaTree" }); - _database.Insert(Constants.DatabaseSchema.Tables.Lock, "id", false, new LockDto { Id = Constants.Locks.MemberTypes, Name = "MemberTypes" }); - _database.Insert(Constants.DatabaseSchema.Tables.Lock, "id", false, new LockDto { Id = Constants.Locks.MemberTree, Name = "MemberTree" }); - _database.Insert(Constants.DatabaseSchema.Tables.Lock, "id", false, new LockDto { Id = Constants.Locks.Domains, Name = "Domains" }); - _database.Insert(Constants.DatabaseSchema.Tables.Lock, "id", false, new LockDto { Id = Constants.Locks.KeyValues, Name = "KeyValues" }); - _database.Insert(Constants.DatabaseSchema.Tables.Lock, "id", false, new LockDto { Id = Constants.Locks.Languages, Name = "Languages" }); - _database.Insert(Constants.DatabaseSchema.Tables.Lock, "id", false, new LockDto { Id = Constants.Locks.ScheduledPublishing, Name = "ScheduledPublishing" }); - _database.Insert(Constants.DatabaseSchema.Tables.Lock, "id", false, new LockDto { Id = Constants.Locks.MainDom, Name = "MainDom" }); - _database.Insert(Constants.DatabaseSchema.Tables.Lock, "id", false, new LockDto { Id = Constants.Locks.WebhookRequest, Name = "WebhookRequest" }); - _database.Insert(Constants.DatabaseSchema.Tables.Lock, "id", false, new LockDto { Id = Constants.Locks.WebhookLogs, Name = "WebhookLogs" }); - _database.Insert(Constants.DatabaseSchema.Tables.Lock, "id", false, new LockDto { Id = Constants.Locks.LongRunningOperations, Name = "LongRunningOperations" }); - _database.Insert(Constants.DatabaseSchema.Tables.Lock, "id", false, new LockDto { Id = Constants.Locks.DocumentUrls, Name = "DocumentUrls" }); - _database.Insert(Constants.DatabaseSchema.Tables.Lock, "id", false, new LockDto { Id = Constants.Locks.DistributedJobs, Name = "DistributedJobs" }); - _database.Insert(Constants.DatabaseSchema.Tables.Lock, "id", false, new LockDto { Id = Constants.Locks.CacheVersion, Name = "CacheVersion" }); - _database.Insert(Constants.DatabaseSchema.Tables.Lock, "id", false, new LockDto { Id = Constants.Locks.DocumentUrlAliases, Name = "DocumentUrlAliases" }); + Insert(new LockDto { Id = Constants.Locks.Servers, Name = "Servers" }); + Insert(new LockDto { Id = Constants.Locks.ContentTypes, Name = "ContentTypes" }); + Insert(new LockDto { Id = Constants.Locks.ContentTree, Name = "ContentTree" }); + Insert(new LockDto { Id = Constants.Locks.MediaTypes, Name = "MediaTypes" }); + Insert(new LockDto { Id = Constants.Locks.MediaTree, Name = "MediaTree" }); + Insert(new LockDto { Id = Constants.Locks.MemberTypes, Name = "MemberTypes" }); + Insert(new LockDto { Id = Constants.Locks.MemberTree, Name = "MemberTree" }); + Insert(new LockDto { Id = Constants.Locks.Domains, Name = "Domains" }); + Insert(new LockDto { Id = Constants.Locks.KeyValues, Name = "KeyValues" }); + Insert(new LockDto { Id = Constants.Locks.Languages, Name = "Languages" }); + Insert(new LockDto { Id = Constants.Locks.ScheduledPublishing, Name = "ScheduledPublishing" }); + Insert(new LockDto { Id = Constants.Locks.MainDom, Name = "MainDom" }); + Insert(new LockDto { Id = Constants.Locks.WebhookRequest, Name = "WebhookRequest" }); + Insert(new LockDto { Id = Constants.Locks.WebhookLogs, Name = "WebhookLogs" }); + Insert(new LockDto { Id = Constants.Locks.LongRunningOperations, Name = "LongRunningOperations" }); + Insert(new LockDto { Id = Constants.Locks.DocumentUrls, Name = "DocumentUrls" }); + Insert(new LockDto { Id = Constants.Locks.DistributedJobs, Name = "DistributedJobs" }); + Insert(new LockDto { Id = Constants.Locks.CacheVersion, Name = "CacheVersion" }); + Insert(new LockDto { Id = Constants.Locks.DocumentUrlAliases, Name = "DocumentUrlAliases" }); } private void CreateContentTypeData() @@ -1123,269 +1074,218 @@ private void CreateContentTypeData() // Media types. if (_database.Exists(1031)) { - _database.Insert( - Constants.DatabaseSchema.Tables.ContentType, - "pk", - false, - new ContentTypeDto - { - PrimaryKey = 532, - NodeId = 1031, - Alias = Constants.Conventions.MediaTypes.Folder, - Icon = Constants.Icons.MediaFolder, - Thumbnail = Constants.Icons.MediaFolder, - AllowAtRoot = true, - Variations = (byte)ContentVariation.Nothing, - ListView = Constants.DataTypes.Guids.ListViewMediaGuid - }); + Insert(new ContentTypeDto + { + PrimaryKey = 532, + NodeId = 1031, + Alias = Constants.Conventions.MediaTypes.Folder, + Icon = Constants.Icons.MediaFolder, + Thumbnail = Constants.Icons.MediaFolder, + AllowAtRoot = true, + Variations = (byte)ContentVariation.Nothing, + ListView = Constants.DataTypes.Guids.ListViewMediaGuid + }); } if (_database.Exists(1032)) { - _database.Insert( - Constants.DatabaseSchema.Tables.ContentType, - "pk", - false, - new ContentTypeDto - { - PrimaryKey = 533, - NodeId = 1032, - Alias = Constants.Conventions.MediaTypes.Image, - Icon = Constants.Icons.MediaImage, - Thumbnail = Constants.Icons.MediaImage, - AllowAtRoot = true, - Variations = (byte)ContentVariation.Nothing, - }); + Insert(new ContentTypeDto + { + PrimaryKey = 533, + NodeId = 1032, + Alias = Constants.Conventions.MediaTypes.Image, + Icon = Constants.Icons.MediaImage, + Thumbnail = Constants.Icons.MediaImage, + AllowAtRoot = true, + Variations = (byte)ContentVariation.Nothing, + }); } if (_database.Exists(1033)) { - _database.Insert( - Constants.DatabaseSchema.Tables.ContentType, - "pk", - false, - new ContentTypeDto - { - PrimaryKey = 534, - NodeId = 1033, - Alias = Constants.Conventions.MediaTypes.File, - Icon = Constants.Icons.MediaFile, - Thumbnail = Constants.Icons.MediaFile, - AllowAtRoot = true, - Variations = (byte)ContentVariation.Nothing, - }); + Insert(new ContentTypeDto + { + PrimaryKey = 534, + NodeId = 1033, + Alias = Constants.Conventions.MediaTypes.File, + Icon = Constants.Icons.MediaFile, + Thumbnail = Constants.Icons.MediaFile, + AllowAtRoot = true, + Variations = (byte)ContentVariation.Nothing, + }); } if (_database.Exists(1034)) { - _database.Insert( - Constants.DatabaseSchema.Tables.ContentType, - "pk", - false, - new ContentTypeDto - { - PrimaryKey = 540, - NodeId = 1034, - Alias = Constants.Conventions.MediaTypes.VideoAlias, - Icon = Constants.Icons.MediaVideo, - Thumbnail = Constants.Icons.MediaVideo, - AllowAtRoot = true, - Variations = (byte)ContentVariation.Nothing, - }); + Insert(new ContentTypeDto + { + PrimaryKey = 540, + NodeId = 1034, + Alias = Constants.Conventions.MediaTypes.VideoAlias, + Icon = Constants.Icons.MediaVideo, + Thumbnail = Constants.Icons.MediaVideo, + AllowAtRoot = true, + Variations = (byte)ContentVariation.Nothing, + }); } if (_database.Exists(1035)) { - _database.Insert( - Constants.DatabaseSchema.Tables.ContentType, - "pk", - false, - new ContentTypeDto - { - PrimaryKey = 541, - NodeId = 1035, - Alias = Constants.Conventions.MediaTypes.AudioAlias, - Icon = Constants.Icons.MediaAudio, - Thumbnail = Constants.Icons.MediaAudio, - AllowAtRoot = true, - Variations = (byte)ContentVariation.Nothing, - }); + Insert(new ContentTypeDto + { + PrimaryKey = 541, + NodeId = 1035, + Alias = Constants.Conventions.MediaTypes.AudioAlias, + Icon = Constants.Icons.MediaAudio, + Thumbnail = Constants.Icons.MediaAudio, + AllowAtRoot = true, + Variations = (byte)ContentVariation.Nothing, + }); } if (_database.Exists(1036)) { - _database.Insert( - Constants.DatabaseSchema.Tables.ContentType, - "pk", - false, - new ContentTypeDto - { - PrimaryKey = 542, - NodeId = 1036, - Alias = Constants.Conventions.MediaTypes.ArticleAlias, - Icon = Constants.Icons.MediaArticle, - Thumbnail = Constants.Icons.MediaArticle, - AllowAtRoot = true, - Variations = (byte)ContentVariation.Nothing, - }); + Insert(new ContentTypeDto + { + PrimaryKey = 542, + NodeId = 1036, + Alias = Constants.Conventions.MediaTypes.ArticleAlias, + Icon = Constants.Icons.MediaArticle, + Thumbnail = Constants.Icons.MediaArticle, + AllowAtRoot = true, + Variations = (byte)ContentVariation.Nothing, + }); } if (_database.Exists(1037)) { - _database.Insert( - Constants.DatabaseSchema.Tables.ContentType, - "pk", - false, - new ContentTypeDto - { - PrimaryKey = 543, - NodeId = 1037, - Alias = Constants.Conventions.MediaTypes.VectorGraphicsAlias, - Icon = Constants.Icons.MediaVectorGraphics, - Thumbnail = Constants.Icons.MediaVectorGraphics, - AllowAtRoot = true, - Variations = (byte)ContentVariation.Nothing, - }); + Insert(new ContentTypeDto + { + PrimaryKey = 543, + NodeId = 1037, + Alias = Constants.Conventions.MediaTypes.VectorGraphicsAlias, + Icon = Constants.Icons.MediaVectorGraphics, + Thumbnail = Constants.Icons.MediaVectorGraphics, + AllowAtRoot = true, + Variations = (byte)ContentVariation.Nothing, + }); } // Member type. if (_database.Exists(1044)) { - _database.Insert( - Constants.DatabaseSchema.Tables.ContentType, - "pk", - false, - new ContentTypeDto - { - PrimaryKey = 531, - NodeId = 1044, - Alias = Constants.Conventions.MemberTypes.DefaultAlias, - Icon = Constants.Icons.Member, - Thumbnail = Constants.Icons.Member, - Variations = (byte)ContentVariation.Nothing, - }); + Insert(new ContentTypeDto + { + PrimaryKey = 531, + NodeId = 1044, + Alias = Constants.Conventions.MemberTypes.DefaultAlias, + Icon = Constants.Icons.Member, + Thumbnail = Constants.Icons.Member, + Variations = (byte)ContentVariation.Nothing, + }); } } - private void CreateUserData() => _database.Insert( - Constants.DatabaseSchema.Tables.User, - "id", - false, - new UserDto - { - Id = Constants.Security.SuperUserId, - Key = Constants.Security.SuperUserKey, - Disabled = false, - NoConsole = false, - UserName = "Administrator", - Login = "admin", - Password = "default", - Email = string.Empty, - UserLanguage = "en-US", + private void CreateUserData() => Insert(new UserDto + { + Id = Constants.Security.SuperUserId, + Key = Constants.Security.SuperUserKey, + Disabled = false, + NoConsole = false, + UserName = "Administrator", + Login = "admin", + Password = "default", + Email = string.Empty, + UserLanguage = "en-US", + CreateDate = DateTime.UtcNow, + UpdateDate = DateTime.UtcNow, + }); + + private void CreateUserGroupData() + { + Insert(new UserGroupDto + { + Id = 1, + Key = Constants.Security.AdminGroupKey, + StartMediaId = -1, + StartContentId = -1, + Alias = Constants.Security.AdminGroupAlias, + Name = "Administrators", + Description = "Users with full access to all sections and functionality", CreateDate = DateTime.UtcNow, UpdateDate = DateTime.UtcNow, + Icon = "icon-medal", + HasAccessToAllLanguages = true, }); - private void CreateUserGroupData() - { - _database.Insert( - Constants.DatabaseSchema.Tables.UserGroup, - "id", - false, - new UserGroupDto - { - Id = 1, - Key = Constants.Security.AdminGroupKey, - StartMediaId = -1, - StartContentId = -1, - Alias = Constants.Security.AdminGroupAlias, - Name = "Administrators", - Description = "Users with full access to all sections and functionality", - CreateDate = DateTime.UtcNow, - UpdateDate = DateTime.UtcNow, - Icon = "icon-medal", - HasAccessToAllLanguages = true, - }); - _database.Insert( - Constants.DatabaseSchema.Tables.UserGroup, - "id", - false, - new UserGroupDto - { - Id = 2, - Key = Constants.Security.WriterGroupKey, - StartMediaId = -1, - StartContentId = -1, - Alias = WriterGroupAlias, - Name = "Writers", - Description = "Users with permission to create and update but not publish content", - CreateDate = DateTime.UtcNow, - UpdateDate = DateTime.UtcNow, - Icon = "icon-edit", - HasAccessToAllLanguages = true, - }); - _database.Insert( - Constants.DatabaseSchema.Tables.UserGroup, - "id", - false, - new UserGroupDto - { - Id = 3, - Key = Constants.Security.EditorGroupKey, - StartMediaId = -1, - StartContentId = -1, - Alias = EditorGroupAlias, - Name = "Editors", - Description = "Users with full permission to create, update and publish content", - CreateDate = DateTime.UtcNow, - UpdateDate = DateTime.UtcNow, - Icon = "icon-tools", - HasAccessToAllLanguages = true, - }); - _database.Insert( - Constants.DatabaseSchema.Tables.UserGroup, - "id", - false, - new UserGroupDto - { - Id = 4, - Key = Constants.Security.TranslatorGroupKey, - StartMediaId = -1, - StartContentId = -1, - Alias = TranslatorGroupAlias, - Name = "Translators", - Description = "Users with permission to manage dictionary entries", - CreateDate = DateTime.UtcNow, - UpdateDate = DateTime.UtcNow, - Icon = "icon-globe", - HasAccessToAllLanguages = true, - }); - _database.Insert( - Constants.DatabaseSchema.Tables.UserGroup, - "id", - false, - new UserGroupDto - { - Id = 5, - Key = Constants.Security.SensitiveDataGroupKey, - Alias = SensitiveDataGroupAlias, - Name = "Sensitive data", - Description = "Users with the specific permission to be able to manage properties and data marked as sensitive", - CreateDate = DateTime.UtcNow, - UpdateDate = DateTime.UtcNow, - Icon = "icon-lock", - HasAccessToAllLanguages = false, - }); + Insert(new UserGroupDto + { + Id = 2, + Key = Constants.Security.WriterGroupKey, + StartMediaId = -1, + StartContentId = -1, + Alias = WriterGroupAlias, + Name = "Writers", + Description = "Users with permission to create and update but not publish content", + CreateDate = DateTime.UtcNow, + UpdateDate = DateTime.UtcNow, + Icon = "icon-edit", + HasAccessToAllLanguages = true, + }); + + Insert(new UserGroupDto + { + Id = 3, + Key = Constants.Security.EditorGroupKey, + StartMediaId = -1, + StartContentId = -1, + Alias = EditorGroupAlias, + Name = "Editors", + Description = "Users with full permission to create, update and publish content", + CreateDate = DateTime.UtcNow, + UpdateDate = DateTime.UtcNow, + Icon = "icon-tools", + HasAccessToAllLanguages = true, + }); + + Insert(new UserGroupDto + { + Id = 4, + Key = Constants.Security.TranslatorGroupKey, + StartMediaId = -1, + StartContentId = -1, + Alias = TranslatorGroupAlias, + Name = "Translators", + Description = "Users with permission to manage dictionary entries", + CreateDate = DateTime.UtcNow, + UpdateDate = DateTime.UtcNow, + Icon = "icon-globe", + HasAccessToAllLanguages = true, + }); + + Insert(new UserGroupDto + { + Id = 5, + Key = Constants.Security.SensitiveDataGroupKey, + Alias = SensitiveDataGroupAlias, + Name = "Sensitive data", + Description = "Users with the specific permission to be able to manage properties and data marked as sensitive", + CreateDate = DateTime.UtcNow, + UpdateDate = DateTime.UtcNow, + Icon = "icon-lock", + HasAccessToAllLanguages = false, + }); } private void CreateUser2UserGroupData() { - _database.Insert(new User2UserGroupDto + Insert(new User2UserGroupDto { UserGroupId = 1, UserId = Constants.Security.SuperUserId, }); // add super to admins - _database.Insert(new User2UserGroupDto + + Insert(new User2UserGroupDto { UserGroupId = 5, UserId = Constants.Security.SuperUserId, @@ -1394,22 +1294,26 @@ private void CreateUser2UserGroupData() private void CreateUserGroup2AppData() { - _database.Insert(new UserGroup2AppDto { UserGroupId = 1, AppAlias = Constants.Applications.Content }); - _database.Insert(new UserGroup2AppDto { UserGroupId = 1, AppAlias = Constants.Applications.Packages }); - _database.Insert(new UserGroup2AppDto { UserGroupId = 1, AppAlias = Constants.Applications.Media }); - _database.Insert(new UserGroup2AppDto { UserGroupId = 1, AppAlias = Constants.Applications.Members }); - _database.Insert(new UserGroup2AppDto { UserGroupId = 1, AppAlias = Constants.Applications.Settings }); - _database.Insert(new UserGroup2AppDto { UserGroupId = 1, AppAlias = Constants.Applications.Users }); - _database.Insert(new UserGroup2AppDto { UserGroupId = 1, AppAlias = Constants.Applications.Forms }); - _database.Insert(new UserGroup2AppDto { UserGroupId = 1, AppAlias = Constants.Applications.Translation }); - - _database.Insert(new UserGroup2AppDto { UserGroupId = 2, AppAlias = Constants.Applications.Content }); - - _database.Insert(new UserGroup2AppDto { UserGroupId = 3, AppAlias = Constants.Applications.Content }); - _database.Insert(new UserGroup2AppDto { UserGroupId = 3, AppAlias = Constants.Applications.Media }); - _database.Insert(new UserGroup2AppDto { UserGroupId = 3, AppAlias = Constants.Applications.Forms }); - - _database.Insert(new UserGroup2AppDto { UserGroupId = 4, AppAlias = Constants.Applications.Translation }); + // UserGroupId = 1 + Insert(new UserGroup2AppDto { UserGroupId = 1, AppAlias = Constants.Applications.Content }); + Insert(new UserGroup2AppDto { UserGroupId = 1, AppAlias = Constants.Applications.Packages }); + Insert(new UserGroup2AppDto { UserGroupId = 1, AppAlias = Constants.Applications.Media }); + Insert(new UserGroup2AppDto { UserGroupId = 1, AppAlias = Constants.Applications.Members }); + Insert(new UserGroup2AppDto { UserGroupId = 1, AppAlias = Constants.Applications.Settings }); + Insert(new UserGroup2AppDto { UserGroupId = 1, AppAlias = Constants.Applications.Users }); + Insert(new UserGroup2AppDto { UserGroupId = 1, AppAlias = Constants.Applications.Forms }); + Insert(new UserGroup2AppDto { UserGroupId = 1, AppAlias = Constants.Applications.Translation }); + + // UserGroupId = 2 + Insert(new UserGroup2AppDto { UserGroupId = 2, AppAlias = Constants.Applications.Content }); + + // UserGroupId = 3 + Insert(new UserGroup2AppDto { UserGroupId = 3, AppAlias = Constants.Applications.Content }); + Insert(new UserGroup2AppDto { UserGroupId = 3, AppAlias = Constants.Applications.Media }); + Insert(new UserGroup2AppDto { UserGroupId = 3, AppAlias = Constants.Applications.Forms }); + + // UserGroupId = 4 + Insert(new UserGroup2AppDto { UserGroupId = 4, AppAlias = Constants.Applications.Translation }); } private void CreatePropertyTypeGroupData() @@ -1420,122 +1324,94 @@ private void CreatePropertyTypeGroupData() // Media property groups. if (_database.Exists(1032)) { - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyTypeGroup, - "id", - false, - new PropertyTypeGroupDto - { - Id = 3, - UniqueId = new Guid(Constants.PropertyTypeGroups.Image), - ContentTypeNodeId = 1032, - Text = "Image", - Alias = "image", - SortOrder = 1, - }); + Insert(new PropertyTypeGroupDto + { + Id = 3, + UniqueId = new Guid(Constants.PropertyTypeGroups.Image), + ContentTypeNodeId = 1032, + Text = "Image", + Alias = "image", + SortOrder = 1, + }); } if (_database.Exists(1033)) { - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyTypeGroup, - "id", - false, - new PropertyTypeGroupDto - { - Id = 4, - UniqueId = new Guid(Constants.PropertyTypeGroups.File), - ContentTypeNodeId = 1033, - Text = "File", - Alias = "file", - SortOrder = 1, - }); + Insert(new PropertyTypeGroupDto + { + Id = 4, + UniqueId = new Guid(Constants.PropertyTypeGroups.File), + ContentTypeNodeId = 1033, + Text = "File", + Alias = "file", + SortOrder = 1, + }); } if (_database.Exists(1034)) { - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyTypeGroup, - "id", - false, - new PropertyTypeGroupDto - { - Id = 52, - UniqueId = new Guid(Constants.PropertyTypeGroups.Video), - ContentTypeNodeId = 1034, - Text = "Video", - Alias = "video", - SortOrder = 1, - }); + Insert(new PropertyTypeGroupDto + { + Id = 52, + UniqueId = new Guid(Constants.PropertyTypeGroups.Video), + ContentTypeNodeId = 1034, + Text = "Video", + Alias = "video", + SortOrder = 1, + }); } if (_database.Exists(1035)) { - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyTypeGroup, - "id", - false, - new PropertyTypeGroupDto - { - Id = 53, - UniqueId = new Guid(Constants.PropertyTypeGroups.Audio), - ContentTypeNodeId = 1035, - Text = "Audio", - Alias = "audio", - SortOrder = 1, - }); + Insert(new PropertyTypeGroupDto + { + Id = 53, + UniqueId = new Guid(Constants.PropertyTypeGroups.Audio), + ContentTypeNodeId = 1035, + Text = "Audio", + Alias = "audio", + SortOrder = 1, + }); } if (_database.Exists(1036)) { - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyTypeGroup, - "id", - false, - new PropertyTypeGroupDto - { - Id = 54, - UniqueId = new Guid(Constants.PropertyTypeGroups.Article), - ContentTypeNodeId = 1036, - Text = "Article", - Alias = "article", - SortOrder = 1, - }); + Insert(new PropertyTypeGroupDto + { + Id = 54, + UniqueId = new Guid(Constants.PropertyTypeGroups.Article), + ContentTypeNodeId = 1036, + Text = "Article", + Alias = "article", + SortOrder = 1, + }); } if (_database.Exists(1037)) { - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyTypeGroup, - "id", - false, - new PropertyTypeGroupDto - { - Id = 55, - UniqueId = new Guid(Constants.PropertyTypeGroups.VectorGraphics), - ContentTypeNodeId = 1037, - Text = "Vector Graphics", - Alias = "vectorGraphics", - SortOrder = 1, - }); + Insert(new PropertyTypeGroupDto + { + Id = 55, + UniqueId = new Guid(Constants.PropertyTypeGroups.VectorGraphics), + ContentTypeNodeId = 1037, + Text = "Vector Graphics", + Alias = "vectorGraphics", + SortOrder = 1, + }); } // Membership property group. if (_database.Exists(1044)) { - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyTypeGroup, - "id", - false, - new PropertyTypeGroupDto - { - Id = 11, - UniqueId = new Guid(Constants.PropertyTypeGroups.Membership), - ContentTypeNodeId = 1044, - Text = Constants.Conventions.Member.StandardPropertiesGroupName, - Alias = Constants.Conventions.Member.StandardPropertiesGroupAlias, - SortOrder = 1, - }); + Insert(new PropertyTypeGroupDto + { + Id = 11, + UniqueId = new Guid(Constants.PropertyTypeGroups.Membership), + ContentTypeNodeId = 1044, + Text = Constants.Conventions.Member.StandardPropertiesGroupName, + Alias = Constants.Conventions.Member.StandardPropertiesGroupAlias, + SortOrder = 1, + }); } } @@ -1547,430 +1423,360 @@ private void CreatePropertyTypeData() // Media property types. if (_database.Exists(3)) { - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyType, - "id", - false, - new PropertyTypeDto - { - Id = 6, - UniqueId = new Guid("B646CA8F-E469-4FC2-A48A-D4DC1AA64A53"), - DataTypeId = Constants.DataTypes.ImageCropper, - ContentTypeId = 1032, - PropertyTypeGroupId = 3, - Alias = Constants.Conventions.Media.File, - Name = "Image", - SortOrder = 0, - Mandatory = true, - ValidationRegExp = null, - Description = null, - Variations = (byte)ContentVariation.Nothing, - }); - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyType, - "id", - false, - new PropertyTypeDto - { - Id = 7, - UniqueId = new Guid("A68D453B-1F62-44F4-9F71-0B6BBD43C355"), - DataTypeId = Constants.DataTypes.LabelPixels, - ContentTypeId = 1032, - PropertyTypeGroupId = 3, - Alias = Constants.Conventions.Media.Width, - Name = "Width", - SortOrder = 0, - Mandatory = false, - ValidationRegExp = null, - Description = null, - Variations = (byte)ContentVariation.Nothing, - }); - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyType, - "id", - false, - new PropertyTypeDto - { - Id = 8, - UniqueId = new Guid("854087F6-648B-40ED-BC98-B8A9789E80B9"), - DataTypeId = Constants.DataTypes.LabelPixels, - ContentTypeId = 1032, - PropertyTypeGroupId = 3, - Alias = Constants.Conventions.Media.Height, - Name = "Height", - SortOrder = 0, - Mandatory = false, - ValidationRegExp = null, - Description = null, - Variations = (byte)ContentVariation.Nothing, - }); - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyType, - "id", - false, - new PropertyTypeDto - { - Id = 9, - UniqueId = new Guid("BD4C5ACE-26E3-4A8B-AF1A-E8206A35FA07"), - DataTypeId = Constants.DataTypes.LabelBytes, - ContentTypeId = 1032, - PropertyTypeGroupId = 3, - Alias = Constants.Conventions.Media.Bytes, - Name = "File size", - SortOrder = 0, - Mandatory = false, - ValidationRegExp = null, - Description = null, - Variations = (byte)ContentVariation.Nothing, - }); - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyType, - "id", - false, - new PropertyTypeDto - { - Id = 10, - UniqueId = new Guid("F7786FE8-724A-4ED0-B244-72546DB32A92"), - DataTypeId = Constants.DataTypes.LabelString, - ContentTypeId = 1032, - PropertyTypeGroupId = 3, - Alias = Constants.Conventions.Media.Extension, - Name = "File extension", - SortOrder = 0, - Mandatory = false, - ValidationRegExp = null, - Description = null, - Variations = (byte)ContentVariation.Nothing, - }); + Insert(new PropertyTypeDto + { + Id = 6, + UniqueId = new Guid("B646CA8F-E469-4FC2-A48A-D4DC1AA64A53"), + DataTypeId = Constants.DataTypes.ImageCropper, + ContentTypeId = 1032, + PropertyTypeGroupId = 3, + Alias = Constants.Conventions.Media.File, + Name = "Image", + SortOrder = 0, + Mandatory = true, + ValidationRegExp = null, + Description = null, + Variations = (byte)ContentVariation.Nothing, + }); + + Insert(new PropertyTypeDto + { + Id = 7, + UniqueId = new Guid("A68D453B-1F62-44F4-9F71-0B6BBD43C355"), + DataTypeId = Constants.DataTypes.LabelPixels, + ContentTypeId = 1032, + PropertyTypeGroupId = 3, + Alias = Constants.Conventions.Media.Width, + Name = "Width", + SortOrder = 0, + Mandatory = false, + ValidationRegExp = null, + Description = null, + Variations = (byte)ContentVariation.Nothing, + }); + + Insert(new PropertyTypeDto + { + Id = 8, + UniqueId = new Guid("854087F6-648B-40ED-BC98-B8A9789E80B9"), + DataTypeId = Constants.DataTypes.LabelPixels, + ContentTypeId = 1032, + PropertyTypeGroupId = 3, + Alias = Constants.Conventions.Media.Height, + Name = "Height", + SortOrder = 0, + Mandatory = false, + ValidationRegExp = null, + Description = null, + Variations = (byte)ContentVariation.Nothing, + }); + + Insert(new PropertyTypeDto + { + Id = 9, + UniqueId = new Guid("BD4C5ACE-26E3-4A8B-AF1A-E8206A35FA07"), + DataTypeId = Constants.DataTypes.LabelBytes, + ContentTypeId = 1032, + PropertyTypeGroupId = 3, + Alias = Constants.Conventions.Media.Bytes, + Name = "File size", + SortOrder = 0, + Mandatory = false, + ValidationRegExp = null, + Description = null, + Variations = (byte)ContentVariation.Nothing, + }); + + Insert(new PropertyTypeDto + { + Id = 10, + UniqueId = new Guid("F7786FE8-724A-4ED0-B244-72546DB32A92"), + DataTypeId = Constants.DataTypes.LabelString, + ContentTypeId = 1032, + PropertyTypeGroupId = 3, + Alias = Constants.Conventions.Media.Extension, + Name = "File extension", + SortOrder = 0, + Mandatory = false, + ValidationRegExp = null, + Description = null, + Variations = (byte)ContentVariation.Nothing, + }); } if (_database.Exists(4)) { - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyType, - "id", - false, - new PropertyTypeDto - { - Id = 24, - UniqueId = new Guid("A0FB68F3-F427-47A6-AFCE-536FFA5B64E9"), - DataTypeId = Constants.DataTypes.Upload, - ContentTypeId = 1033, - PropertyTypeGroupId = 4, - Alias = Constants.Conventions.Media.File, - Name = "File", - SortOrder = 0, - Mandatory = true, - ValidationRegExp = null, - Description = null, - Variations = (byte)ContentVariation.Nothing, - }); - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyType, - "id", - false, - new PropertyTypeDto - { - Id = 25, - UniqueId = new Guid("3531C0A3-4E0A-4324-A621-B9D3822B071F"), - DataTypeId = Constants.DataTypes.LabelString, - ContentTypeId = 1033, - PropertyTypeGroupId = 4, - Alias = Constants.Conventions.Media.Extension, - Name = "File extension", - SortOrder = 0, - Mandatory = false, - ValidationRegExp = null, - Description = null, - Variations = (byte)ContentVariation.Nothing, - }); - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyType, - "id", - false, - new PropertyTypeDto - { - Id = 26, - UniqueId = new Guid("F9527050-59BC-43E4-8FA8-1658D1319FF5"), - DataTypeId = Constants.DataTypes.LabelBytes, - ContentTypeId = 1033, - PropertyTypeGroupId = 4, - Alias = Constants.Conventions.Media.Bytes, - Name = "File size", - SortOrder = 0, - Mandatory = false, - ValidationRegExp = null, - Description = null, - Variations = (byte)ContentVariation.Nothing, - }); + Insert(new PropertyTypeDto + { + Id = 24, + UniqueId = new Guid("A0FB68F3-F427-47A6-AFCE-536FFA5B64E9"), + DataTypeId = Constants.DataTypes.Upload, + ContentTypeId = 1033, + PropertyTypeGroupId = 4, + Alias = Constants.Conventions.Media.File, + Name = "File", + SortOrder = 0, + Mandatory = true, + ValidationRegExp = null, + Description = null, + Variations = (byte)ContentVariation.Nothing, + }); + + Insert(new PropertyTypeDto + { + Id = 25, + UniqueId = new Guid("3531C0A3-4E0A-4324-A621-B9D3822B071F"), + DataTypeId = Constants.DataTypes.LabelString, + ContentTypeId = 1033, + PropertyTypeGroupId = 4, + Alias = Constants.Conventions.Media.Extension, + Name = "File extension", + SortOrder = 0, + Mandatory = false, + ValidationRegExp = null, + Description = null, + Variations = (byte)ContentVariation.Nothing, + }); + + Insert(new PropertyTypeDto + { + Id = 26, + UniqueId = new Guid("F9527050-59BC-43E4-8FA8-1658D1319FF5"), + DataTypeId = Constants.DataTypes.LabelBytes, + ContentTypeId = 1033, + PropertyTypeGroupId = 4, + Alias = Constants.Conventions.Media.Bytes, + Name = "File size", + SortOrder = 0, + Mandatory = false, + ValidationRegExp = null, + Description = null, + Variations = (byte)ContentVariation.Nothing, + }); } if (_database.Exists(52)) { - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyType, - "id", - false, - new PropertyTypeDto - { - Id = 40, - UniqueId = new Guid("BED8AB97-D85F-44D2-A8B9-AEF6893F9610"), - DataTypeId = Constants.DataTypes.UploadVideo, - ContentTypeId = 1034, - PropertyTypeGroupId = 52, - Alias = Constants.Conventions.Media.File, - Name = "Video", - SortOrder = 0, - Mandatory = true, - ValidationRegExp = null, - Description = null, - Variations = (byte)ContentVariation.Nothing, - }); - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyType, - "id", - false, - new PropertyTypeDto - { - Id = 41, - UniqueId = new Guid("EDD2B3FD-1E57-4E57-935E-096DEFCCDC9B"), - DataTypeId = Constants.DataTypes.LabelString, - ContentTypeId = 1034, - PropertyTypeGroupId = 52, - Alias = Constants.Conventions.Media.Extension, - Name = "File extension", - SortOrder = 0, - Mandatory = false, - ValidationRegExp = null, - Description = null, - Variations = (byte)ContentVariation.Nothing, - }); - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyType, - "id", - false, - new PropertyTypeDto - { - Id = 42, - UniqueId = new Guid("180EEECF-1F00-409E-8234-BBA967E08B0A"), - DataTypeId = Constants.DataTypes.LabelBytes, - ContentTypeId = 1034, - PropertyTypeGroupId = 52, - Alias = Constants.Conventions.Media.Bytes, - Name = "File size", - SortOrder = 0, - Mandatory = false, - ValidationRegExp = null, - Description = null, - Variations = (byte)ContentVariation.Nothing, - }); + Insert(new PropertyTypeDto + { + Id = 40, + UniqueId = new Guid("BED8AB97-D85F-44D2-A8B9-AEF6893F9610"), + DataTypeId = Constants.DataTypes.UploadVideo, + ContentTypeId = 1034, + PropertyTypeGroupId = 52, + Alias = Constants.Conventions.Media.File, + Name = "Video", + SortOrder = 0, + Mandatory = true, + ValidationRegExp = null, + Description = null, + Variations = (byte)ContentVariation.Nothing, + }); + + Insert(new PropertyTypeDto + { + Id = 41, + UniqueId = new Guid("EDD2B3FD-1E57-4E57-935E-096DEFCCDC9B"), + DataTypeId = Constants.DataTypes.LabelString, + ContentTypeId = 1034, + PropertyTypeGroupId = 52, + Alias = Constants.Conventions.Media.Extension, + Name = "File extension", + SortOrder = 0, + Mandatory = false, + ValidationRegExp = null, + Description = null, + Variations = (byte)ContentVariation.Nothing, + }); + + Insert(new PropertyTypeDto + { + Id = 42, + UniqueId = new Guid("180EEECF-1F00-409E-8234-BBA967E08B0A"), + DataTypeId = Constants.DataTypes.LabelBytes, + ContentTypeId = 1034, + PropertyTypeGroupId = 52, + Alias = Constants.Conventions.Media.Bytes, + Name = "File size", + SortOrder = 0, + Mandatory = false, + ValidationRegExp = null, + Description = null, + Variations = (byte)ContentVariation.Nothing, + }); } if (_database.Exists(53)) { - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyType, - "id", - false, - new PropertyTypeDto - { - Id = 43, - UniqueId = new Guid("1F48D730-F174-4684-AFAD-A335E59D84A0"), - DataTypeId = Constants.DataTypes.UploadAudio, - ContentTypeId = 1035, - PropertyTypeGroupId = 53, - Alias = Constants.Conventions.Media.File, - Name = "Audio", - SortOrder = 0, - Mandatory = true, - ValidationRegExp = null, - Description = null, - Variations = (byte)ContentVariation.Nothing, - }); - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyType, - "id", - false, - new PropertyTypeDto - { - Id = 44, - UniqueId = new Guid("1BEE433F-A21A-4031-8E03-AF01BB8D2DE9"), - DataTypeId = Constants.DataTypes.LabelString, - ContentTypeId = 1035, - PropertyTypeGroupId = 53, - Alias = Constants.Conventions.Media.Extension, - Name = "File extension", - SortOrder = 0, - Mandatory = false, - ValidationRegExp = null, - Description = null, - Variations = (byte)ContentVariation.Nothing, - }); - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyType, - "id", - false, - new PropertyTypeDto - { - Id = 45, - UniqueId = new Guid("3CBF538A-29AB-4317-A9EB-BBCDF1A54260"), - DataTypeId = Constants.DataTypes.LabelBytes, - ContentTypeId = 1035, - PropertyTypeGroupId = 53, - Alias = Constants.Conventions.Media.Bytes, - Name = "File size", - SortOrder = 0, - Mandatory = false, - ValidationRegExp = null, - Description = null, - Variations = (byte)ContentVariation.Nothing, - }); + Insert(new PropertyTypeDto + { + Id = 43, + UniqueId = new Guid("1F48D730-F174-4684-AFAD-A335E59D84A0"), + DataTypeId = Constants.DataTypes.UploadAudio, + ContentTypeId = 1035, + PropertyTypeGroupId = 53, + Alias = Constants.Conventions.Media.File, + Name = "Audio", + SortOrder = 0, + Mandatory = true, + ValidationRegExp = null, + Description = null, + Variations = (byte)ContentVariation.Nothing, + }); + + Insert(new PropertyTypeDto + { + Id = 44, + UniqueId = new Guid("1BEE433F-A21A-4031-8E03-AF01BB8D2DE9"), + DataTypeId = Constants.DataTypes.LabelString, + ContentTypeId = 1035, + PropertyTypeGroupId = 53, + Alias = Constants.Conventions.Media.Extension, + Name = "File extension", + SortOrder = 0, + Mandatory = false, + ValidationRegExp = null, + Description = null, + Variations = (byte)ContentVariation.Nothing, + }); + + Insert(new PropertyTypeDto + { + Id = 45, + UniqueId = new Guid("3CBF538A-29AB-4317-A9EB-BBCDF1A54260"), + DataTypeId = Constants.DataTypes.LabelBytes, + ContentTypeId = 1035, + PropertyTypeGroupId = 53, + Alias = Constants.Conventions.Media.Bytes, + Name = "File size", + SortOrder = 0, + Mandatory = false, + ValidationRegExp = null, + Description = null, + Variations = (byte)ContentVariation.Nothing, + }); } if (_database.Exists(54)) { - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyType, - "id", - false, - new PropertyTypeDto - { - Id = 46, - UniqueId = new Guid("E5C8C2D0-2D82-4F01-B53A-45A1D1CBF19C"), - DataTypeId = Constants.DataTypes.UploadArticle, - ContentTypeId = 1036, - PropertyTypeGroupId = 54, - Alias = Constants.Conventions.Media.File, - Name = "Article", - SortOrder = 0, - Mandatory = true, - ValidationRegExp = null, - Description = null, - Variations = (byte)ContentVariation.Nothing, - }); - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyType, - "id", - false, - new PropertyTypeDto - { - Id = 47, - UniqueId = new Guid("EF1B4AF7-36DE-45EB-8C18-A2DE07319227"), - DataTypeId = Constants.DataTypes.LabelString, - ContentTypeId = 1036, - PropertyTypeGroupId = 54, - Alias = Constants.Conventions.Media.Extension, - Name = "File extension", - SortOrder = 0, - Mandatory = false, - ValidationRegExp = null, - Description = null, - Variations = (byte)ContentVariation.Nothing, - }); - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyType, - "id", - false, - new PropertyTypeDto - { - Id = 48, - UniqueId = new Guid("AAB7D00C-7209-4337-BE3F-A4421C8D79A0"), - DataTypeId = Constants.DataTypes.LabelBytes, - ContentTypeId = 1036, - PropertyTypeGroupId = 54, - Alias = Constants.Conventions.Media.Bytes, - Name = "File size", - SortOrder = 0, - Mandatory = false, - ValidationRegExp = null, - Description = null, - Variations = (byte)ContentVariation.Nothing, - }); + Insert(new PropertyTypeDto + { + Id = 46, + UniqueId = new Guid("E5C8C2D0-2D82-4F01-B53A-45A1D1CBF19C"), + DataTypeId = Constants.DataTypes.UploadArticle, + ContentTypeId = 1036, + PropertyTypeGroupId = 54, + Alias = Constants.Conventions.Media.File, + Name = "Article", + SortOrder = 0, + Mandatory = true, + ValidationRegExp = null, + Description = null, + Variations = (byte)ContentVariation.Nothing, + }); + + Insert(new PropertyTypeDto + { + Id = 47, + UniqueId = new Guid("EF1B4AF7-36DE-45EB-8C18-A2DE07319227"), + DataTypeId = Constants.DataTypes.LabelString, + ContentTypeId = 1036, + PropertyTypeGroupId = 54, + Alias = Constants.Conventions.Media.Extension, + Name = "File extension", + SortOrder = 0, + Mandatory = false, + ValidationRegExp = null, + Description = null, + Variations = (byte)ContentVariation.Nothing, + }); + + Insert(new PropertyTypeDto + { + Id = 48, + UniqueId = new Guid("AAB7D00C-7209-4337-BE3F-A4421C8D79A0"), + DataTypeId = Constants.DataTypes.LabelBytes, + ContentTypeId = 1036, + PropertyTypeGroupId = 54, + Alias = Constants.Conventions.Media.Bytes, + Name = "File size", + SortOrder = 0, + Mandatory = false, + ValidationRegExp = null, + Description = null, + Variations = (byte)ContentVariation.Nothing, + }); } if (_database.Exists(55)) { - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyType, - "id", - false, - new PropertyTypeDto - { - Id = 49, - UniqueId = new Guid("E2A2BDF2-971B-483E-95A1-4104CC06AF26"), - DataTypeId = Constants.DataTypes.UploadVectorGraphics, - ContentTypeId = 1037, - PropertyTypeGroupId = 55, - Alias = Constants.Conventions.Media.File, - Name = "Vector Graphics", - SortOrder = 0, - Mandatory = true, - ValidationRegExp = null, - Description = null, - Variations = (byte)ContentVariation.Nothing, - }); - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyType, - "id", - false, - new PropertyTypeDto - { - Id = 50, - UniqueId = new Guid("0F25A89E-2EB7-49BC-A7B4-759A7E4C69F2"), - DataTypeId = Constants.DataTypes.LabelString, - ContentTypeId = 1037, - PropertyTypeGroupId = 55, - Alias = Constants.Conventions.Media.Extension, - Name = "File extension", - SortOrder = 0, - Mandatory = false, - ValidationRegExp = null, - Description = null, - Variations = (byte)ContentVariation.Nothing, - }); - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyType, - "id", - false, - new PropertyTypeDto - { - Id = 51, - UniqueId = new Guid("09A07AFF-861D-4769-A2B0-C165EBD43D39"), - DataTypeId = Constants.DataTypes.LabelBytes, - ContentTypeId = 1037, - PropertyTypeGroupId = 55, - Alias = Constants.Conventions.Media.Bytes, - Name = "File size", - SortOrder = 0, - Mandatory = false, - ValidationRegExp = null, - Description = null, - Variations = (byte)ContentVariation.Nothing, - }); + Insert(new PropertyTypeDto + { + Id = 49, + UniqueId = new Guid("E2A2BDF2-971B-483E-95A1-4104CC06AF26"), + DataTypeId = Constants.DataTypes.UploadVectorGraphics, + ContentTypeId = 1037, + PropertyTypeGroupId = 55, + Alias = Constants.Conventions.Media.File, + Name = "Vector Graphics", + SortOrder = 0, + Mandatory = true, + ValidationRegExp = null, + Description = null, + Variations = (byte)ContentVariation.Nothing, + }); + + Insert(new PropertyTypeDto + { + Id = 50, + UniqueId = new Guid("0F25A89E-2EB7-49BC-A7B4-759A7E4C69F2"), + DataTypeId = Constants.DataTypes.LabelString, + ContentTypeId = 1037, + PropertyTypeGroupId = 55, + Alias = Constants.Conventions.Media.Extension, + Name = "File extension", + SortOrder = 0, + Mandatory = false, + ValidationRegExp = null, + Description = null, + Variations = (byte)ContentVariation.Nothing, + }); + + Insert(new PropertyTypeDto + { + Id = 51, + UniqueId = new Guid("09A07AFF-861D-4769-A2B0-C165EBD43D39"), + DataTypeId = Constants.DataTypes.LabelBytes, + ContentTypeId = 1037, + PropertyTypeGroupId = 55, + Alias = Constants.Conventions.Media.Bytes, + Name = "File size", + SortOrder = 0, + Mandatory = false, + ValidationRegExp = null, + Description = null, + Variations = (byte)ContentVariation.Nothing, + }); } // Membership property types. if (_database.Exists(11)) { - _database.Insert( - Constants.DatabaseSchema.Tables.PropertyType, - "id", - false, - new PropertyTypeDto - { - Id = 28, - UniqueId = new Guid("70F24C26-1C0E-4053-BD8E-E9E6E4EC4C01"), - DataTypeId = Constants.DataTypes.Textarea, - ContentTypeId = 1044, - PropertyTypeGroupId = 11, - Alias = Constants.Conventions.Member.Comments, - Name = Constants.Conventions.Member.CommentsLabel, - SortOrder = 0, - Mandatory = false, - ValidationRegExp = null, - Description = null, - Variations = (byte)ContentVariation.Nothing, - }); + Insert(new PropertyTypeDto + { + Id = 28, + UniqueId = new Guid("70F24C26-1C0E-4053-BD8E-E9E6E4EC4C01"), + DataTypeId = Constants.DataTypes.Textarea, + ContentTypeId = 1044, + PropertyTypeGroupId = 11, + Alias = Constants.Conventions.Member.Comments, + Name = Constants.Conventions.Member.CommentsLabel, + SortOrder = 0, + Mandatory = false, + ValidationRegExp = null, + Description = null, + Variations = (byte)ContentVariation.Nothing, + }); } } @@ -1992,14 +1798,13 @@ private void CreateLanguageData() continue; } - var dto = new LanguageDto + Insert(new LanguageDto { Id = id, IsoCode = culture.Name, CultureName = culture.EnglishName, IsDefault = isDefault, - }; - _database.Insert(Constants.DatabaseSchema.Tables.Language, "id", false, dto); + }); isDefault = false; id += 1; } @@ -2012,9 +1817,13 @@ private void CreateLanguageData() ConditionalInsert( Constants.Configuration.NamedOptions.InstallDefaultData.Languages, culture.Name, - new LanguageDto { Id = 1, IsoCode = culture.Name, CultureName = culture.EnglishName, IsDefault = true }, - Constants.DatabaseSchema.Tables.Language, - "id"); + new LanguageDto + { + Id = 1, + IsoCode = culture.Name, + CultureName = culture.EnglishName, + IsDefault = true + }); } } } @@ -2034,7 +1843,7 @@ private bool TryCreateCulture(string isoCode, [NotNullWhen(true)] out CultureInf } } - private void CreateContentChildTypeData() + private void CreateContentTypeAllowedContentType() { // Insert data if the corresponding Node records exist (which may or may not have been created depending on configuration // of media types to create). @@ -2043,21 +1852,13 @@ private void CreateContentChildTypeData() return; } - _database.Insert( - Constants.DatabaseSchema.Tables.ContentChildType, - "Id", - false, - new ContentTypeAllowedContentTypeDto { Id = 1031, AllowedId = 1031 }); + Insert(new ContentTypeAllowedContentTypeDto { Id = 1031, AllowedId = 1031 }); for (var i = 1032; i <= 1037; i++) { if (_database.Exists(i)) { - _database.Insert( - Constants.DatabaseSchema.Tables.ContentChildType, - "Id", - false, - new ContentTypeAllowedContentTypeDto { Id = 1031, AllowedId = i }); + Insert(new ContentTypeAllowedContentTypeDto { Id = 1031, AllowedId = i }); } } } @@ -2075,7 +1876,7 @@ void InsertDataTypeDto(int id, string editorAlias, string editorUiAlias, string if (_database.Exists(id)) { - _database.Insert(Constants.DatabaseSchema.Tables.DataType, "pk", false, dataTypeDto); + Insert(dataTypeDto); } } @@ -2092,93 +1893,69 @@ string GridCollectionView(string collectionViewType) => // of data types to create). if (_database.Exists(Constants.DataTypes.Boolean)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = Constants.DataTypes.Boolean, - EditorAlias = Constants.PropertyEditors.Aliases.Boolean, - EditorUiAlias = "Umb.PropertyEditorUi.Toggle", - DbType = "Integer", - }); + Insert(new DataTypeDto + { + NodeId = Constants.DataTypes.Boolean, + EditorAlias = Constants.PropertyEditors.Aliases.Boolean, + EditorUiAlias = "Umb.PropertyEditorUi.Toggle", + DbType = "Integer", + }); } if (_database.Exists(-51)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = -51, - EditorAlias = Constants.PropertyEditors.Aliases.Integer, - EditorUiAlias = "Umb.PropertyEditorUi.Integer", - DbType = "Integer", - }); + Insert(new DataTypeDto + { + NodeId = -51, + EditorAlias = Constants.PropertyEditors.Aliases.Integer, + EditorUiAlias = "Umb.PropertyEditorUi.Integer", + DbType = "Integer", + }); } if (_database.Exists(Constants.DataTypes.RichtextEditor)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = Constants.DataTypes.RichtextEditor, - EditorAlias = Constants.PropertyEditors.Aliases.RichText, - EditorUiAlias = "Umb.PropertyEditorUi.Tiptap", - DbType = "Ntext", - Configuration = "{\"extensions\": [\"Umb.Tiptap.RichTextEssentials\", \"Umb.Tiptap.Anchor\", \"Umb.Tiptap.Block\", \"Umb.Tiptap.Blockquote\", \"Umb.Tiptap.Bold\", \"Umb.Tiptap.BulletList\", \"Umb.Tiptap.CodeBlock\", \"Umb.Tiptap.Embed\", \"Umb.Tiptap.Figure\", \"Umb.Tiptap.Heading\", \"Umb.Tiptap.HorizontalRule\", \"Umb.Tiptap.HtmlAttributeClass\", \"Umb.Tiptap.HtmlAttributeDataset\", \"Umb.Tiptap.HtmlAttributeId\", \"Umb.Tiptap.HtmlAttributeStyle\", \"Umb.Tiptap.HtmlTagDiv\", \"Umb.Tiptap.HtmlTagSpan\", \"Umb.Tiptap.Image\", \"Umb.Tiptap.Italic\", \"Umb.Tiptap.Link\", \"Umb.Tiptap.MediaUpload\", \"Umb.Tiptap.OrderedList\", \"Umb.Tiptap.Strike\", \"Umb.Tiptap.Subscript\", \"Umb.Tiptap.Superscript\", \"Umb.Tiptap.Table\", \"Umb.Tiptap.TextAlign\", \"Umb.Tiptap.TextDirection\", \"Umb.Tiptap.TextIndent\", \"Umb.Tiptap.TrailingNode\", \"Umb.Tiptap.Underline\"], \"maxImageSize\": 500, \"overlaySize\": \"medium\", \"toolbar\": [[[\"Umb.Tiptap.Toolbar.SourceEditor\"], [\"Umb.Tiptap.Toolbar.Bold\", \"Umb.Tiptap.Toolbar.Italic\", \"Umb.Tiptap.Toolbar.Underline\"], [\"Umb.Tiptap.Toolbar.TextAlignLeft\", \"Umb.Tiptap.Toolbar.TextAlignCenter\", \"Umb.Tiptap.Toolbar.TextAlignRight\"], [\"Umb.Tiptap.Toolbar.BulletList\", \"Umb.Tiptap.Toolbar.OrderedList\"], [\"Umb.Tiptap.Toolbar.Blockquote\", \"Umb.Tiptap.Toolbar.HorizontalRule\"], [\"Umb.Tiptap.Toolbar.Link\", \"Umb.Tiptap.Toolbar.Unlink\"], [\"Umb.Tiptap.Toolbar.MediaPicker\", \"Umb.Tiptap.Toolbar.EmbeddedMedia\"]]]}", - }); + Insert(new DataTypeDto + { + NodeId = Constants.DataTypes.RichtextEditor, + EditorAlias = Constants.PropertyEditors.Aliases.RichText, + EditorUiAlias = "Umb.PropertyEditorUi.Tiptap", + DbType = "Ntext", + Configuration = "{\"extensions\": [\"Umb.Tiptap.RichTextEssentials\", \"Umb.Tiptap.Anchor\", \"Umb.Tiptap.Block\", \"Umb.Tiptap.Blockquote\", \"Umb.Tiptap.Bold\", \"Umb.Tiptap.BulletList\", \"Umb.Tiptap.CodeBlock\", \"Umb.Tiptap.Embed\", \"Umb.Tiptap.Figure\", \"Umb.Tiptap.Heading\", \"Umb.Tiptap.HorizontalRule\", \"Umb.Tiptap.HtmlAttributeClass\", \"Umb.Tiptap.HtmlAttributeDataset\", \"Umb.Tiptap.HtmlAttributeId\", \"Umb.Tiptap.HtmlAttributeStyle\", \"Umb.Tiptap.HtmlTagDiv\", \"Umb.Tiptap.HtmlTagSpan\", \"Umb.Tiptap.Image\", \"Umb.Tiptap.Italic\", \"Umb.Tiptap.Link\", \"Umb.Tiptap.MediaUpload\", \"Umb.Tiptap.OrderedList\", \"Umb.Tiptap.Strike\", \"Umb.Tiptap.Subscript\", \"Umb.Tiptap.Superscript\", \"Umb.Tiptap.Table\", \"Umb.Tiptap.TextAlign\", \"Umb.Tiptap.TextDirection\", \"Umb.Tiptap.TextIndent\", \"Umb.Tiptap.TrailingNode\", \"Umb.Tiptap.Underline\"], \"maxImageSize\": 500, \"overlaySize\": \"medium\", \"toolbar\": [[[\"Umb.Tiptap.Toolbar.SourceEditor\"], [\"Umb.Tiptap.Toolbar.Bold\", \"Umb.Tiptap.Toolbar.Italic\", \"Umb.Tiptap.Toolbar.Underline\"], [\"Umb.Tiptap.Toolbar.TextAlignLeft\", \"Umb.Tiptap.Toolbar.TextAlignCenter\", \"Umb.Tiptap.Toolbar.TextAlignRight\"], [\"Umb.Tiptap.Toolbar.BulletList\", \"Umb.Tiptap.Toolbar.OrderedList\"], [\"Umb.Tiptap.Toolbar.Blockquote\", \"Umb.Tiptap.Toolbar.HorizontalRule\"], [\"Umb.Tiptap.Toolbar.Link\", \"Umb.Tiptap.Toolbar.Unlink\"], [\"Umb.Tiptap.Toolbar.MediaPicker\", \"Umb.Tiptap.Toolbar.EmbeddedMedia\"]]]}", + }); } if (_database.Exists(Constants.DataTypes.Textbox)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = Constants.DataTypes.Textbox, - EditorAlias = Constants.PropertyEditors.Aliases.TextBox, - EditorUiAlias = "Umb.PropertyEditorUi.TextBox", - DbType = "Nvarchar", - }); + Insert(new DataTypeDto + { + NodeId = Constants.DataTypes.Textbox, + EditorAlias = Constants.PropertyEditors.Aliases.TextBox, + EditorUiAlias = "Umb.PropertyEditorUi.TextBox", + DbType = "Nvarchar", + }); } if (_database.Exists(Constants.DataTypes.Textarea)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = Constants.DataTypes.Textarea, - EditorAlias = Constants.PropertyEditors.Aliases.TextArea, - EditorUiAlias = "Umb.PropertyEditorUi.TextArea", - DbType = "Ntext", - }); + Insert(new DataTypeDto + { + NodeId = Constants.DataTypes.Textarea, + EditorAlias = Constants.PropertyEditors.Aliases.TextArea, + EditorUiAlias = "Umb.PropertyEditorUi.TextArea", + DbType = "Ntext", + }); } if (_database.Exists(Constants.DataTypes.Upload)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = Constants.DataTypes.Upload, - EditorAlias = Constants.PropertyEditors.Aliases.UploadField, - EditorUiAlias = "Umb.PropertyEditorUi.UploadField", - DbType = "Nvarchar", - }); + Insert(new DataTypeDto + { + NodeId = Constants.DataTypes.Upload, + EditorAlias = Constants.PropertyEditors.Aliases.UploadField, + EditorUiAlias = "Umb.PropertyEditorUi.UploadField", + DbType = "Nvarchar", + }); } InsertDataTypeDto( @@ -2187,42 +1964,49 @@ string GridCollectionView(string collectionViewType) => "Umb.PropertyEditorUi.Label", "Nvarchar", "{\"umbracoDataValueType\":\"STRING\"}"); + InsertDataTypeDto( Constants.DataTypes.LabelInt, Constants.PropertyEditors.Aliases.Label, "Umb.PropertyEditorUi.Label", "Integer", "{\"umbracoDataValueType\":\"INT\"}"); + InsertDataTypeDto( Constants.DataTypes.LabelBigint, Constants.PropertyEditors.Aliases.Label, "Umb.PropertyEditorUi.Label", "Nvarchar", "{\"umbracoDataValueType\":\"BIGINT\"}"); + InsertDataTypeDto( Constants.DataTypes.LabelDateTime, Constants.PropertyEditors.Aliases.Label, "Umb.PropertyEditorUi.Label", "Date", "{\"umbracoDataValueType\":\"DATETIME\"}"); + InsertDataTypeDto( Constants.DataTypes.LabelDecimal, Constants.PropertyEditors.Aliases.Label, "Umb.PropertyEditorUi.Label", "Decimal", "{\"umbracoDataValueType\":\"DECIMAL\"}"); + InsertDataTypeDto( Constants.DataTypes.LabelTime, Constants.PropertyEditors.Aliases.Label, "Umb.PropertyEditorUi.Label", "Date", "{\"umbracoDataValueType\":\"TIME\"}"); + InsertDataTypeDto( Constants.DataTypes.LabelBytes, Constants.PropertyEditors.Aliases.Label, "Umb.PropertyEditorUi.Label", "Nvarchar", "{\"umbracoDataValueType\":\"BIGINT\", \"labelTemplate\":\"{=value | bytes}\"}"); + InsertDataTypeDto( Constants.DataTypes.LabelPixels, Constants.PropertyEditors.Aliases.Label, @@ -2232,33 +2016,25 @@ string GridCollectionView(string collectionViewType) => if (_database.Exists(Constants.DataTypes.DateTime)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = Constants.DataTypes.DateTime, - EditorAlias = Constants.PropertyEditors.Aliases.DateTime, - EditorUiAlias = "Umb.PropertyEditorUi.DatePicker", - DbType = "Date", - Configuration = "{\"format\":\"YYYY-MM-DD HH:mm:ss\"}", - }); + Insert(new DataTypeDto + { + NodeId = Constants.DataTypes.DateTime, + EditorAlias = Constants.PropertyEditors.Aliases.DateTime, + EditorUiAlias = "Umb.PropertyEditorUi.DatePicker", + DbType = "Date", + Configuration = "{\"format\":\"YYYY-MM-DD HH:mm:ss\"}", + }); } if (_database.Exists(-37)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = -37, - EditorAlias = Constants.PropertyEditors.Aliases.ColorPicker, - EditorUiAlias = "Umb.PropertyEditorUi.ColorPicker", - DbType = "Nvarchar", - }); + Insert(new DataTypeDto + { + NodeId = -37, + EditorAlias = Constants.PropertyEditors.Aliases.ColorPicker, + EditorUiAlias = "Umb.PropertyEditorUi.ColorPicker", + DbType = "Nvarchar", + }); } InsertDataTypeDto( @@ -2270,33 +2046,25 @@ string GridCollectionView(string collectionViewType) => if (_database.Exists(-40)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = -40, - EditorAlias = Constants.PropertyEditors.Aliases.RadioButtonList, - EditorUiAlias = "Umb.PropertyEditorUi.RadioButtonList", - DbType = "Nvarchar", - }); + Insert(new DataTypeDto + { + NodeId = -40, + EditorAlias = Constants.PropertyEditors.Aliases.RadioButtonList, + EditorUiAlias = "Umb.PropertyEditorUi.RadioButtonList", + DbType = "Nvarchar", + }); } if (_database.Exists(-41)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = -41, - EditorAlias = Constants.PropertyEditors.Aliases.DateTime, - EditorUiAlias = "Umb.PropertyEditorUi.DatePicker", - DbType = "Date", - Configuration = "{\"format\":\"YYYY-MM-DD\"}", - }); + Insert(new DataTypeDto + { + NodeId = -41, + EditorAlias = Constants.PropertyEditors.Aliases.DateTime, + EditorUiAlias = "Umb.PropertyEditorUi.DatePicker", + DbType = "Date", + Configuration = "{\"format\":\"YYYY-MM-DD\"}", + }); } InsertDataTypeDto( @@ -2308,298 +2076,226 @@ string GridCollectionView(string collectionViewType) => if (_database.Exists(-43)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = -43, - EditorAlias = Constants.PropertyEditors.Aliases.CheckBoxList, - EditorUiAlias = "Umb.PropertyEditorUi.CheckBoxList", - DbType = "Ntext", - }); + Insert(new DataTypeDto + { + NodeId = -43, + EditorAlias = Constants.PropertyEditors.Aliases.CheckBoxList, + EditorUiAlias = "Umb.PropertyEditorUi.CheckBoxList", + DbType = "Ntext", + }); } if (_database.Exists(Constants.DataTypes.Tags)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = Constants.DataTypes.Tags, - EditorAlias = Constants.PropertyEditors.Aliases.Tags, - EditorUiAlias = "Umb.PropertyEditorUi.Tags", - DbType = "Ntext", - Configuration = "{\"group\":\"default\", \"storageType\":\"Json\"}", - }); + Insert(new DataTypeDto + { + NodeId = Constants.DataTypes.Tags, + EditorAlias = Constants.PropertyEditors.Aliases.Tags, + EditorUiAlias = "Umb.PropertyEditorUi.Tags", + DbType = "Ntext", + Configuration = "{\"group\":\"default\", \"storageType\":\"Json\"}", + }); } if (_database.Exists(Constants.DataTypes.ImageCropper)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = Constants.DataTypes.ImageCropper, - EditorAlias = Constants.PropertyEditors.Aliases.ImageCropper, - EditorUiAlias = "Umb.PropertyEditorUi.ImageCropper", - DbType = "Ntext", - }); + Insert(new DataTypeDto + { + NodeId = Constants.DataTypes.ImageCropper, + EditorAlias = Constants.PropertyEditors.Aliases.ImageCropper, + EditorUiAlias = "Umb.PropertyEditorUi.ImageCropper", + DbType = "Ntext", + }); } if (_database.Exists(Constants.DataTypes.DefaultContentListView)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = Constants.DataTypes.DefaultContentListView, - EditorAlias = Constants.PropertyEditors.Aliases.ListView, - EditorUiAlias = "Umb.PropertyEditorUi.Collection", - DbType = "Nvarchar", - Configuration = + Insert(new DataTypeDto + { + NodeId = Constants.DataTypes.DefaultContentListView, + EditorAlias = Constants.PropertyEditors.Aliases.ListView, + EditorUiAlias = "Umb.PropertyEditorUi.Collection", + DbType = "Nvarchar", + Configuration = "{\"pageSize\":100, \"orderBy\":\"updateDate\", \"orderDirection\":\"desc\", \"layouts\":" + Layouts("Document") + ", \"includeProperties\":[{\"alias\":\"updateDate\",\"header\":\"Last edited\",\"isSystem\":true},{\"alias\":\"creator\",\"header\":\"Updated by\",\"isSystem\":true}]}", - }); + }); } if (_database.Exists(Constants.DataTypes.DefaultMediaListView)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = Constants.DataTypes.DefaultMediaListView, - EditorAlias = Constants.PropertyEditors.Aliases.ListView, - EditorUiAlias = "Umb.PropertyEditorUi.Collection", - DbType = "Nvarchar", - Configuration = + Insert(new DataTypeDto + { + NodeId = Constants.DataTypes.DefaultMediaListView, + EditorAlias = Constants.PropertyEditors.Aliases.ListView, + EditorUiAlias = "Umb.PropertyEditorUi.Collection", + DbType = "Nvarchar", + Configuration = "{\"pageSize\":100, \"orderBy\":\"updateDate\", \"orderDirection\":\"desc\", \"layouts\":" + Layouts("Media") + ", \"includeProperties\":[{\"alias\":\"updateDate\",\"header\":\"Last edited\",\"isSystem\":true},{\"alias\":\"creator\",\"header\":\"Updated by\",\"isSystem\":true}]}", - }); + }); } if (_database.Exists(Constants.DataTypes.DefaultMembersListView)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = Constants.DataTypes.DefaultMembersListView, - EditorAlias = Constants.PropertyEditors.Aliases.ListView, - EditorUiAlias = "Umb.PropertyEditorUi.Collection", - DbType = "Nvarchar", - Configuration = + Insert(new DataTypeDto + { + NodeId = Constants.DataTypes.DefaultMembersListView, + EditorAlias = Constants.PropertyEditors.Aliases.ListView, + EditorUiAlias = "Umb.PropertyEditorUi.Collection", + DbType = "Nvarchar", + Configuration = "{\"pageSize\":10, \"orderBy\":\"username\", \"orderDirection\":\"asc\", \"includeProperties\":[{\"alias\":\"username\",\"isSystem\":true},{\"alias\":\"email\",\"isSystem\":true},{\"alias\":\"updateDate\",\"header\":\"Last edited\",\"isSystem\":true}]}", - }); + }); } // New UDI pickers with newer Ids if (_database.Exists(1046)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = 1046, - EditorAlias = Constants.PropertyEditors.Aliases.ContentPicker, - EditorUiAlias = "Umb.PropertyEditorUi.DocumentPicker", - DbType = "Nvarchar", - }); + Insert(new DataTypeDto + { + NodeId = 1046, + EditorAlias = Constants.PropertyEditors.Aliases.ContentPicker, + EditorUiAlias = "Umb.PropertyEditorUi.DocumentPicker", + DbType = "Nvarchar", + }); } if (_database.Exists(1047)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = 1047, - EditorAlias = Constants.PropertyEditors.Aliases.MemberPicker, - EditorUiAlias = "Umb.PropertyEditorUi.MemberPicker", - DbType = "Nvarchar", - }); + Insert(new DataTypeDto + { + NodeId = 1047, + EditorAlias = Constants.PropertyEditors.Aliases.MemberPicker, + EditorUiAlias = "Umb.PropertyEditorUi.MemberPicker", + DbType = "Nvarchar", + }); } if (_database.Exists(1050)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = 1050, - EditorAlias = Constants.PropertyEditors.Aliases.MultiUrlPicker, - EditorUiAlias = "Umb.PropertyEditorUi.MultiUrlPicker", - DbType = "Ntext", - }); + Insert(new DataTypeDto + { + NodeId = 1050, + EditorAlias = Constants.PropertyEditors.Aliases.MultiUrlPicker, + EditorUiAlias = "Umb.PropertyEditorUi.MultiUrlPicker", + DbType = "Ntext", + }); } if (_database.Exists(Constants.DataTypes.UploadVideo)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = Constants.DataTypes.UploadVideo, - EditorAlias = Constants.PropertyEditors.Aliases.UploadField, - EditorUiAlias = "Umb.PropertyEditorUi.UploadField", - DbType = "Nvarchar", - Configuration = + Insert(new DataTypeDto + { + NodeId = Constants.DataTypes.UploadVideo, + EditorAlias = Constants.PropertyEditors.Aliases.UploadField, + EditorUiAlias = "Umb.PropertyEditorUi.UploadField", + DbType = "Nvarchar", + Configuration = "{\"fileExtensions\":[\"mp4\",\"webm\",\"ogv\"]}", - }); + }); } if (_database.Exists(Constants.DataTypes.UploadAudio)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = Constants.DataTypes.UploadAudio, - EditorAlias = Constants.PropertyEditors.Aliases.UploadField, - EditorUiAlias = "Umb.PropertyEditorUi.UploadField", - DbType = "Nvarchar", - Configuration = + Insert(new DataTypeDto + { + NodeId = Constants.DataTypes.UploadAudio, + EditorAlias = Constants.PropertyEditors.Aliases.UploadField, + EditorUiAlias = "Umb.PropertyEditorUi.UploadField", + DbType = "Nvarchar", + Configuration = "{\"fileExtensions\":[\"mp3\",\"weba\",\"oga\",\"opus\"]}", - }); + }); } if (_database.Exists(Constants.DataTypes.UploadArticle)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = Constants.DataTypes.UploadArticle, - EditorAlias = Constants.PropertyEditors.Aliases.UploadField, - EditorUiAlias = "Umb.PropertyEditorUi.UploadField", - DbType = "Nvarchar", - Configuration = + Insert(new DataTypeDto + { + NodeId = Constants.DataTypes.UploadArticle, + EditorAlias = Constants.PropertyEditors.Aliases.UploadField, + EditorUiAlias = "Umb.PropertyEditorUi.UploadField", + DbType = "Nvarchar", + Configuration = "{\"fileExtensions\":[\"pdf\",\"docx\",\"doc\"]}", - }); + }); } if (_database.Exists(Constants.DataTypes.UploadVectorGraphics)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = Constants.DataTypes.UploadVectorGraphics, - EditorAlias = Constants.PropertyEditors.Aliases.UploadField, - EditorUiAlias = "Umb.PropertyEditorUi.UploadField", - DbType = "Nvarchar", - Configuration = "{\"fileExtensions\":[\"svg\"]}", - }); + Insert(new DataTypeDto + { + NodeId = Constants.DataTypes.UploadVectorGraphics, + EditorAlias = Constants.PropertyEditors.Aliases.UploadField, + EditorUiAlias = "Umb.PropertyEditorUi.UploadField", + DbType = "Nvarchar", + Configuration = "{\"fileExtensions\":[\"svg\"]}", + }); } if (_database.Exists(1051)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = 1051, - EditorAlias = Constants.PropertyEditors.Aliases.MediaPicker3, - EditorUiAlias = "Umb.PropertyEditorUi.MediaPicker", - DbType = "Ntext", - Configuration = "{\"multiple\": false, \"validationLimit\":{\"min\":0,\"max\":1}}", - }); + Insert(new DataTypeDto + { + NodeId = 1051, + EditorAlias = Constants.PropertyEditors.Aliases.MediaPicker3, + EditorUiAlias = "Umb.PropertyEditorUi.MediaPicker", + DbType = "Ntext", + Configuration = "{\"multiple\": false, \"validationLimit\":{\"min\":0,\"max\":1}}", + }); } if (_database.Exists(1052)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = 1052, - EditorAlias = Constants.PropertyEditors.Aliases.MediaPicker3, - EditorUiAlias = "Umb.PropertyEditorUi.MediaPicker", - DbType = "Ntext", - Configuration = "{\"multiple\": true}", - }); + Insert(new DataTypeDto + { + NodeId = 1052, + EditorAlias = Constants.PropertyEditors.Aliases.MediaPicker3, + EditorUiAlias = "Umb.PropertyEditorUi.MediaPicker", + DbType = "Ntext", + Configuration = "{\"multiple\": true}", + }); } if (_database.Exists(1053)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = 1053, - EditorAlias = Constants.PropertyEditors.Aliases.MediaPicker3, - EditorUiAlias = "Umb.PropertyEditorUi.MediaPicker", - DbType = "Ntext", - Configuration = "{\"filter\":\"" + Constants.MediaTypes.Guids.Image + + Insert(new DataTypeDto + { + NodeId = 1053, + EditorAlias = Constants.PropertyEditors.Aliases.MediaPicker3, + EditorUiAlias = "Umb.PropertyEditorUi.MediaPicker", + DbType = "Ntext", + Configuration = "{\"filter\":\"" + Constants.MediaTypes.Guids.Image + "\", \"multiple\": false, \"validationLimit\":{\"min\":0,\"max\":1}}", - }); + }); } if (_database.Exists(1054)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = 1054, - EditorAlias = Constants.PropertyEditors.Aliases.MediaPicker3, - EditorUiAlias = "Umb.PropertyEditorUi.MediaPicker", - DbType = "Ntext", - Configuration = "{\"filter\":\"" + Constants.MediaTypes.Guids.Image + + Insert(new DataTypeDto + { + NodeId = 1054, + EditorAlias = Constants.PropertyEditors.Aliases.MediaPicker3, + EditorUiAlias = "Umb.PropertyEditorUi.MediaPicker", + DbType = "Ntext", + Configuration = "{\"filter\":\"" + Constants.MediaTypes.Guids.Image + "\", \"multiple\": true}", - }); + }); } if (_database.Exists(1055)) { - _database.Insert( - Constants.DatabaseSchema.Tables.DataType, - "pk", - false, - new DataTypeDto - { - NodeId = 1055, - EditorAlias = Constants.PropertyEditors.Aliases.DateTimeWithTimeZone, - EditorUiAlias = "Umb.PropertyEditorUi.DateTimeWithTimeZonePicker", - DbType = "Ntext", - Configuration = "{\"timeFormat\": \"HH:mm\", \"timeZones\": {\"mode\": \"all\"}}", - }); + Insert(new DataTypeDto + { + NodeId = 1055, + EditorAlias = Constants.PropertyEditors.Aliases.DateTimeWithTimeZone, + EditorUiAlias = "Umb.PropertyEditorUi.DateTimeWithTimeZonePicker", + DbType = "Ntext", + Configuration = "{\"timeFormat\": \"HH:mm\", \"timeZones\": {\"mode\": \"all\"}}", + }); } } @@ -2613,6 +2309,7 @@ private void CreateRelationTypeData() Constants.ObjectTypes.Document, true, false); + CreateRelationTypeData( 2, Constants.Conventions.RelationTypes.RelateParentDocumentOnDeleteAlias, @@ -2621,6 +2318,7 @@ private void CreateRelationTypeData() Constants.ObjectTypes.Document, false, false); + CreateRelationTypeData( 3, Constants.Conventions.RelationTypes.RelateParentMediaFolderOnDeleteAlias, @@ -2629,6 +2327,7 @@ private void CreateRelationTypeData() Constants.ObjectTypes.Media, false, false); + CreateRelationTypeData( 4, Constants.Conventions.RelationTypes.RelatedMediaAlias, @@ -2637,6 +2336,7 @@ private void CreateRelationTypeData() null, false, true); + CreateRelationTypeData( 5, Constants.Conventions.RelationTypes.RelatedDocumentAlias, @@ -2645,6 +2345,7 @@ private void CreateRelationTypeData() null, false, true); + CreateRelationTypeData( 6, Constants.Conventions.RelationTypes.RelatedMemberAlias, @@ -2665,19 +2366,18 @@ private void CreateRelationTypeData( bool dual, bool isDependency) { - var relationType = new RelationTypeDto - { - Id = id, - Alias = alias, - ChildObjectType = childObjectType, - ParentObjectType = parentObjectType, - Dual = dual, - Name = name, - IsDependency = isDependency, - }; - relationType.UniqueId = CreateUniqueRelationTypeId(relationType.Alias, relationType.Name); - - _database.Insert(Constants.DatabaseSchema.Tables.RelationType, "id", false, relationType); + Insert( + new RelationTypeDto + { + Id = id, + Alias = alias, + ChildObjectType = childObjectType, + ParentObjectType = parentObjectType, + Dual = dual, + Name = name, + IsDependency = isDependency, + UniqueId = CreateUniqueRelationTypeId(alias, name) + }); } private void CreateKeyValueData() @@ -2687,22 +2387,13 @@ private void CreateKeyValueData() var stateValueKey = upgrader.StateValueKey; var finalState = upgrader.Plan.FinalState; - _database.Insert( - Constants.DatabaseSchema.Tables.KeyValue, - "key", - false, - new KeyValueDto { Key = stateValueKey, Value = finalState, UpdateDate = DateTime.UtcNow }); - + Insert(new KeyValueDto { Key = stateValueKey, Value = finalState, UpdateDate = DateTime.UtcNow }); upgrader = new Upgrader(new UmbracoPremigrationPlan()); stateValueKey = upgrader.StateValueKey; finalState = upgrader.Plan.FinalState; - _database.Insert( - Constants.DatabaseSchema.Tables.KeyValue, - "key", - false, - new KeyValueDto { Key = stateValueKey, Value = finalState, UpdateDate = DateTime.UtcNow }); + Insert(new KeyValueDto { Key = stateValueKey, Value = finalState, UpdateDate = DateTime.UtcNow }); } private void CreateLogViewerQueryData() @@ -2711,20 +2402,17 @@ private void CreateLogViewerQueryData() { LogViewerQueryDto dto = _defaultLogQueries[i]; dto.Id = i + 1; - _database.Insert(Constants.DatabaseSchema.Tables.LogViewerQuery, "id", false, dto); + Insert(dto); } } - private void ConditionalInsert( - string configKey, - string id, - TDto dto, - string tableName, - string primaryKeyName, - bool autoIncrement = false) + private void ConditionalInsert(string configKey, string id, TDto dto) { - var alwaysInsert = _entitiesToAlwaysCreate.ContainsKey(configKey) && - _entitiesToAlwaysCreate[configKey].InvariantContains(id); + var alwaysInsert = false; + if (_entitiesToAlwaysCreate.TryGetValue(configKey, out IList? alwaysCreateIds)) + { + alwaysInsert = alwaysCreateIds.InvariantContains(id); + } InstallDefaultDataSettings installDefaultDataSettings = _installDefaultDataSettings.Get(configKey); @@ -2751,6 +2439,38 @@ private void ConditionalInsert( return; } - _database.Insert(tableName, primaryKeyName, autoIncrement, dto); + Insert(dto); } + + private void Insert(T poco) + { + ArgumentNullException.ThrowIfNull(poco); + ArgumentNullException.ThrowIfNull(_pocoDataFactory); + + PocoData pocoData = _pocoDataFactory.ForType(poco.GetType()); + var autoIncrement = UseAutoIncrement(pocoData); + + _database.Insert( + pocoData.TableInfo.TableName, + null, // NPoco handles retrievs the PrimaryKeyName from pocoData when this parameter is null and combined with autoIncrement == true an `INSERT` for PostgreSQL is handled correctly. It is abit hacky, but the NPoco project is not well maintained. + autoIncrement, + poco); + } + + private bool UseAutoIncrement(PocoData pocoData) + { + if (_database is not IUmbracoDatabase umbracoDatabase) + { + throw new InvalidOperationException("Database must implement IUmbracoDatabase to determine database type."); + } + + if (pocoData.TableInfo.AutoIncrement) + { + return umbracoDatabase.SqlContext.SqlSyntax.InsertWithSpecialAutoInkrement(); + } + + return false; + } + +#pragma warning restore CS8625 // Cannot convert null literal to non-nullable reference type. } diff --git a/src/Umbraco.Infrastructure/Persistence/SqlSyntax/ISqlSyntaxProvider.cs b/src/Umbraco.Infrastructure/Persistence/SqlSyntax/ISqlSyntaxProvider.cs index 2e6bcd34b5de..059e2f5d90f3 100644 --- a/src/Umbraco.Infrastructure/Persistence/SqlSyntax/ISqlSyntaxProvider.cs +++ b/src/Umbraco.Infrastructure/Persistence/SqlSyntax/ISqlSyntaxProvider.cs @@ -180,6 +180,16 @@ DatabaseType GetUpdatedDatabaseType(DatabaseType current, string? connectionStri /// true if the provider supports sequences; otherwise, false. bool SupportsSequences() => false; + /// + /// This is an additional setting for databases that use auto-increment columns but require special handling during insert operations. + /// + /// true if the provider requires special handling for auto-increment inserts; otherwise, false. + /// + /// Use case PostgreSQL which uses sequences for auto-incrementing columns but may require specific insert logic. + /// After inserting a dedicated value the sequence needs to be updated to avoid conflicts. + /// + bool InsertWithSpecialAutoInkrement() => false; + /// /// Alters the database sequences to match the current schema requirements. /// diff --git a/src/Umbraco.Infrastructure/Persistence/SqlSyntax/SqlSyntaxProviderBase.cs b/src/Umbraco.Infrastructure/Persistence/SqlSyntax/SqlSyntaxProviderBase.cs index c52934b61073..3d3500867f99 100644 --- a/src/Umbraco.Infrastructure/Persistence/SqlSyntax/SqlSyntaxProviderBase.cs +++ b/src/Umbraco.Infrastructure/Persistence/SqlSyntax/SqlSyntaxProviderBase.cs @@ -263,6 +263,9 @@ public abstract Sql.SqlJoinClause LeftJoinWithNestedJo /// public virtual bool SupportsSequences() => false; + /// + public virtual bool InsertWithSpecialAutoInkrement() => false; + /// public virtual void AlterSequences(IUmbracoDatabase database) => throw new NotSupportedException(); diff --git a/src/Umbraco.Infrastructure/Persistence/UmbracoDatabaseFactory.cs b/src/Umbraco.Infrastructure/Persistence/UmbracoDatabaseFactory.cs index 5ef99e9b540d..11804af7f3b6 100644 --- a/src/Umbraco.Infrastructure/Persistence/UmbracoDatabaseFactory.cs +++ b/src/Umbraco.Infrastructure/Persistence/UmbracoDatabaseFactory.cs @@ -97,7 +97,7 @@ public UmbracoDatabaseFactory( #endregion - private DbProviderFactory? DbProviderFactory + protected DbProviderFactory? DbProviderFactory { get { @@ -281,7 +281,7 @@ private InitializedPocoDataBuilder GetPocoDataFactoryResolver(Type type, IPocoDa => new UmbracoPocoDataBuilder(type, _pocoMappers, _upgrading).Init(); // method used by NPoco's UmbracoDatabaseFactory to actually create the database instance - private UmbracoDatabase? CreateDatabaseInstance() + protected virtual UmbracoDatabase? CreateDatabaseInstance() { if (ConnectionString is null || SqlContext is null || DbProviderFactory is null) {