Port connecting issue at particular location on node

this.dia = $(go.Diagram, {
      "draggingTool.dragsLink": true,
      "draggingTool.isGridSnapEnabled": true,
      "linkingTool.isUnconnectedLinkValid": false,
      "linkingTool.portGravity": 20,
      "relinkingTool.isUnconnectedLinkValid": true,
      "relinkingTool.portGravity": 20,
      "relinkingTool.fromHandleArchetype":
        $(go.Shape, "Diamond", { segmentIndex: 0, cursor: "pointer", desiredSize: new go.Size(8, 8), fill: "tomato", stroke: "darkred" }),
      "relinkingTool.toHandleArchetype":
        $(go.Shape, "Diamond", { segmentIndex: -1, cursor: "pointer", desiredSize: new go.Size(8, 8), fill: "darkred", stroke: "tomato" }),
      "linkReshapingTool.handleArchetype":
        $(go.Shape, "Diamond", { desiredSize: new go.Size(7, 7), fill: "lightblue", stroke: "deepskyblue" }),
      "rotatingTool.handleAngle": 270,
      "rotatingTool.handleDistance": 20,
      "rotatingTool.snapAngleMultiple": 15,
      "rotatingTool.snapAngleEpsilon": 15,
      'undoManager.isEnabled': true,
      allowDelete: true,
      allowCopy: false,
      model: $(go.GraphLinksModel,
        {
          copiesArrays: true,
          copiesArrayObjects: true,
          linkKeyProperty: 'key'
        }
      )
    });```

``` this.dia.nodeTemplate =
      $(go.Node, "Auto",  // the whole node panel
        {
          locationSpot: go.Spot.Center,
          selectionAdorned: true,
          resizable: true,
          layoutConditions: go.Part.LayoutStandard & ~go.Part.LayoutNodeSized,
          isShadowed: false,
          selectionAdornmentTemplate: nodeSelectionTemp,
          resizeAdornmentTemplate: resizeSelectionTemp
        },
        new go.Binding("location", "loc", go.Point.parse).makeTwoWay(go.Point.stringify),
        // whenever the PanelExpanderButton changes the visible property of the "LIST" panel,
        // clear out any desiredSize set by the ResizingTool.
        new go.Binding("desiredSize", "visible", function (v) { return new go.Size(NaN, NaN); }).ofObject("LIST2"),
        // define the node's outer shape, which will surround the Table
        $(go.Shape, "Rectangle",
          {
            fill: 'white', stroke: "#707070", strokeWidth: 1,
            portId: "",
            fromSpot: go.Spot.AllSides,
            toSpot: go.Spot.AllSides,
            fromLinkable: true, toLinkable: true, cursor: "pointer",
            fromLinkableDuplicates: true,
            toLinkableDuplicates:true

          })

my issue is similar to https://forum.nwoods.com/t/strange-port-linking-issue/9856
in the below image if i wanted to move anyone of the link to the top or bottom of the node or give the space between the links is not working,
if i move the nodes, links are moving automatically. is it possible now to reposition the links however we want?
Screen Shot 2020-06-25 at 12.10.47 AM

Screen Shot 2020-06-25 at 12.10.47 AM

Who are you talking about when you say “I wanted to move any one of the link to…”? You the programmer or the end user.

If you mean you the programmer, you will either need to connect that link with a particular port on the node that is where you want the link to be connected, or you will need to set the fromSpot or toSpot on the link, or both.

If you mean the end user, consider https://gojs.net/latest/extensions/LinkShifting.html