ExecutionCommandPermission.relation_grant: def of bendvy-ecs-core@0.1.0.3 Import: import bendvy-ecs-core@0.1.0.3/execution_command_permission.bend as ExecutionCommandPermission Lines 117-119 of bendvy-ecs-core@0.1.0.3/execution_command_permission.bend: https://jend.leeeet.dev/read.txt?path=bendvy-ecs-core@0.1.0.3/execution_command_permission.bend&start_line=117&end_line=119 import Base import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as Layout import bendvy-ecs-core@0.1.0.3/execution_resource_policy.bend as Policy import bendvy-ecs-core@0.1.0.3/execution_relation_store.bend as RelationStore import bendvy-ecs-core@0.1.0.3/relation_types.bend as Relation import bendvy-ecs-core@0.1.0.3/execution_relation_command.bend as RelationCommands import bendvy-ecs-core@0.1.0.3/execution_relation_operation.bend as Operation def relation_grant(~S:Data,~layout:Layout.Layout,~resources:Layout.Layout,~Q:Type,~enqueue:Q -> Layout.Route -> Operation.Operation -> Q,~route:Layout.Route,~valid:{Layout.grant_valid(~resources,~route) == True{} : Bool},~descriptor:Relation.Descriptor,~payload:{Layout.payload(resources,route) == RelationStore.Store : Type},~view:{Layout.view(resources,route) == RelationStore.View : Data},~protected:{Layout.policy(resources,route) == Policy.ProtectedRelation{S,descriptor} : Policy.Policy},book:Book) -> Book & RelationCommands.HierarchyCommands: match book: case Book{permission,relations,selection}:(Book{permission,RelationAllowed{route,valid,descriptor,payload,view,protected,relations},extend_selection(~S,~resources,~route,~valid,~descriptor,~payload,~view,~protected,selection)},RelationCommands.hierarchy(~S,~Q,~route,~enqueue)) Uses (19): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Sigma https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_command_permission.bend&name=Book https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_command_permission.bend&name=Relations https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_command_permission.bend&name=extend_selection https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend&name=Layout https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend&name=Route https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend&name=grant_valid https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend&name=payload https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend&name=policy https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend&name=view https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_relation_command.bend&name=HierarchyCommands https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_relation_command.bend&name=hierarchy https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_relation_operation.bend&name=Operation https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_relation_store.bend&name=Store https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_relation_store.bend&name=View https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/execution_resource_policy.bend&name=Policy https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/relation_types.bend&name=Descriptor