U4-8361 - renaming
This commit is contained in:
18
src/Umbraco.Core/Models/IRedirectUrl.cs
Normal file
18
src/Umbraco.Core/Models/IRedirectUrl.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using System;
|
||||
using System.Runtime.Serialization;
|
||||
using Umbraco.Core.Models.EntityBase;
|
||||
|
||||
namespace Umbraco.Core.Models
|
||||
{
|
||||
public interface IRedirectUrl : IAggregateRoot, IRememberBeingDirty
|
||||
{
|
||||
[DataMember]
|
||||
int ContentId { get; set; }
|
||||
|
||||
[DataMember]
|
||||
DateTime CreateDateUtc { get; set; }
|
||||
|
||||
[DataMember]
|
||||
string Url { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -4,18 +4,18 @@ using Umbraco.Core.Persistence.DatabaseAnnotations;
|
||||
|
||||
namespace Umbraco.Core.Models.Rdbms
|
||||
{
|
||||
[TableName("umbracoContentUrlRule")]
|
||||
[TableName("umbracoRedirectUrl")]
|
||||
[PrimaryKey("id")]
|
||||
[ExplicitColumns]
|
||||
class ContentUrlRuleDto
|
||||
class RedirectUrlDto
|
||||
{
|
||||
public ContentUrlRuleDto()
|
||||
public RedirectUrlDto()
|
||||
{
|
||||
CreateDateUtc = DateTime.UtcNow;
|
||||
}
|
||||
|
||||
[Column("id")]
|
||||
[PrimaryKeyColumn(IdentitySeed = 1, Name = "PK_umbracoContentUrlRule")]
|
||||
[PrimaryKeyColumn(IdentitySeed = 1, Name = "PK_umbracoRedirectUrl")]
|
||||
public int Id { get; set; }
|
||||
|
||||
[Column("contentId")]
|
||||
@@ -29,7 +29,7 @@ namespace Umbraco.Core.Models.Rdbms
|
||||
|
||||
[Column("url")]
|
||||
[NullSetting(NullSetting = NullSettings.NotNull)]
|
||||
[Index(IndexTypes.UniqueNonClustered, Name = "IX_umbracoContentUrlRule", ForColumns = "url, createDateUtc")]
|
||||
[Index(IndexTypes.UniqueNonClustered, Name = "IX_umbracoRedirectUrl", ForColumns = "url, createDateUtc")]
|
||||
public string Url { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,16 +1,18 @@
|
||||
using System;
|
||||
using System.Runtime.Serialization;
|
||||
using Umbraco.Core.Models.EntityBase;
|
||||
|
||||
namespace Umbraco.Core.Models
|
||||
{
|
||||
public class ContentUrlRule
|
||||
[Serializable]
|
||||
[DataContract(IsReference = true)]
|
||||
public class RedirectUrl : Entity, IRedirectUrl
|
||||
{
|
||||
public ContentUrlRule()
|
||||
public RedirectUrl()
|
||||
{
|
||||
CreateDateUtc = DateTime.UtcNow;
|
||||
}
|
||||
|
||||
public int Id { get; internal set; }
|
||||
|
||||
public int ContentId { get; set; }
|
||||
|
||||
public DateTime CreateDateUtc { get; set; }
|
||||
@@ -6,9 +6,9 @@ using Umbraco.Core.Persistence.SqlSyntax;
|
||||
namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenFiveZero
|
||||
{
|
||||
[Migration("7.5.0", 100, GlobalSettings.UmbracoMigrationName)]
|
||||
public class CreateContentUrlRuleTable : MigrationBase
|
||||
public class AddRedirectUrlTable : MigrationBase
|
||||
{
|
||||
public CreateContentUrlRuleTable(ISqlSyntaxProvider sqlSyntax, ILogger logger)
|
||||
public AddRedirectUrlTable(ISqlSyntaxProvider sqlSyntax, ILogger logger)
|
||||
: base(sqlSyntax, logger)
|
||||
{ }
|
||||
|
||||
@@ -16,17 +16,17 @@ namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenFiveZer
|
||||
{
|
||||
// don't exeucte if the table is already there
|
||||
var tables = SqlSyntax.GetTablesInSchema(Context.Database).ToArray();
|
||||
if (tables.InvariantContains("umbracoContentUrlRule")) return;
|
||||
if (tables.InvariantContains("umbracoRedirectUrl")) return;
|
||||
|
||||
Create.Table("umbracoContentUrlRule")
|
||||
.WithColumn("id").AsInt32().Identity().PrimaryKey("PK_umbracoContentUrlRule")
|
||||
Create.Table("umbracoRedirectUrl")
|
||||
.WithColumn("id").AsInt32().Identity().PrimaryKey("PK_umbracoRedirectUrl")
|
||||
.WithColumn("contentId").AsInt32().NotNullable()
|
||||
.WithColumn("createDateUtc").AsDateTime().NotNullable()
|
||||
.WithColumn("url").AsString(2048).NotNullable();
|
||||
|
||||
Create.PrimaryKey("PK_umbracoContentUrlRule").OnTable("umbracoContentUrlRule").Columns(new[] { "id" });
|
||||
Create.PrimaryKey("PK_umbracoRedirectUrl").OnTable("umbracoRedirectUrl").Columns(new[] { "id" });
|
||||
|
||||
Create.Index("IX_umbracoContenUrlRule").OnTable("umbracoContentUrlRule")
|
||||
Create.Index("IX_umbracoRedirectUrl").OnTable("umbracoRedirectUrl")
|
||||
.OnColumn("url")
|
||||
.Ascending()
|
||||
.OnColumn("createDateUtc")
|
||||
@@ -0,0 +1,13 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Umbraco.Core.Models;
|
||||
|
||||
namespace Umbraco.Core.Persistence.Repositories
|
||||
{
|
||||
interface IRedirectUrlRepository : IRepositoryQueryable<int, IRedirectUrl>
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Umbraco.Core.Models;
|
||||
|
||||
namespace Umbraco.Core.Services
|
||||
{
|
||||
public interface IContentUrlRuleService
|
||||
{
|
||||
void Save(ContentUrlRule rule);
|
||||
|
||||
void Delete(int ruleId);
|
||||
|
||||
void DeleteContentRules(int contentId);
|
||||
|
||||
ContentUrlRule GetMostRecentRule(string url);
|
||||
|
||||
IEnumerable<ContentUrlRule> GetRules(int contentId);
|
||||
|
||||
IEnumerable<ContentUrlRule> GetAllRules(long pageIndex, int pageSize, out long total);
|
||||
|
||||
IEnumerable<ContentUrlRule> GetAllRules(int rootContentId, long pageIndex, int pageSize, out long total);
|
||||
}
|
||||
}
|
||||
24
src/Umbraco.Core/Services/IRedirectUrlService.cs
Normal file
24
src/Umbraco.Core/Services/IRedirectUrlService.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using System.Collections.Generic;
|
||||
using Umbraco.Core.Models;
|
||||
|
||||
namespace Umbraco.Core.Services
|
||||
{
|
||||
public interface IRedirectUrlService : IService
|
||||
{
|
||||
void Save(RedirectUrl redirectUrl);
|
||||
|
||||
void Delete(int id);
|
||||
|
||||
void DeleteContentRules(int contentId);
|
||||
|
||||
void DeleteAll();
|
||||
|
||||
RedirectUrl GetMostRecentRule(string url);
|
||||
|
||||
IEnumerable<RedirectUrl> GetRules(int contentId);
|
||||
|
||||
IEnumerable<RedirectUrl> GetAllRules(long pageIndex, int pageSize, out long total);
|
||||
|
||||
IEnumerable<RedirectUrl> GetAllRules(int rootContentId, long pageIndex, int pageSize, out long total);
|
||||
}
|
||||
}
|
||||
@@ -9,13 +9,13 @@ using Umbraco.Core.Persistence.UnitOfWork;
|
||||
|
||||
namespace Umbraco.Core.Services
|
||||
{
|
||||
class ContentUrlRuleService : RepositoryService, IContentUrlRuleService
|
||||
class RedirectUrlService : RepositoryService, IRedirectUrlService
|
||||
{
|
||||
public ContentUrlRuleService(IDatabaseUnitOfWorkProvider provider, RepositoryFactory repositoryFactory, ILogger logger, IEventMessagesFactory eventMessagesFactory)
|
||||
public RedirectUrlService(IDatabaseUnitOfWorkProvider provider, RepositoryFactory repositoryFactory, ILogger logger, IEventMessagesFactory eventMessagesFactory)
|
||||
: base(provider, repositoryFactory, logger, eventMessagesFactory)
|
||||
{ }
|
||||
|
||||
public void Save(ContentUrlRule rule)
|
||||
public void Save(RedirectUrl redirectUrl)
|
||||
{
|
||||
// check if the url already exists
|
||||
// the url actually is a primary key?
|
||||
@@ -23,24 +23,24 @@ namespace Umbraco.Core.Services
|
||||
|
||||
using (var uow = UowProvider.GetUnitOfWork())
|
||||
{
|
||||
var dto = new ContentUrlRuleDto
|
||||
var dto = new RedirectUrlDto
|
||||
{
|
||||
Id = rule.Id,
|
||||
ContentId = rule.ContentId,
|
||||
CreateDateUtc = rule.CreateDateUtc,
|
||||
Url = rule.Url
|
||||
Id = redirectUrl.Id,
|
||||
ContentId = redirectUrl.ContentId,
|
||||
CreateDateUtc = redirectUrl.CreateDateUtc,
|
||||
Url = redirectUrl.Url
|
||||
};
|
||||
uow.Database.InsertOrUpdate(dto);
|
||||
uow.Commit();
|
||||
rule.Id = dto.Id;
|
||||
redirectUrl.Id = dto.Id;
|
||||
}
|
||||
}
|
||||
|
||||
public void Delete(int ruleId)
|
||||
public void Delete(int id)
|
||||
{
|
||||
using (var uow = UowProvider.GetUnitOfWork())
|
||||
{
|
||||
uow.Database.Execute("DELETE FROM umbracoContentUrlRule WHERE id=@id", new { id = ruleId });
|
||||
uow.Database.Execute("DELETE FROM umbracoContentUrlRule WHERE id=@id", new { id = id });
|
||||
uow.Commit();
|
||||
}
|
||||
}
|
||||
@@ -54,14 +54,23 @@ namespace Umbraco.Core.Services
|
||||
}
|
||||
}
|
||||
|
||||
public ContentUrlRule GetMostRecentRule(string url)
|
||||
public void DeleteAll()
|
||||
{
|
||||
using (var uow = UowProvider.GetUnitOfWork())
|
||||
{
|
||||
var ruleDtos = uow.Database.Fetch<ContentUrlRuleDto>("SELECT * FROM umbracoContentUrlRule WHERE url=@url ORDER BY createDateUtc DESC;",
|
||||
uow.Database.Execute("DELETE FROM umbracoContentUrlRule;");
|
||||
uow.Commit();
|
||||
}
|
||||
}
|
||||
|
||||
public RedirectUrl GetMostRecentRule(string url)
|
||||
{
|
||||
using (var uow = UowProvider.GetUnitOfWork())
|
||||
{
|
||||
var ruleDtos = uow.Database.Fetch<RedirectUrlDto>("SELECT * FROM umbracoContentUrlRule WHERE url=@url ORDER BY createDateUtc DESC;",
|
||||
new { url });
|
||||
var ruleDto = ruleDtos.FirstOrDefault();
|
||||
var rule = ruleDto == null ? null : new ContentUrlRule
|
||||
var rule = ruleDto == null ? null : new RedirectUrl
|
||||
{
|
||||
Id = ruleDto.Id,
|
||||
ContentId = ruleDto.ContentId,
|
||||
@@ -73,13 +82,13 @@ namespace Umbraco.Core.Services
|
||||
}
|
||||
}
|
||||
|
||||
public IEnumerable<ContentUrlRule> GetRules(int contentId)
|
||||
public IEnumerable<RedirectUrl> GetRules(int contentId)
|
||||
{
|
||||
using (var uow = UowProvider.GetUnitOfWork())
|
||||
{
|
||||
var ruleDtos = uow.Database.Fetch<ContentUrlRuleDto>("SELECT * FROM umbracoContentUrlRule WHERE contentId=@id ORDER BY createDateUtc DESC;",
|
||||
var ruleDtos = uow.Database.Fetch<RedirectUrlDto>("SELECT * FROM umbracoContentUrlRule WHERE contentId=@id ORDER BY createDateUtc DESC;",
|
||||
new { id = contentId });
|
||||
var rules = ruleDtos.Select(x=> new ContentUrlRule
|
||||
var rules = ruleDtos.Select(x=> new RedirectUrl
|
||||
{
|
||||
Id = x.Id,
|
||||
ContentId = x.ContentId,
|
||||
@@ -91,12 +100,12 @@ namespace Umbraco.Core.Services
|
||||
}
|
||||
}
|
||||
|
||||
public IEnumerable<ContentUrlRule> GetAllRules(long pageIndex, int pageSize, out long total)
|
||||
public IEnumerable<RedirectUrl> GetAllRules(long pageIndex, int pageSize, out long total)
|
||||
{
|
||||
using (var uow = UowProvider.GetUnitOfWork())
|
||||
{
|
||||
var ruleDtos = uow.Database.Fetch<ContentUrlRuleDto>("SELECT * FROM umbracoContentUrlRule ORDER BY createDateUtc DESC;");
|
||||
var rules = ruleDtos.Select(x => new ContentUrlRule
|
||||
var ruleDtos = uow.Database.Fetch<RedirectUrlDto>("SELECT * FROM umbracoContentUrlRule ORDER BY createDateUtc DESC;");
|
||||
var rules = ruleDtos.Select(x => new RedirectUrl
|
||||
{
|
||||
Id = x.Id,
|
||||
ContentId = x.ContentId,
|
||||
@@ -109,17 +118,17 @@ namespace Umbraco.Core.Services
|
||||
}
|
||||
}
|
||||
|
||||
public IEnumerable<ContentUrlRule> GetAllRules(int rootContentId, long pageIndex, int pageSize, out long total)
|
||||
public IEnumerable<RedirectUrl> GetAllRules(int rootContentId, long pageIndex, int pageSize, out long total)
|
||||
{
|
||||
using (var uow = UowProvider.GetUnitOfWork())
|
||||
{
|
||||
var path = "%," + rootContentId + ",%";
|
||||
|
||||
var ruleDtos = uow.Database.Fetch<ContentUrlRuleDto>(@"SELECT * FROM umbracoContentUrlRule
|
||||
var ruleDtos = uow.Database.Fetch<RedirectUrlDto>(@"SELECT * FROM umbracoContentUrlRule
|
||||
JOIN umbracoNode ON umbracoNode.id=umbracoContentUrlRule.contentId
|
||||
WHERE umbracoNode.path LIKE @path
|
||||
ORDER BY createDateUtc DESC;", new { path });
|
||||
var rules = ruleDtos.Select(x => new ContentUrlRule
|
||||
var rules = ruleDtos.Select(x => new RedirectUrl
|
||||
{
|
||||
Id = x.Id,
|
||||
ContentId = x.ContentId,
|
||||
@@ -373,6 +373,7 @@
|
||||
<Compile Include="Models\Identity\IIdentityUserLogin.cs" />
|
||||
<Compile Include="Models\IMigrationEntry.cs" />
|
||||
<Compile Include="Models\IPublishedContentWithKey.cs" />
|
||||
<Compile Include="Models\IRedirectUrl.cs" />
|
||||
<Compile Include="Models\IServerRegistration.cs" />
|
||||
<Compile Include="Models\Mapping\MappingExpressionExtensions.cs" />
|
||||
<Compile Include="Models\MigrationEntry.cs" />
|
||||
@@ -396,7 +397,7 @@
|
||||
<Compile Include="Media\Exif\ExifTag.cs" />
|
||||
<Compile Include="Media\Exif\ExifTagFactory.cs" />
|
||||
<Compile Include="Models\Rdbms\AccessRuleDto.cs" />
|
||||
<Compile Include="Models\Rdbms\ContentUrlRuleDto.cs" />
|
||||
<Compile Include="Models\Rdbms\RedirectUrlDto.cs" />
|
||||
<Compile Include="Models\Rdbms\DocumentPublishedReadOnlyDto.cs" />
|
||||
<Compile Include="Models\Rdbms\ExternalLoginDto.cs" />
|
||||
<Compile Include="Models\Rdbms\MigrationDto.cs" />
|
||||
@@ -418,7 +419,7 @@
|
||||
<Compile Include="Persistence\Mappers\MigrationEntryMapper.cs" />
|
||||
<Compile Include="Persistence\Migrations\Upgrades\TargetVersionFourOneZero\AddPreviewXmlTable.cs" />
|
||||
<Compile Include="Persistence\Migrations\Upgrades\TargetVersionSevenFiveZero\EnsureServersLockObject.cs" />
|
||||
<Compile Include="Persistence\Migrations\Upgrades\TargetVersionSevenFiveZero\CreateContentUrlRuleTable.cs" />
|
||||
<Compile Include="Persistence\Migrations\Upgrades\TargetVersionSevenFiveZero\AddRedirectUrlTable.cs" />
|
||||
<Compile Include="Persistence\Migrations\Upgrades\TargetVersionSevenFourZero\FixListViewMediaSortOrder.cs" />
|
||||
<Compile Include="Persistence\Migrations\Upgrades\TargetVersionSevenFourZero\AddDataDecimalColumn.cs" />
|
||||
<Compile Include="Persistence\Migrations\Upgrades\TargetVersionSevenFourZero\AddUmbracoDeployTables.cs" />
|
||||
@@ -471,6 +472,7 @@
|
||||
<Compile Include="Persistence\Repositories\Interfaces\IExternalLoginRepository.cs" />
|
||||
<Compile Include="Persistence\Repositories\Interfaces\IMigrationEntryRepository.cs" />
|
||||
<Compile Include="Persistence\Repositories\Interfaces\IPublicAccessRepository.cs" />
|
||||
<Compile Include="Persistence\Repositories\Interfaces\IRedirectUrlRepository.cs" />
|
||||
<Compile Include="Persistence\Repositories\Interfaces\IServerRegistrationRepository.cs" />
|
||||
<Compile Include="Persistence\Repositories\Interfaces\IDeleteMediaFilesRepository.cs" />
|
||||
<Compile Include="Persistence\Repositories\Interfaces\ITaskRepository.cs" />
|
||||
@@ -510,12 +512,12 @@
|
||||
<Compile Include="Persistence\Migrations\Upgrades\TargetVersionSevenThreeZero\MigrateStylesheetDataToFile.cs" />
|
||||
<Compile Include="Services\AuditService.cs" />
|
||||
<Compile Include="Services\ContentTypeServiceExtensions.cs" />
|
||||
<Compile Include="Models\ContentUrlRule.cs" />
|
||||
<Compile Include="Services\ContentUrlRuleService.cs" />
|
||||
<Compile Include="Models\RedirectUrl.cs" />
|
||||
<Compile Include="Services\RedirectUrlService.cs" />
|
||||
<Compile Include="Services\DomainService.cs" />
|
||||
<Compile Include="Services\ExternalLoginService.cs" />
|
||||
<Compile Include="Services\IAuditService.cs" />
|
||||
<Compile Include="Services\IContentUrlRuleService.cs" />
|
||||
<Compile Include="Services\IRedirectUrlService.cs" />
|
||||
<Compile Include="Services\IDomainService.cs" />
|
||||
<Compile Include="Services\IExternalLoginService.cs" />
|
||||
<Compile Include="Services\IMigrationEntryService.cs" />
|
||||
|
||||
Reference in New Issue
Block a user