[V14] import/export media/document type endpoints (#16100)

* Working import/export media/document types

* WIP

* Refactoring of import doctype/media types

- added analyze endpoint to extract relevant data without fully processing the file
- split up import endpoints into POST & PUT
- removed availableAtAction as the new endpoint allows clients to call the POST/PUT endpoints with confidence
- Added a new service that is responsible for turning temp files into Import compatible XML and being able to extracty partial information from it

* Wrap persistance access in scopes

* Typos, formatting, clean-up

* PR feedback

* update openapi spec

* Changed deleteFile flag to _temporaryFileService.EnlistDeleteIfScopeCompletes

* Itty bitty typo

* Moved magic cleanup into its own method so orchestration can decide when.

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: kjac <kja@umbraco.dk>
This commit is contained in:
Sven Geusens
2024-05-17 14:35:18 +02:00
committed by GitHub
parent 13f2d52576
commit 80794f3efd
39 changed files with 1795 additions and 17 deletions

View File

@@ -98,8 +98,8 @@ public static partial class UmbracoBuilderExtensions
packageRepoFileName);
// Factory registration is only required because of ambiguous constructor
private static PackageDataInstallation CreatePackageDataInstallation(IServiceProvider factory)
=> new(
private static IPackageDataInstallation CreatePackageDataInstallation(IServiceProvider factory)
=> new PackageDataInstallation(
factory.GetRequiredService<IDataValueEditorFactory>(),
factory.GetRequiredService<ILogger<PackageDataInstallation>>(),
factory.GetRequiredService<IFileService>(),