Placing ports in the node and link configuration

I want place the port on the border oft node or little outside of the node, I tried the margin concept in node but half of the node ids dissappeared and also there is an bend shaped or dent shapes in link from the port

 var margin: go.Margin
    switch (spot) {
      case go.Spot.Top:
        margin = new go.Margin(-4, 0, 0, 0)
        break;
      case go.Spot.Bottom:
        margin = new go.Margin(0, 0, -4, 0)
        break;
      case go.Spot.Right:
        margin = new go.Margin(0, -4, 0, 0)
        break;
      case go.Spot.Left:
        margin = new go.Margin(0, 0, 0, -4)
        break;
    }

Do you have a sketch or screenshot of what you’d like your nodes to look like?

I got :image

I want : image

Here’s one way of achieving that: https://codepen.io/jhardy/pen/NWNMrpv

It uses a Spot panel with different port ids for true and false ports. You should probably read about Spot panels, ports and link labels.