* 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
* Migrate nofication chars to strings
* Add a length to the UserGroup2PermissionDto.Permission
* Remove StripWhitespace
It was only nececary when it was nchar
* Better name for migration
* Reuse dictionary in migrations
---------
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Renamed the language item controllers to follow the current standard (they should not be called "entity")
* Renamed the webhook item controllers to follow the current standard (they should not be called "entity")
* Moved the webhook item controllers to the "/item" silo
* Renamed the user gorup controller base to be singular instead of plural
* Create member group endpoint should yield a 201 created response
* Update member endpoint should yield an empty 200 OK upon success
* Update UpdateUserDataController with correct action name and return an empty 200 OK upon success
* More item endpoints alignment
---------
Co-authored-by: Elitsa <elm@umbraco.dk>
* Adds new functionality to the migrations.
This requires a migration to call Context.SetDone() on the migration context. This happens automatically on scoped migrations before the scope is completed. But migrations inheriting the UnScopedMigrationBase needs to call this manually, inside the scopes or when it is considered done.
Thereby, we minimize the risk (and eliminate it for SqlServer) that a migration is executed but the state is not saved.
If a migration is executed without the SetDone is called, the migration upgrader throws an error, so we do not start executing the next migration
* Updated tests
* Renamed after review suggestion
* Rename in test
* More renaming after review
* Remove public modifier from interface
* Add missing space in exception message
---------
Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
* Consider max login lifetime with access and refresh tokens
* Adding clarification comment
* Updated comment and added a little explanation for future clarity
---------
Co-authored-by: kjac <kja@umbraco.dk>
* 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>
* Do not add index if it already exists
* Add the JsonObjectConverter by default. This is required by the block editor
* Update test to reflect that fact we have the json object converter applied