* Added attribute filter to ensure a request is taking a minimum time to response
* Added functionality to management api to send forgot password emails and verify these + do the actual reset using the token
* Renamed UserKey to UserId and updated OpenApi.json
* Update src/Umbraco.Core/Services/IUserService.cs
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
* Cleanup
* Renaming param
* Fixing send user username instead of email + wrong EmailTypes
* Fixed issue with forgot password functionality after reusing other functionality
* Rename prop
* Adding docs and renaming param
* Handle password validation return types
* More cleanup
---------
Co-authored-by: Elitsa <elm@umbraco.dk>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
* Add content and media sorting to the Management API
* Rename "id" to "key" throughout the ContentEditingService
* Update Open API json file
* Use "key" instead of "id" in ContentEditingServiceBase
* Use "key" instead of "id" in IMediaEditingService and MediaEditingService
* Turn delegates into abstracts + fix bug that allowed deleting items outside of the recycle bin
* Use PUT instead of POST
* Update src/Umbraco.Core/Services/MediaEditingService.cs
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* Update src/Umbraco.Core/Services/MediaEditingService.cs
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Update Open API JSON
---------
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* CRUD for content and media type folders + refactor data type folder CRUD controllers and services to match
* Correct response types + update OpenAPI JSON
* Review changes
* Review changes
* Update OpenAPI JSON after merge
* Introduce media API - controllers, services, tests, Swagger docs
* Add path to media API response + add "by path" endpoint
* Review comments
* Implement filtering and sorting
* Add explicit media access configuration
* Cleanup
* Adding default case as in the MediaApiControllerBase
* Update src/Umbraco.Cms.Api.Delivery/Services/ApiMediaQueryService.cs
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
* Swap sort order calculation to align with Content API
* Add CreateDate and UpdateDate to media responses
* Mirror Content Delivery API behavior for empty children selector
---------
Co-authored-by: Elitsa <elm@umbraco.dk>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
* Implemented modular architecture for filestream security sanitization with an svg-html example
* 31440: Refactoring, applied to more entry points and removed test analyzer
* 31440 Added Unittests for FileStreamSecurityValidator
* PR fixes and better unittest mock names
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
* Use minimal hosting model
* Make CoreRuntime backward compatible to the old hosting model
* Remove unneccessary methods from interface again
* Pushed the timeout for E2E test to 120 minutes instead of 60
* Updated the preview version from 6 to 7
* Explicitly call BootUmbracoAsync
* Add CreateUmbracoBuilder extension method
* Do not add IRuntime as hosted service when using WebApplication/WebApplicationBuilder
* Set StaticServiceProvider.Instance before booting
* Ensure Umbraco is booted and StaticServiceProvider.Instance is set before configuring middleware
* Do not enable static web assets on production environments
* Removed root namespace from viewImports
---------
Co-authored-by: Andreas Zerbst <andr317c@live.dk>
Co-authored-by: Ronald Barendse <ronald@barend.se>
* Updated the name of our Acceptance test project.
The reason is because we want the naming to be clear and concise.
* Changed the name of the e2e pipeline project name for linux
* Updated dll file
* Add GetAsync method
* Fix up delete document type controller
* Add scope to delete async
* Add some scaffolding
* Add create model
* Start working on validation
* Move validation to its own service
* Use GetAllAsync instead of GetAsync
* Add initial composition support
Still need to figure out some kinks
* Validate compositions when creating
* Add initial folder support
* Initial handling of generic properties
* Add operation status responses
* Move create operation into service
* Add first test
* Fix issued shown by test
* Ensure a specific key can be specified when creating
* Rename container id to container key
Let's try and be consistent
* Create basic composition test
* Ensure new property groups are created with the correct key
* Add test showing property type issue
* Fix property types not using the expected key.
* Validate against model fetched from content type service
Just to make sure nothing explodes on the round trip
* Make helper for creating create models
* Add helper for creating container
* Make helper methods simpler to use
* Add test for compositions using compositions
* Add more composition tests
* Fix bug allowing element types to be composed by non element types
* Remove validators
This can just be a part of the editing service
* Minor cleanup
* Ensure that multiple levels of inheritance is possible
* Ensure doctype cannot be used as both composition and inheritance on the same doctype
* Ensure no duplicate aliases from composition and that compositions exists
* Minor cleanup
* Address todos
* Add SaveAsync method
* Renamed some models
* Rename from DocumentType to ContentType
* Clarify ParentKey as being container only + untangle things a tiny bit
* Clean out another TODO (less duplicate code) + more tests
* Refactor for reuse across different content types + add media type editing service + unit tests
* Refactor in preparation for update handling
* More tests + fixed bugs found while testing
* Simplify things a bit
* Content type update + a lot of unit tests + some refactor + fix bugs found while testing
* Begin building presentation factories for mapping view models to editing models
* Use async save
* Mapping factories and some clean-up
* Rename Key to Id (ParentKey to ParentId)
* Fix slight typo
* Use editing service in document type controllers and introduce media type controllers
* Validate containers and align container aliases with the current backoffice
* Remove ParentId from response
* Fix scope handling in DeleteAsync
* Refactor ContentTypeSort
* A little renaming for clarity + safeguard against changes to inheritance
* Persist allowed content types
* Fix bad merge + update controller response annotations
* Update OpenAPI JSON
* Update src/Umbraco.Cms.Api.Management/Controllers/DocumentType/DocumentTypeControllerBase.cs
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
* Fix review comments
* Update usage of MapCreateAsync to ValidateAndMapForCreationAsync
---------
Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
* Change the obsoletion messages for language IDs to target V14 instead of V13.
* Wrong Language file
* Add ISO codes required to migrate custom code from language IDs
* Population of the new language FallbackIsoCode prop
* Changing obsoletion msgs from v13 to v14
* Fix breaking changes
* Try undoing inheritance change
Just to see if the issue stems from there
* Try specifying order again
* Log something
* Maybe it's a culture thing
* That wasn't it
* Maybe content deliver need to exist as an applicationPart
* Order found types
* Cleanup
* add method to find and persist embedded base64 (data-uri) images in a html string
* use method to find embedded images in the Umbraco.TinyMce and Umbraco.Grid property editors
* rename method to better reflect what it does
* set allowed upload file types for integration tests
* add test for embedded images in Umbraco.TinyMce
* let old ctor call new ctor
* Apply suggestions from code review
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* apply pattern matching
---------
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* Refactor GetPagedLogsAsync to not use ILogViewer
* Refactor GetPagedLogsAsync to not use ILogViewer
* Reorder using statements
* Introduce ILogViewerRepository
* Remove skip and take from repository
* Return IEnumerable instead of pagedModel
* Remove local GetLogs
* Return IEnumerable instead of pagedmodel
* Remove serilog entirely from ILogViewerService
* Move LogViewerService
* Inject LogViewerService as core service instead
* Implement LogViewerServiceTests.cs
* Add more happy path tests
* Add saved query tests
* Refactor private path fields to normal variables in setup method
* Capitalize logs for Unix systems
* Added missing documentation
---------
Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Elitsa <elm@umbraco.dk>