Commit Graph

12540 Commits

Author SHA1 Message Date
Nikolaj Geisle
a4a9a274bb V14: Merge 13 to 14 (#16340)
* Updates JSON schema for Umbraco 10 with latest references for Forms and Deploy (#15918)

* Ported over #15928 changes for 13.3 RC (#16023)

* Ported over #15928 changes for 13.3 RC

* Use GetOrAdd()

* Lock dictionary initialization

---------

Co-authored-by: Jason Elkin <jasonelkin86@gmail.com>

* Make the API content response builder extendable (#16056)

* Make the API content response builder extendable

* DeliveryApiJsonTypeResolver needs to be extendable too

* bump rc to regular

* Bump to next minor

* Add blocks in RTE telemetry (#16104)

* Add blocks telemetry

* Use constants and update tests

* V13: Add property type information to telemetry (#16109)

* Add property type counts to telemetry

* Use constants and fix tests

* Update description

* V10: Fix for fallback file upload (#14892) (#15868)

* Fix for fallback file upload (#14892)

* Added check for file type

* Removed unneeded null checks and fixed tabs

* Cleaning

* Cleanups, cleanups, and removal of unneeded null checks

* Reverted removal of relationshipservice

* Revert null check removals (too risky)

---------

Co-authored-by: Ambert van Unen <AvanUnen@ilionx.com>
Co-authored-by: Laura Neto <12862535+lauraneto@users.noreply.github.com>

(cherry picked from commit 0b5d1f8aa6)

* Fix up formatting

---------

Co-authored-by: Ambert van Unen <ambertvu@gmail.com>

* Implementors using Umbraco.Tests.Integration won't have to override GetLocalizedTextService

(cherry picked from commit b0016687eb)
(cherry picked from commit 2bb56f1b81)

* Fix logic for retrieving lastKnownElement

(cherry picked from commit cae106bfe8)

* bump version

* Bump version

* Bump version

* Since v13 properties can sometimes be of type IRichTextEditorIntermediateValue - this was unexpected in the XPath navigator code (#16121)

* Webhook log improvements (#16200)

* fix: include all headers in webhook log

* feat: return webhook log status from server

* feat: make webhook logs deep linkable

* feat: add webhook log pagination

* feat: improve webhook request/response body preview

* V13: Optimize custom MVC routing (#16218)

* Introduce EagerMatcherPolicy to conditionally bypass content routing

* Ensure that the candidate we disable dynamic routing for is valid

* Skip Umbraco endpoints

* Simplify logic a bit

* Move install logic to matcher

* Ensure that dynamic routing is still skipped when in upgrade state

* Fixup comments

* Reduce nesting a bit

* Don't show maintenance page when statically routed controllers are hít

* Remove excess check, since installer requests are statically routed

* V13: Optimize custom MVC routing (#16218)

* Introduce EagerMatcherPolicy to conditionally bypass content routing

* Ensure that the candidate we disable dynamic routing for is valid

* Skip Umbraco endpoints

* Simplify logic a bit

* Move install logic to matcher

* Ensure that dynamic routing is still skipped when in upgrade state

* Fixup comments

* Reduce nesting a bit

* Don't show maintenance page when statically routed controllers are hít

* Remove excess check, since installer requests are statically routed

(cherry picked from commit ba9ddd11da)

* Property source level variation should only be applied when configured (#16270)

* Property source level variation should only be applied when configured (#16270)

(cherry picked from commit ab32bac5d9)

* Merge pull request from GHSA-j74q-mv2c-rxmp

* Merge pull request from GHSA-j74q-mv2c-rxmp

* Merge pull request from GHSA-j74q-mv2c-rxmp

* Fix up after merge

* Remove obselete test

---------

Co-authored-by: Andy Butland <abutland73@gmail.com>
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
Co-authored-by: Jason Elkin <jasonelkin86@gmail.com>
Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
Co-authored-by: Ambert van Unen <ambertvu@gmail.com>
Co-authored-by: Lars-Erik <lars-erik@aabech.no>
Co-authored-by: Joshua Daniel Pratt Nielsen <jdpnielsen@gmail.com>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: Sebastiaan Janssen <sebastiaan@umbraco.com>
Co-authored-by: Rasmus John Pedersen <mail@rjp.dk>
2024-05-22 12:05:41 +02:00
Nikolaj Geisle
8ddb911a52 V14; Refactor permissions for Document/Media/Member (#16310)
* Refactor permissions

* Fix user startnode caching

* Relax permissions on user item endpoint

* Refactor media types to align with newly refactored content permissions

* Remove permissions from member type item endpoint
2024-05-22 10:56:26 +02:00
Lee Kelleher
393566a3fb V14: Adds preview.js (#16305)
* Adds `preview.js`

to replace the legacy `umbraco.websitepreview.min.js` script.

Updates the content's `Id` with `Key`.

* allow any protected route to render the backoffice

* optimise component so it doesn't need to observe its attributes and use the popover API to show it on top of the content

* handle case where the culture could be set to "invariant" - we just want to set the "lang" attribute to the default ui language

* convert 'end preview' into an api request and reset the style of the button

* minimize function

* move static text into constants

---------

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
2024-05-21 11:13:26 +02:00
Bjarke Berg
11e5257b56 V14: Untangle the preview functionality from the auth cookie (#16308)
* AB40660 - untangle the preview cookie from the auth cookie

* Clean up

* Allow anonymous to end preview sessions

* Some refinements

* update OpenApi.json

* Fix enter preview test

* correct tests to match new expectations of the preview cookie

* sync preview tests with correct expectations of access level

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
2024-05-17 16:06:26 +02:00
Sven Geusens
80794f3efd [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>
2024-05-17 14:35:18 +02:00
Sven Geusens
56e0e1cc2b merge user/current/logins and user/current/login-providers (#16307)
also deleted unused requestmodel

Co-authored-by: Sven Geusens <sge@umbraco.dk>
2024-05-17 09:23:56 +02:00
Elitsa Marinovska
295f6f8720 V14: Backend changes to facilitate Preview mode in Bellissimma (#16279)
* Sends GUID instead of the numeric ID for SignalR Preview Hub

* Add possibility to set cookies as HttpOnly

* Set UMB_PREVIEW cookie as HttpOnly

* fixup! Add possibility to set cookies as HttpOnly

* Refactor ContentFinderByIdPath to more readable

* Create ContentFinderByKeyPath reusing logic from ContentFinderByIdPath

* Add a comment to DisableFindContentByIdPath setting

* Append new content finder

* Change ordering of content finders registrations

* Refactor with a base class

* Update/refactor and add tests regarding ContentFindersByIdentifier

* Fix comment

* Avoiding breaking change

* Make usages use non-obsolete implementation

* Fixed todo in config instead of use the one old legacy name even more. Also obsoleted the ContentFinderByIdPath

* add `preview` as an allowed backoffice client route

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
2024-05-16 15:53:42 +02:00
Nikolaj Geisle
d20892e329 Refactor UserGroupService methods to use attempt (#16302) 2024-05-16 15:04:54 +02:00
Mole
bdd231caee V14: Fix null ref exception in current user permission endpoint (#16286)
* Fix null reference exception

* Align behaviour with document and media version
2024-05-15 14:23:04 +02:00
Mole
e46a8d2d31 Use SearchRedirectUrls (#16285) 2024-05-15 09:54:08 +02:00
Sven Geusens
742307dc32 [v14] backoffice user login providers endpoint (#16141)
* Added endpoint and backing service for backoffice login providers and the status per user.

* Improve link login redirect forming and error handling

* Add responseModel and mapping instead of returning core model

* Moved unlink endpoint logic into a service

* Refactored ExternalLinkLoginCallback logic into BackofficeExternalLoginService method

* typo and minor code style improvements

* async method name alignment

* Add BackOfficeExternalLoginService tests

* Remove helper method that makes less sense that thought.

* Minor formatting, clean-up and conventions

* Replaced cookie authentication in link-login with a short lived secret

Applied PR feedback

* Update openapi

* Changed link login to a form endpoint

* fix broken comment link

* Do not store claimsprinciple in secret + comments

* update redirect paths

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: kjac <kja@umbraco.dk>
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
2024-05-14 15:55:32 +02:00
Kenn Jacobsen
079097427b Return all templates from GetAllAsync if no keys are passed (#16254) 2024-05-13 11:23:20 +02:00
Bjarke Berg
962bedac29 Ensure we do not expose any cultures we do not accept in languages. Futhermore, I moved it to a service to people can replace the logic (#16265) 2024-05-13 11:09:46 +02:00
Bjarke Berg
87c7347900 V14: Reintroduce umbraco api controller as obsolete (#16263)
* Revert "v14: Remove mentions of UmbracoApiController (#15863)"

This reverts commit 30e2dea57a.

* Obsolete UmbracoApiController

* Added a few more obsoletion messages

* Removed some of the reintroduced stuff again

* Add obsoletion to FrontEndRoutes controller

---------

Co-authored-by: kjac <kja@umbraco.dk>
2024-05-13 08:28:42 +02:00
Bjarke Berg
2260da210d Management api should use datetimeoffset (#16196)
* Move audit log endpoints to their respective silos and clean up

* Fix failing integration tests

* Using DateTimeOffset in management api and new methods in service layer

---------

Co-authored-by: kjac <kja@umbraco.dk>
2024-05-07 08:07:20 +02:00
Sven Geusens
f9c0235a35 [v14] Add missing alias and id to usergroup related api models (#16154)
* Added missing alias and Id to usergroup models

create/update/response/item

* Changed userGroup IsSystemGroup to more meaningfull fields

Also enforced the AliasCanBeChanged businessrule 🙈

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Mads Rasmussen <madsr@hey.com>
2024-05-03 10:24:09 +02:00
Kenn Jacobsen
8ad6c36038 Amend user start node handling (#16094)
* Amend user start node handling

* Add "has root access" to current user endpoint

* Add document and media root access to user response model

* Update OpenApi.json

* Applied API suggestions

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
2024-05-03 08:47:10 +02:00
Jacob Overgaard
fe1ee46115 V14: Unique OAuth callback route (#16194)
* set the default for `AuthorizeCallbackPathName` to "/umbraco/oauth_complete" to allow the server to redirect the user back to a route where we don't load the entire backoffice.

* remove redundant method
2024-05-02 11:56:27 +02:00
Kenn Jacobsen
374d699fd9 Move audit log endpoints to their respective silos and clean up (#16170)
* Move audit log endpoints to their respective silos and clean up

* Fix failing integration tests

---------

Co-authored-by: Mads Rasmussen <madsr@hey.com>
2024-05-01 12:07:06 +02:00
Elitsa Marinovska
c8180d508b V14: Test new content and media list view service (#16193)
* Fix operation status msg

* Cleanup

* Removing unused status

* Adding WithConfigurationEditor on DataEditorBuilder to be able to create new list views with custom configuration

* Adding list view service tests for content and media

* Adding list view service tests base

* Consistency

* Clean up

* More cleanup

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-05-01 10:54:26 +02:00
Kenn Jacobsen
de230334be Add user group filter endpoint (#16087) 2024-04-30 14:55:20 +02:00
Kenn Jacobsen
39e51a4467 Add endpoint for retrieving allowed media types for file extensions (#16189)
* Add endpoint for retrieving allowed media types for file extensions

* Moved paging into service

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-04-30 14:26:12 +02:00
Bjarke Berg
3eef9b9579 Add oEmbed endpoint to the management api (#16188)
* OEmbed query endpoint

* Log provider instead of url from user
2024-04-30 14:21:50 +02:00
Kenn Jacobsen
e3a4d4dae2 Handle multiple simultaneous block editor layouts (#16184)
* Handle multiple simultaneous block editor layouts

* Cleanup

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-04-30 12:53:26 +02:00
Kenn Jacobsen
0e12b94107 Translate member picker property editor value to V14 compatible format (and back again) (#16149)
* Translate member picker property editor value to V14 compatible format (and back again)

* Fix typo

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2024-04-29 10:23:07 +02:00
Kenn Jacobsen
16a1f42985 Translate member group picker property editor value to V14 compatible format (and back again) (#16150) 2024-04-26 10:43:33 +02:00
Jacob Overgaard
e296c173cc V14: add authorized logout callback path (#16152)
* add option to SecuritySettings.cs to allow the developer to set an authorized logout callback path in line with the login callback path

* allow clients using the "Umbraco back-office access" descriptor to return back to either the login path or the logout path
2024-04-26 08:32:42 +02:00
Nikolaj Geisle
7bd499565d V14: Cache user by id (#16139)
* Cache user by id

* Add todo

* Fix tests

* Clear cache after update

* Refer to base class cache instead of implementing own

* Dont hardcode cache key

* Update to be Payload cache refresher instead
2024-04-25 15:56:01 +02:00
Kenn Jacobsen
f824280162 Translate user picker property editor value to V14 compatible format (and back again) (#16151) 2024-04-25 13:20:41 +02:00
Kenn Jacobsen
c85b1d4d37 Make public access endpoints work correctly (#16136) 2024-04-25 13:17:24 +02:00
Kenn Jacobsen
b9e72a2d82 RTE media folder config is stored as a GUID in V14 (#16138) 2024-04-25 12:56:46 +02:00
Kenn Jacobsen
7a39314586 Remove all RTE config from appsettings (#16140) 2024-04-25 12:25:47 +02:00
Kenn Jacobsen
0cac0f8b5c Add endpoint for retrieveing the configured default language (#16086)
* Add endpoint for retrieveing the configured default language

* Update OpenApi.json
2024-04-25 11:42:16 +02:00
Bjarke Berg
89755157c1 Support member saving Cancel (#16147)
* Fixes https://github.com/umbraco/Umbraco-CMS/issues/15152

Handle when a notification cancels the member saving operation.

* Fixed unit tests
2024-04-25 10:59:41 +02:00
Kenn Jacobsen
ed64dbf3e4 Cleaned up V13 related and obsoleted system directory constants (#16133)
* Cleaned up V13 related and obsoleted system directory constants

* The LogFiles constant is still used, it seems
2024-04-24 13:54:15 +02:00
Nikolaj Geisle
7bbef2a584 V14: Fix member mapping (#16106)
* convert key to name before saving roles

* Rework MemberEditingService to convert keys

* Rename variable to groups

* Extract to variable
2024-04-23 12:25:36 +02:00
Mole
94bf4efe10 V14: Obsolete runtime minification settings (#16123)
* Obsolete RuntimeMinificationSettings

* Obsolete RuntimeMinificationValidator

* Update src/Umbraco.Core/Constants-Configuration.cs

Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>

* Obsolete RuntimeMinificationCacheBuster

---------

Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
2024-04-23 11:17:50 +02:00
Nikolaj Geisle
4118f441c9 Remove UI settings (#16064) 2024-04-22 13:05:12 +02:00
Sven Geusens
d04769a84b V14/feature/all segment endpoint (#16054)
* Added All Segments service with backing noopService

* Add openapi spec

* Apply suggestions from code review

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>

* Fix ctor

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2024-04-18 12:20:26 +02:00
Nikolaj Geisle
d25c3ca86d Merge remote-tracking branch 'origin/v13/dev' into release/14.0
# Conflicts:
#	src/Umbraco.Core/EmbeddedResources/Lang/en_us.xml
#	src/Umbraco.Infrastructure/BackgroundJobs/Jobs/ReportSiteJob.cs
#	tests/Umbraco.Tests.Integration/Umbraco.Core/Telemetry/TelemetryServiceTests.cs
2024-04-17 09:10:05 +02:00
Sven Geusens
6dd08b2377 V14 External login linking + Proposed error handling (#16052)
* Added mostly working linking methods to the backoffice controller

Cleanup still required

* Added proposed default error handling extionsion methods

* Cleanup, clarification and PR feedback

* More cleanup

* Transformed the OAuthOptionsExtensions into a helper class

this allows for proper DI for the dependencies

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
2024-04-16 17:08:55 +02:00
Mole
096991ac79 V13: Add webhook information to detailed telemetry (#16060)
* Cleanup ReportSiteJob

* Report on registered webhook event types

* Report on custom header webhook count

* Use constants instead of magic strings

* Update tests

* Update translation files
2024-04-16 14:36:02 +02:00
Jacob Overgaard
9f6af970b4 V14/feature/login image (#16063)
* update the login image to the v14 variant

* switch out the default value of the "alternative" logo to the dark version since it fits better in this version
2024-04-16 11:34:19 +02:00
Lee Kelleher
68f623ede8 V14: MediaPicker/MNTP - Changed StartNodeId from a Udi to Guid (#16042)
* MediaPicker3: Changed `StartNodeId` from a `Udi` to `Guid`

* MNTP: Changed `StartNodeId` from a `Udi` to `Guid`
2024-04-16 11:01:18 +02:00
Ronald Barendse
2d850bf8f1 v14: Add async methods to Deploy interfaces (#16055)
* Add async method to IContextCache

* Add async methods to IImageSourceParser and ILocalLinkParser

* Add async methods to IDataTypeConfigurationConnector, IServiceConnector and IValueConnector

* Obsolete non-aysnc methods

* Add cancellation tokens to new async methods

* Add ConfigureAwait(false) to awaits
2024-04-15 18:04:47 +02:00
Elitsa Marinovska
3edc783ddb V14: Additional blueprint endpoints (#16047)
* Fix /item endpoint response when 0 ids

* Adding GetPagedByContentTypeKeyAsync to IContentBlueprintEditingService

* Adding mapping for new DocumentTypeBlueprintItemResponseModel

* New endpoint and operation status handling

* Fix test cases

* Added tests

* Fixed partial test references

* Rename method

* Add ancestors endpoint for blueprints

* Change == to is

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>

---------

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2024-04-15 13:49:08 +02:00
Mole
2a889f502b V14: Clean up backend translation files (#16050)
* Remove unused translation areas

* Cleanup translation files
2024-04-15 11:13:58 +02:00
Ronald Barendse
ad82fe89cf v14: JSON schema tool improvements (#16035)
* Use require modifier instead of setting null-suppressed default values

* Only remove read-only properties when IgnoreReadOnlyProperties is set

* Obsolete UmbracoPath property and remove work-around for obsolete setter
2024-04-15 08:58:52 +02:00
Sven Geusens
767c417153 Only add a SQL in statement if there are keys to filter on (#16044)
* Only add a SQL in statement if there are keys to filter on

* Improved faulty query fix by calling a cached path.

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
2024-04-15 08:55:50 +02:00
Kenn Jacobsen
576b360cce Removed leftover System.Text.Json dependencies (#16040) 2024-04-15 08:51:00 +02:00