diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/MediaDescriptors/IMediaDescriptorAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/MediaDescriptors/IMediaDescriptorAdminAppService.cs index e56cb6d630..eb4819dd06 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/MediaDescriptors/IMediaDescriptorAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/MediaDescriptors/IMediaDescriptorAdminAppService.cs @@ -1,7 +1,6 @@ using System; using System.Threading.Tasks; using Volo.Abp.Application.Services; -using Volo.Abp.Content; namespace Volo.CmsKit.Admin.MediaDescriptors { @@ -9,8 +8,6 @@ namespace Volo.CmsKit.Admin.MediaDescriptors { Task CreateAsync(CreateMediaInputStream inputStream); - Task DownloadAsync(Guid id, GetMediaRequestDto request); - Task DeleteAsync(Guid id); } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/MediaDescriptors/MediaDescriptorAdminAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/MediaDescriptors/MediaDescriptorAdminAppService.cs index 4bdcc3b472..80029c3168 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/MediaDescriptors/MediaDescriptorAdminAppService.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/MediaDescriptors/MediaDescriptorAdminAppService.cs @@ -42,17 +42,5 @@ namespace Volo.CmsKit.Admin.MediaDescriptors await MediaContainer.DeleteAsync(id.ToString()); await MediaDescriptorRepository.DeleteAsync(id); } - - [AllowAnonymous] - public virtual async Task DownloadAsync(Guid id, GetMediaRequestDto request) - { - var entity = await MediaDescriptorRepository.GetAsync(id); - var stream = await MediaContainer.GetAsync(id.ToString()); - - return new RemoteStreamContent(stream) - { - ContentType = entity.MimeType - }; - } } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/MediaDescriptors/MediaDescriptorAdminController.cs b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/MediaDescriptors/MediaDescriptorAdminController.cs index e62dc66b13..d4ff6c6ea3 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/MediaDescriptors/MediaDescriptorAdminController.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Admin.HttpApi/Volo/CmsKit/Admin/MediaDescriptors/MediaDescriptorAdminController.cs @@ -4,7 +4,6 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Volo.Abp; -using Volo.Abp.Content; using Volo.Abp.GlobalFeatures; using Volo.CmsKit.GlobalFeatures; using Volo.CmsKit.Permissions; @@ -40,14 +39,6 @@ namespace Volo.CmsKit.Admin.MediaDescriptors return MediaDescriptorAdminAppService.DeleteAsync(id); } - [HttpGet] - [Route("{id}")] - [AllowAnonymous] - public virtual Task DownloadAsync(Guid id, GetMediaRequestDto request) - { - return MediaDescriptorAdminAppService.DownloadAsync(id, request); - } - [HttpPost] [Authorize(CmsKitAdminPermissions.MediaDescriptors.Create)] public virtual async Task UploadAsync(IFormFile file) diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/MediaDescriptors/IMediaDescriptorAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/MediaDescriptors/IMediaDescriptorAppService.cs new file mode 100644 index 0000000000..b50103ef0c --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application.Contracts/Volo/CmsKit/MediaDescriptors/IMediaDescriptorAppService.cs @@ -0,0 +1,12 @@ +using System; +using System.Threading.Tasks; +using Volo.Abp.Application.Services; +using Volo.Abp.Content; + +namespace Volo.CmsKit.MediaDescriptors +{ + public interface IMediaDescriptorAppService : IApplicationService + { + Task DownloadAsync(Guid id); + } +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/MediaDescriptors/MediaDescriptorAppService.cs b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/MediaDescriptors/MediaDescriptorAppService.cs new file mode 100644 index 0000000000..81879c5da9 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/MediaDescriptors/MediaDescriptorAppService.cs @@ -0,0 +1,33 @@ +using System; +using System.Threading.Tasks; +using Volo.Abp.BlobStoring; +using Volo.Abp.Content; +using Volo.Abp.GlobalFeatures; +using Volo.CmsKit.GlobalFeatures; + +namespace Volo.CmsKit.MediaDescriptors +{ + [RequiresGlobalFeature(typeof(MediaFeature))] + public class MediaDescriptorAppService : CmsKitAppServiceBase, IMediaDescriptorAppService + { + protected readonly IMediaDescriptorRepository MediaDescriptorRepository; + protected readonly IBlobContainer MediaContainer; + + public MediaDescriptorAppService(IMediaDescriptorRepository mediaDescriptorRepository, IBlobContainer mediaContainer) + { + MediaDescriptorRepository = mediaDescriptorRepository; + MediaContainer = mediaContainer; + } + + public virtual async Task DownloadAsync(Guid id) + { + var entity = await MediaDescriptorRepository.GetAsync(id); + var stream = await MediaContainer.GetAsync(id.ToString()); + + return new RemoteStreamContent(stream) + { + ContentType = entity.MimeType + }; + } + } +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.HttpApi/Volo/CmsKit/Controllers/CmsKitControllerBase.cs b/modules/cms-kit/src/Volo.CmsKit.Common.HttpApi/Volo/CmsKit/CmsKitControllerBase.cs similarity index 88% rename from modules/cms-kit/src/Volo.CmsKit.Common.HttpApi/Volo/CmsKit/Controllers/CmsKitControllerBase.cs rename to modules/cms-kit/src/Volo.CmsKit.Common.HttpApi/Volo/CmsKit/CmsKitControllerBase.cs index 21a546195a..70a68c7611 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Common.HttpApi/Volo/CmsKit/Controllers/CmsKitControllerBase.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Common.HttpApi/Volo/CmsKit/CmsKitControllerBase.cs @@ -1,7 +1,7 @@ using Volo.Abp.AspNetCore.Mvc; using Volo.CmsKit.Localization; -namespace Volo.CmsKit.Controllers +namespace Volo.CmsKit { public abstract class CmsKitControllerBase : AbpController { diff --git a/modules/cms-kit/src/Volo.CmsKit.Common.HttpApi/Volo/CmsKit/MediaDescriptors/MediaDescriptorController.cs b/modules/cms-kit/src/Volo.CmsKit.Common.HttpApi/Volo/CmsKit/MediaDescriptors/MediaDescriptorController.cs new file mode 100644 index 0000000000..ce091a2adb --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Common.HttpApi/Volo/CmsKit/MediaDescriptors/MediaDescriptorController.cs @@ -0,0 +1,31 @@ +using System; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using Volo.Abp; +using Volo.Abp.Content; +using Volo.Abp.GlobalFeatures; +using Volo.CmsKit.GlobalFeatures; + +namespace Volo.CmsKit.MediaDescriptors +{ + [RequiresGlobalFeature(typeof(MediaFeature))] + [RemoteService(Name = CmsKitCommonRemoteServiceConsts.RemoteServiceName)] + [Area("cms-kit")] + [Route("api/cms-kit/media")] + public class MediaDescriptorController : CmsKitControllerBase, IMediaDescriptorAppService + { + protected readonly IMediaDescriptorAppService MediaDescriptorAppService; + + public MediaDescriptorController(IMediaDescriptorAppService mediaDescriptorAppService) + { + MediaDescriptorAppService = mediaDescriptorAppService; + } + + [HttpGet] + [Route("{id}")] + public virtual Task DownloadAsync(Guid id) + { + return MediaDescriptorAppService.DownloadAsync(id); + } + } +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/CmsKitPublicControllerBase.cs b/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/CmsKitPublicControllerBase.cs index 49aa98c134..af20a697bc 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/CmsKitPublicControllerBase.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/CmsKitPublicControllerBase.cs @@ -1,6 +1,4 @@ -using Volo.CmsKit.Controllers; - -namespace Volo.CmsKit.Public +namespace Volo.CmsKit.Public { public abstract class CmsKitPublicControllerBase : CmsKitControllerBase { diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/Contents/ContentController.cs b/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/Contents/ContentController.cs index f18326a3d0..4a348fc7bf 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/Contents/ContentController.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.HttpApi/Volo/CmsKit/Public/Contents/ContentController.cs @@ -2,7 +2,6 @@ using Microsoft.AspNetCore.Mvc; using Volo.Abp; using Volo.CmsKit.Contents; -using Volo.CmsKit.Controllers; namespace Volo.CmsKit.Public.Contents {