public async Task <bool> CreateLink(LiteGraph.Link link) { return(await Task.Run(() => { if (engine == null) { return false; } Nodes.Node outNode = SystemController.nodesEngine.GetNode(link.origin_id); Nodes.Node inNode = SystemController.nodesEngine.GetNode(link.target_id); if (outNode == null || inNode == null) { engine.LogEngineError( $"Can`t create link from [{link.origin_id}] to [{link.target_id}]. Does not exist."); return false; } if (outNode.GetNodeOptions().ProtectedAccess || inNode.GetNodeOptions().ProtectedAccess) { if (!User.HasClaim(x => x.Type == UserClaims.EditorProtectedAccess)) { engine.LogEngineError( $"Can`t create link from [{link.origin_id}] to [{link.target_id}]. No permissions for protected access."); return false; } } engine.AddLink(outNode.Outputs[link.origin_slot], inNode.Inputs[link.target_slot]); return true; })); }
public LiteGraph.Link ConvertLinkToLiteGraphLink(Nodes.Link link) { if (link == null) { return(null); } LiteGraph.Link liteGraphLink = new LiteGraph.Link { origin_id = engine.GetOutputOwner(link.OutputId)?.Id, target_id = engine.GetInputOwner(link.InputId)?.Id, origin_slot = GetOutputSlot(link.OutputId), target_slot = GetInputSlot(link.InputId), id = link.Id, panel_id = link.PanelId }; return(liteGraphLink); }
public LiteGraph.Link ConvertLinkToLiteGraphLink(Nodes.Link link) { if (link == null) return null; LiteGraph.Link liteGraphLink = new LiteGraph.Link { origin_id = engine.GetOutputOwner(link.OutputId)?.Id, target_id = engine.GetInputOwner(link.InputId)?.Id, origin_slot = GetOutputSlot(link.OutputId), target_slot = GetInputSlot(link.InputId), id = link.Id, panel_id = link.PanelId }; return liteGraphLink; }