Commit Graph

43034 Commits

Author SHA1 Message Date
Bjarke Berg
d7ef924c32 Miniprofiler for v13 (#13841)
* Updated miniprofiler and added a few configurations

* added fixme

* Remove file that should not have been committed

* added ignore list. We check the entire path and ignore client requests anyway
2023-02-16 13:08:57 +01:00
Bjarke Berg
a8b6eb714d Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-02-16 11:16:30 +01:00
Bjarke Berg
622c3b437b Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-02-16 10:08:19 +01:00
Mole
5182f46bdb New Backoffice: User Groups Controller (#13811)
* Add key to UserGroupDto

* Fix renaming table in sqlite

The SqliteSyntaxProvider needed an overload to use the correct query

* Start work on user group GUID migration

* Add key index to UserGroupDto

* Copy over data when migrating sqlite

* Make sqlite column migration work

* Remove PostMigrations

These should be replaced with Notification usage

* Remove outer scope from Upgrader

* Remove unececary null check

* Add marker base class for migrations

* Enable scopeless migrations

* Remove unnecessary state check

The final state of the migration is no longer necessarily the final state of the plan.

* Extend ExecutedMigrationPlan

* Ensure that MigrationPlanExecutor.Execute always returns a result.

* Always save final state, regardless of errors

* Remove obsolete Execute

* Add Umbraco specific migration notification

* Publish notification after umbraco migration

* Throw the exception that failed a migration after publishing notification

* Handle notification publishing in DatabaseBuilder

* Fix tests

* Remember to complete scope

* Clean up MigrationPlanExecutor

* Run each package migration in a separate scope

* Add PartialMigrationsTests

* Add unhappy path test

* Fix bug shown by test

* Move PartialMigrationsTests into the correct folder

* Comment out refresh cache in data type migration

Need to add this back again as a notification handler or something.

* Start working on a notification test

* Allow migrations to request a cache rebuild

* Set RebuildCache from MigrateDataTypeConfigurations

* Clean MigrationPlanExecutor

* Add comment explaining the need to partial migration success

* Fix tests

* Allow overriding DefinePlan of UmbracoPlan

This is needed to test the DatabaseBuilder

* Fix notification test

* Don't throw exception to be immediately re-caught

* Assert that scopes notification are always published

* Ensure that scopes are created when requested

* Make test classes internal.

It doesn't really matter, but this way it doesn't show up in intellisense

* Add notification handler for clearing cookies

* Add CompatibilitySuppressions

* Use unscoped migration for adding GUID to user group

* Make sqlite migration work

It's really not pretty, square peg, round hole.

* Don't re-enable foreign keys

This will happen automatically next time a connection is started.

* Scope database when using SQLServer

* Don't call complete transaction

* Tidy up a couple of comment

* Only allow scoping the database from UnscopedMigrationBase

* Fix comment

* Remove remark in UnscopedMigrationBase as it's no longer true

* Add keys when creating default user groups

* Map database value from DTO to entity

* Fix migration

Rename also renamed the foreign keys, making it not work

* Make migration idempotent

* Fix unit test

* Update CompatibilitySuppressions.xml

* Add GetUserGroupByKey to UserService

* Add ByKey endpoint

* Add UniqueId to AppendGroupBy

Otherwise MSSQL grenades

* Ensure that languages are returned by PerformGetByQuery

* add POC displaying model

* Clean up by key controller

* Add GetAllEndpoint

* Add delete endpoint

* Use GetKey to get GUID from id

Instead of pulling up the entire entity.

* Add UserGroup2Permission table

* Fetch the new permissions when getting user groups

* Dont ToString int to parse it to a short

I'm pretty sure this is some way old migration type code that doesn't make any sense anymore

* Add new relation to GetDeleteClauses

* Persist the permissions

* Split UserGroupViewModel into multiple models

This is to make it possible to make endpoints more rest-ish

* Bootstrap create and update endpoints

* Make GetAllUserGroupController paged

* Add method to create IUserGroup from UserGroupSaveModel

* Add sanity check version of endpoint

* Fix persisting permissions

* Map section aliases to the name the frontend expects

This is a temporary fix till we find out how we really want to handle this

* Fix up post merge

* Make naming more consistent

* Implement initial update endpoint

* Fix media start node

* Clean name for XSS when mapping to IUserGroup

* Use a set instead of a list for permission names

We don't want dupes

* Make permission column nvarchar max

* Add UserGroupOperationStatuses

* Add IUserGroupAuthorizationService

* Add specific user group creation method to user service

* Move validating and authorizing into its own methods

* Add operation result to action result mapping

* Update create controller to use the create method

* Fix create end point

* Comment out getting current user untill we have auth

* Add usergroup service

* Obsolete usergroup things from IUserService

* Add update to UserGroupService interface

* User IUserGroupService in controllers

* User async notifications overloads

* Move authorize user group creation into its own service

* Add AuthorizeUserGroupUpdate method

* Make new service implementations internal and sealed

* Add update user

* Add GetAll to usergroup service

* Remove or obsolete usages of GetAllUserGroups

* Add usergroup service to DI

* Remove usage of GetGroupsByAlias

* Remove usages of GetUserGroupByAlias

* Remove usage of GetUserGroupById

* Add new table when creating a new database

* Implement Delete

* Add skip and take to getall

* Move skip take into the service

* Fixup suggestions in user group service

* Fixup unit tests

* Allow admins to change user groups they're not a part of

* Add CompatibilitySuppressions

* Update openapi

* Uppdate OpenApi.json

again

* Add missing compatibility suppression

* Added missing type info in ProducesResponseTypeAttribute

* Added INamedEntityViewModel and added on the relevant view models

* Fixed bug, resulting in serialization not being the same as swagger reported. Now all types objects implementing an interface, is serialized with the $type property

* updated OpenApi.json

* Added missing title in notfound response

* Typo

* .Result to .GetAwaiter().GetResult()

* Update comment to mention it should be implemented on CurrentUserController

* Validate that start nodes actually exists

* Handle not found consistently

* Use iso codes instead of ids

* Update OpenAPI

* Automatically infer statuscode in problemdetails

* Ensure that the language exists

* Fix usergroup 2 permission index

* Validate that group name and alias is not too long

* Only return status from validation

We're just returning the same usergroups, and this is less boilerplate code

* Handle empty and null group names

* Remove group prefix from statuses

* Add some basic validation tests

* Don't allow updating a usergroup to having a duplicate alias

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-02-16 09:39:17 +01:00
Bjarke Berg
c77c5cad3c Merge pull request #13840 from umbraco/v11/bugfix/build-pipeline
Removed path so we can generate templates
2023-02-16 09:28:59 +01:00
kjac
41fbaa2343 Merge branch 'v13/dev' into v13/feature/content-and-content-type-read-api 2023-02-16 09:27:35 +01:00
Andreas Zerbst
5c276c2d10 Removed path so we can generate templates 2023-02-16 09:18:14 +01:00
Bjarke Berg
808d563aa0 Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	src/Umbraco.Core/Models/PublishedContent/PublishedValueFallback.cs
2023-02-15 14:19:19 +01:00
Bjarke Berg
96c94f707a Merge remote-tracking branch 'origin/v11/dev' into v12/dev
# Conflicts:
#	src/Umbraco.Infrastructure/Migrations/Upgrade/UmbracoPlan.cs
2023-02-15 14:15:28 +01:00
Bjarke Berg
88a1c9eb57 Merge remote-tracking branch 'origin/v11/dev' into v11/dev 2023-02-15 14:10:43 +01:00
Bjarke Berg
acbf937534 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-02-15 14:10:30 +01:00
Bjarke Berg
776f5ce1a0 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-02-15 14:06:39 +01:00
Bjarke Berg
0204da1123 Merge remote-tracking branch 'origin/v11/dev' into v11/dev 2023-02-15 13:58:22 +01:00
Bjarke Berg
3ffe7f6d5d Fixed pipeline after dotnet sdk 7.0.200 2023-02-15 13:57:58 +01:00
Bjarke Berg
bf4e745b6a Updated OpenIddict to v4 (#13830)
* Updated OpenIddict to v4 and when through the migration guide.

(SetAuthorizationEndpointUris and SetTokenEndpointUris should not start with a leading / anymore)

* Fixed issue where the old backoffice did not build

* Fixed build

* Fake a change - hopefully npm can see the file now?

* try using npm install instead of npm ci

* Another trial

* remove build of old backoffice

* Oops build new backoffice - not the old

* rollback changes to static assets

* Foreach csproj file instead. Fix for breaking change in dotnet sdk 7.0.200
2023-02-15 13:56:45 +01:00
Jacob Overgaard
a04ae368c8 update git submodule 2023-02-14 15:43:35 +01:00
kjac
51f2b6cd88 Rename content property to content value in view model layer 2023-02-14 10:47:16 +01:00
Ronald Barendse
45036f54dd Sort domains (Culture and Hostnames) (#13797)
* Add sort order to IDomain, UmbracoDomain and DomainDto

* Add migration to create domain sort order column

* Add Sort method to domain service

* Set sort order when persisting new domain and order results

* Add multiple and block style support to umb-button-group

* Allow sorting domains in back-office, improve UI and rewrite PostSaveLanguageAndDomains for correctly sorting domains

* Ensure routing and cache keeps the domain sort order

* Update test to assert correct domain order

* Move migration to target 11.3 and cleanup plan

* Fix formatting/styling and make SelectDomains private

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

---------

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2023-02-14 10:35:45 +01:00
kjac
1868269905 Merge branch 'v13/dev' into v13/feature/content-and-content-type-read-api
# Conflicts:
#	src/Umbraco.Web.UI.New.Client
2023-02-14 10:33:51 +01:00
Bjarke Berg
3e8247f324 add response location header for 201 (#13829)
* Fixed issues where we returned incorrectly 201 with CreatedResultViewModel

* Updated OpenAPI Spec

* Fixed OpenApi

* Added response header to swagger when 201 result

* Clean up
2023-02-14 09:48:09 +01:00
Andy Butland
f9ed9c0ae8 Bumped dependencies on Forms and Deploy to latest releases in JSON schema project. (#13827) 2023-02-14 08:01:08 +01:00
Kenn Jacobsen
620a673fa3 A little Monday cleanup (#13823)
* Introduce root key constant

* Do not enforce ProblemDetails on every non-success response from the API + remove invalid NotFoundResult response types from various endpoints

* Update OpenAPI JSON contract to reflect the new NotFound results
2023-02-13 15:16:21 +01:00
Ronald Barendse
7348171c01 Add DefaultLanguage fallback policy for published values (#13814)
* Add DefaultLanguage fallback

* Implement DefaultLanguage fallback

* Add DefaultLanguage fallback test
2023-02-13 14:50:41 +01:00
Bjarke Berg
d9f342bee7 Added missing property index value factories (#13819)
* Added missing PropertyIndexValueFactories, for Block Grid, Block List, Nested Content, Tags and added No-op for image picker, image cropper etc, where the content dont make any sense anyway.

Made it replace for block grid/list, nested content and tags

* Fixed tests

* Ensure raw-fields are the prefix

* Code clean up

* build fix

* Minor cleanup

* Fixed issue with published values / external index

---------

Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
2023-02-13 14:47:26 +01:00
Jacob Overgaard
233be8dc8f update git submodule 2023-02-13 10:07:25 +01:00
Jacob Overgaard
66118e556a update git submodule 2023-02-13 09:06:15 +01:00
Niels Lyngsø
89a3243771 latest front-end commit 2023-02-10 16:29:16 +01:00
Niels Lyngsø
fb47b02ed0 latest commit 2023-02-10 16:27:35 +01:00
Niels Lyngsø
84c6d3b204 latest front-end commit 2023-02-10 16:23:35 +01:00
Niels Lyngsø
b70491a782 front-end commit 2023-02-10 15:28:39 +01:00
Niels Lyngsø
5722108454 Merge remote-tracking branch 'origin/v13/dev' into v13/feature/content-and-content-type-read-api 2023-02-10 15:17:02 +01:00
Niels Lyngsø
72c5ec696d update submodule commit 2023-02-10 15:16:41 +01:00
Kenn Jacobsen
50f19549b6 Add move/copy operations to datatype API (#13791)
* Add move/copy operations to datatype API

* Add compat suppressions for new interface methods

* Regenerate OpenAPI JSON

* Update OpenApi.json

* Ensure we can copy a datatype to root + make the target key nullable (explicit) for move and copy operation models

* Handle parent not found status

* Update the OpenAPI spec to reflect new nullability

* Cleanup

---------

Co-authored-by: Elitsa Marinovska <elm@umbraco.dk>
2023-02-10 15:11:49 +01:00
Jacob Overgaard
525d73d205 update git submodule 2023-02-10 11:25:37 +01:00
Kenn Jacobsen
e529818560 Make the default lockout time configurable for users and members (#13808)
* Make the default lock timeout configurable for users and members

* Update obsoletion to V13
2023-02-10 10:56:55 +01:00
Kenn Jacobsen
45f8ffcd0b Support notifications for multiple root nodes (#13805) 2023-02-10 10:49:39 +01:00
Kenn Jacobsen
7d9e07ff7c Don't show DB details on install screen when using a pre-configured connection string (#13809) 2023-02-10 10:45:19 +01:00
Kenn Jacobsen
36dc35f8aa Add "move" to dictionary API (#13810)
* Sanitize dictionary overview and export actions

* Amend dictionary services with async and attempt pattern + isolate temporary file handling in its own service.

* Update OpenAPI schema to match new dictionary bulk actions

* Implement move API for dictionary items.

* Add unit tests for dictionary item move

* Fix merge

* Update OpenAPI json after merge
2023-02-10 08:32:24 +01:00
Jacob Overgaard
42f8cde259 update to backoffice directory 2023-02-09 13:32:20 +01:00
Nikolaj
bbc8ade227 Bump version 2023-02-09 08:25:01 +01:00
Bjarke Berg
9b7bf81ad1 Serialization and deserialziation with polymorphism (#13762)
* Support polymophism when sending or receiving interfaces

* Handle attempts to deserialize interfaces nicer

* updated OpenApi.json

* Update src/Umbraco.Cms.Api.Common/Json/NamedSystemTextJsonInputFormatter.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Cms.Api.Management/ManagementApiComposer.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Cms.Api.Management/OpenApi/ConfigureUmbracoSwaggerGenOptions.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Infrastructure/Serialization/UmbracoJsonTypeInfoResolver.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Infrastructure/Serialization/UmbracoJsonTypeInfoResolver.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Infrastructure/Serialization/UmbracoJsonTypeInfoResolver.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Infrastructure/Serialization/UmbracoJsonTypeInfoResolver.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Infrastructure/Serialization/UmbracoJsonTypeInfoResolver.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Infrastructure/Serialization/UmbracoJsonTypeInfoResolver.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Infrastructure/Serialization/UmbracoJsonTypeInfoResolver.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Infrastructure/Serialization/UmbracoJsonTypeInfoResolver.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Invert to avoid nesting

* Updated OpenApi.json

* Update schema

---------

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
2023-02-08 18:29:30 +01:00
Elitsa Marinovska
20534b7a97 New Backoffice: Health check controller refactor (#13763)
* Refactor AllHealthCheckGroupController to return just the names of the groups + changes in the HealthCheckFactory

* Introduce a new "get by name without results" endpoint

* Create a "check" endpoint

* View models changes

* Factory renaming changes

* Remove Task.FromResult

* Update OpenApi.json

* Minor updates

* Inject HealthCheckCollection directly into the factory
2023-02-08 14:16:21 +01:00
Kenn Jacobsen
fdf416550a Refactor dictionary bulk action APIs (#13786)
* Sanitize dictionary overview and export actions

* Amend dictionary services with async and attempt pattern + isolate temporary file handling in its own service.

* Update OpenAPI schema to match new dictionary bulk actions

* Update src/Umbraco.Cms.Api.Management/Services/DictionaryItemImportService.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Cms.Api.Management/Services/DictionaryItemImportService.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Cms.Api.Management/Services/TemporaryFileService.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Cms.Api.Management/ViewModels/Dictionary/DictionaryImportModel.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Refactor - split dictionary import handling into smaller methods

* Rename view model due to name clash in new SwaggerGen + update OpenAPI JSON file

---------

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
2023-02-08 13:18:08 +01:00
Bjarke Berg
b582bfa39b Merge remote-tracking branch 'origin/v13/dev' into v13/dev 2023-02-08 12:55:31 +01:00
Bjarke Berg
e5609592cd Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	src/Umbraco.Core/Models/ContentEditing/Language.cs
#	src/Umbraco.Core/Models/DictionaryItem.cs
#	src/Umbraco.Core/Models/DictionaryItemExtensions.cs
#	src/Umbraco.Core/Models/DictionaryTranslation.cs
#	src/Umbraco.Core/Models/IDictionaryTranslation.cs
#	src/Umbraco.Core/Models/Language.cs
#	src/Umbraco.Core/Models/Membership/ReadOnlyUserGroup.cs
#	src/Umbraco.Core/Models/Membership/UserGroupExtensions.cs
#	src/Umbraco.Core/Services/DataTypeService.cs
#	tests/Umbraco.Tests.Common/Builders/LanguageBuilder.cs
#	tests/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Editors/UserEditorAuthorizationHelperTests.cs
2023-02-08 12:38:43 +01:00
Kenn Jacobsen
59448aeaac Add "Model" postfix for all models in the Swagger output (#13806) 2023-02-08 12:34:11 +01:00
Bjarke Berg
317891e8cf Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-02-08 12:28:32 +01:00
Bjarke Berg
da4e9487e2 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-02-08 12:28:03 +01:00
Jacob Overgaard
f3bcfcd5d9 v11: npm updates for february (#13803)
* update ace-builds from 1.14.0 to 1.15.0

* update eslint from 8.32.0 to 8.33.0

* update jsdom from 21.0.0 to 21.1.0

* update nouislider from 15.6.1 to 15.7.0
2023-02-08 09:58:40 +01:00
Nathan Woulfe
b5e87a82f2 Merge branch 'v13/dev' of https://github.com/umbraco/umbraco-cms into v13/dev 2023-02-08 09:47:02 +10:00