* Basic structure for document and document type read API * Handle unpublished, non-variant content * Expose content type key on ContentTypeSort * Add the remaining properties to document type (minus list view info, still pending) * Obsolete more ILocalizationService usage * Add URLs and template data to document view model * Clean up + add proprety type appearance * update submodule commit * front-end commit * latest front-end commit * latest commit * latest front-end commit * Rename content property to content value in view model layer * Add contextual JSON serialization as default JSON serializer * Add FIXME to content type sort + rearrange constructor parameters * Fix broken remark tag * Whitelist breakage for ContentTypeSort * Add variance info to property type output * Update src/Umbraco.Cms.Api.Management/Controllers/Document/ByKeyDocumentController.cs Co-authored-by: Bjarke Berg <mail@bergmania.dk> * Update src/Umbraco.Cms.Api.Management/Controllers/DocumentType/ByKeyDocumentTypeController.cs Co-authored-by: Bjarke Berg <mail@bergmania.dk> * Update src/Umbraco.Cms.Api.Management/Factories/ContentUrlFactory.cs Co-authored-by: Bjarke Berg <mail@bergmania.dk> * Add a few FIXME comments about async entity retrieval --------- Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com> Co-authored-by: Bjarke Berg <mail@bergmania.dk>
37 lines
1.1 KiB
C#
37 lines
1.1 KiB
C#
using Umbraco.Cms.Api.Management.ViewModels.Document;
|
|
using Umbraco.Cms.Core.Mapping;
|
|
using Umbraco.Cms.Core.Models;
|
|
using Umbraco.Cms.Core.Services;
|
|
|
|
namespace Umbraco.Cms.Api.Management.Factories;
|
|
|
|
public class DocumentViewModelFactory : IDocumentViewModelFactory
|
|
{
|
|
private readonly IUmbracoMapper _umbracoMapper;
|
|
private readonly IContentUrlFactory _contentUrlFactory;
|
|
private readonly IFileService _fileService;
|
|
|
|
public DocumentViewModelFactory(
|
|
IUmbracoMapper umbracoMapper,
|
|
IContentUrlFactory contentUrlFactory,
|
|
IFileService fileService)
|
|
{
|
|
_umbracoMapper = umbracoMapper;
|
|
_contentUrlFactory = contentUrlFactory;
|
|
_fileService = fileService;
|
|
}
|
|
|
|
public async Task<DocumentViewModel> CreateViewModelAsync(IContent content)
|
|
{
|
|
DocumentViewModel viewModel = _umbracoMapper.Map<DocumentViewModel>(content)!;
|
|
|
|
viewModel.Urls = await _contentUrlFactory.GetUrlsAsync(content);
|
|
|
|
viewModel.TemplateKey = content.TemplateId.HasValue
|
|
? _fileService.GetTemplate(content.TemplateId.Value)?.Key
|
|
: null;
|
|
|
|
return viewModel;
|
|
}
|
|
}
|