{
  "factory": {
    "id": "abstract-connection",
    "type": "entaxy.runtime.connection",
    "isAbstract": true,
    "description": "Factory abstract-connection of entaxy.runtime.connection"
  },
  "entaxy.runtime.connection": {
  	/* BOTH, CONSUMER_ONLY, PRODUCER_ONLY */
  	"modeSupported": "BOTH"
  },
  "fields": {
  	"##publishRelation": {
  		"type": "String",
  		"isHidden": true,
  		"required": true,
  		"defaultValue": {
			"@CALCULATED": {
				"expression": "${#OWNER#.objectId}:${#OWNER#.type}:connection:connections",
				"targetPath": "$.properties.##publish.relation",
				"removeResolved": true,
				"lazy": true
			}
  		}
  	}
  },
  "outputs": {
  	"init": {
		"isDefault": false,
		"fields": {
	        "##publishRelation": {
	        	"@SCOPED": ["private"]
	        }
		},
		"config": {
      		"configurable": false
      	},
	 	"scopes": [
	    	"public",
	    	"private"
	  	]      
  	},
    "ref": {
      "isDefault": false,
      "config": {
      	"configurable": false
      },
	 "scopes": [
	    "public",
	    "private"
	  ]      
    }
  }
}