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

@@ -231,7 +231,7 @@ public class ContentService : RepositoryService, IContentService
/// <param name="entity"></param>
/// <param name="permission"></param>
/// <param name="groupIds"></param>
public void SetPermission(IContent entity, char permission, IEnumerable<int> groupIds)
public void SetPermission(IContent entity, string permission, IEnumerable<int> groupIds)
{
using (ICoreScope scope = ScopeProvider.CreateCoreScope())
{