Add ancestor endpoints and remove explicit parent context (#15746)

* Remove explicit parent context in API outputs

* Add ancestor endpoints for document and data type (experimental for now)

* Add ancestor endpoints for doctypes, media, mediatypes, partial views, scripts, static files, stylesheets and templates

* Add unit tests for ancestor ID parsing

* Add ancestor endpoint for dictionary items

* Update OpenApi.json

* Fix merge and regenerate OpenApi.json

* Regenerate OpenApi.json

* Rename "folder" to "parent" for consistency

* Fix merge

* Fix merge

* Include "self" in ancestor endpoints

* Handle ancestors for root items correctly

* Remove "type" from recycle bin items

* Tests against fixed values instead of calculated ones.

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
This commit is contained in:
Kenn Jacobsen
2024-03-25 12:15:50 +01:00
committed by GitHub
parent e441639786
commit f6f868e463
24 changed files with 1308 additions and 53 deletions

View File

@@ -48,14 +48,6 @@ public abstract class UserStartNodeTreeControllerBase<TItem> : EntityTreeControl
: CalculateAccessMap(() => _userStartNodeEntitiesService.ChildUserAccessEntities(children, UserStartNodePaths), out totalItems);
}
protected override IEntitySlim[] GetEntities(Guid[] keys)
{
IEntitySlim[] entities = base.GetEntities(keys);
return UserHasRootAccess() || IgnoreUserStartNodes()
? entities
: CalculateAccessMap(() => _userStartNodeEntitiesService.UserAccessEntities(entities, UserStartNodePaths), out _);
}
protected override TItem[] MapTreeItemViewModels(Guid? parentKey, IEntitySlim[] entities)
{
if (UserHasRootAccess() || IgnoreUserStartNodes())