Granular permissions in Management API (#15734)

* It builds..

* Added granular permissions

* Added granular permissions

* Rename content to document

* Added migration

* Fixed issues causing the migration from v13 was not possible.

* Merged Permissions and Granular Permissions in viewmodel

* Prepared the viewmodel to a future where permissions can be more types.

* OpenApi

* Allow to translate a single char to many strings

* Use frontend friendly values for known permissions

* Validate the documents exist

* Allow setting non-document settings

* Add "$type" when required

* Rename to presentation model and update OpenApi.json

* OpenApi.json

* Fix tests

* OpenAPI

* Fixed issues with upgrades

* Add the discriminator name

* Fixed issues that only happended on SqlServer

* Fixed queries for SqlServer

* Clean up

* More cleanup

* Fix issue when migrating sqlserver

* Split fallback permissions into own concept in view model

* Also split on current user

* Added a extenable pattern for mappers between DTO => Granular Permission => ViewModel and ViewModel => Granular Permission

* Fixed issue with new exists method, that did not take duplicate keys into account.

* Added sections to current user response model

* Formatting fixes

* Move class to its own file

* xml comment

---------

Co-authored-by: Zeegaan <skrivdetud@gmail.com>
This commit is contained in:
Bjarke Berg
2024-02-27 20:57:02 +00:00
committed by GitHub
parent 3c2ae389f4
commit 2494d8c5aa
111 changed files with 1468 additions and 544 deletions

View File

@@ -7,5 +7,5 @@ public class NodePermissions
{
public Guid NodeKey { get; set; }
public IEnumerable<string> Permissions { get; set; } = Array.Empty<string>();
public ISet<string> Permissions { get; set; } = new HashSet<string>();
}