diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/IPageRepository.cs b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/IPageRepository.cs index 0b75c32d6b..2add03f1fd 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/IPageRepository.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/IPageRepository.cs @@ -24,4 +24,6 @@ public interface IPageRepository : IBasicRepository Task ExistsAsync(string slug, CancellationToken cancellationToken = default); Task> GetListOfHomePagesAsync(CancellationToken cancellationToken = default); + + Task FindTitleAsync(Guid pageId, CancellationToken cancellationToken = default); } diff --git a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Pages/EfCorePageRepository.cs b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Pages/EfCorePageRepository.cs index aefd834013..4af6bf18f3 100644 --- a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Pages/EfCorePageRepository.cs +++ b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/Pages/EfCorePageRepository.cs @@ -68,4 +68,9 @@ public class EfCorePageRepository : EfCoreRepository x.IsHomePage, cancellationToken: GetCancellationToken(cancellationToken)); } + + public async Task FindTitleAsync(Guid pageId, CancellationToken cancellationToken = default) + { + return await (await GetDbSetAsync()).Where(x => x.Id == pageId).Select(x => x.Title).FirstOrDefaultAsync(cancellationToken); + } } diff --git a/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Pages/MongoPageRepository.cs b/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Pages/MongoPageRepository.cs index 601aad0570..565530fcb7 100644 --- a/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Pages/MongoPageRepository.cs +++ b/modules/cms-kit/src/Volo.CmsKit.MongoDB/Volo/CmsKit/MongoDB/Pages/MongoPageRepository.cs @@ -76,4 +76,10 @@ public class MongoPageRepository : MongoDbRepository x.IsHomePage, cancellationToken: GetCancellationToken(cancellationToken)); } + + public async Task FindTitleAsync(Guid pageId, CancellationToken cancellationToken = default) + { + return await (await GetMongoQueryableAsync(cancellationToken)).Where(x => x.Id == pageId).Select(x => x.Title) + .FirstOrDefaultAsync(cancellationToken); + } }