visualisation-tool
visualisation-tool copied to clipboard
When producing nodes for unspecified interestedParties, make a new one for each
Currently we share a single node between them all, which could make it seem as if the same shadowy figure controls them all when we really have no idea.
To fix this, we can use a function to generate unknown nodes, passing in the ownershipOrControlStatement, and generate an id for them by appending the O-o-C's id to 'unknown'
See https://github.com/openownership/visualisation-tool/pull/17#discussion_r428642755
Multiple unknown parties should use a Stack
This has been fixed. I tested by pasting in:
[
{
"statementID": "1dc0e987-5c57-4a1c-b3ad-61353b66a9b7",
"statementType": "entityStatement",
"isComponent": false,
"statementDate": "2017-11-18",
"entityType": "registeredEntity",
"name": "CHRINON LTD",
"foundingDate": "2010-11-18",
"identifiers": [
{
"scheme": "GB-COH",
"id": "07444723"
}
],
"addresses": [
{
"type": "registered",
"address": "Aston House, Cornwall Avenue, London, N3 1LF",
"country": "GB",
"postCode": "N3 1LF"
}
],
"jurisdiction": {
"code": "GB",
"name": "United Kingdom of Great Britain and Northern Ireland (the)"
},
"publicationDetails": {
"publicationDate": "2018-11-18",
"bodsVersion": "0.3",
"publisher": {
"name": "CHRINON LTD"
}
}
},
{
"statementID": "26e786f0-54c5-497d-a52d-b83439ce3dad",
"statementType": "entityStatement",
"isComponent": false,
"statementDate": "2018-01-05",
"entityType": "arrangement",
"name": "Joint shareholding",
"publicationDetails": {
"publicationDate": "2018-11-18",
"bodsVersion": "0.3",
"publisher": {
"name": "CHRINON LTD"
}
}
},
{
"statementID": "676ce2ec-e244-409e-85f9-9823e88bc099",
"statementType": "ownershipOrControlStatement",
"isComponent": false,
"statementDate": "2018-01-05",
"subject": {
"describedByEntityStatement": "1dc0e987-5c57-4a1c-b3ad-61353b66a9b7"
},
"interestedParty": {
"describedByEntityStatement": "26e786f0-54c5-497d-a52d-b83439ce3dad"
},
"interests": [
{
"type": "shareholding",
"directOrIndirect": "direct",
"beneficialOwnershipOrControl": false,
"startDate": "2018-01-01",
"share": {
"exact": 100
}
}
],
"publicationDetails": {
"publicationDate": "2018-11-18",
"bodsVersion": "0.3",
"publisher": {
"name": "CHRINON LTD"
}
}
},
{
"statementID": "c222fe05-2bf3-4cc0-b126-f665109d7211",
"statementType": "ownershipOrControlStatement",
"isComponent": false,
"statementDate": "2018-01-05",
"subject": {
"describedByEntityStatement": "26e786f0-54c5-497d-a52d-b83439ce3dad"
},
"interestedParty": {"reason":"interestedPartyExemptFromDisclosure"},
"interests": [
{
"type": "shareholding",
"directOrIndirect": "direct",
"beneficialOwnershipOrControl": true,
"startDate": "2018-01-01",
"share": {
"exact": 50
}
}
],
"publicationDetails": {
"publicationDate": "2018-11-18",
"bodsVersion": "0.3",
"publisher": {
"name": "CHRINON LTD"
}
}
},
{
"statementID": "c222fe05-2bf3-4cc0-b126-f665109d7211",
"statementType": "ownershipOrControlStatement",
"isComponent": false,
"statementDate": "2018-01-05",
"subject": {
"describedByEntityStatement": "26e786f0-54c5-497d-a52d-b83439ce3dad"
},
"interestedParty": {"reason":"interestedPartyExemptFromDisclosure"},
"interests": [
{
"type": "shareholding",
"directOrIndirect": "direct",
"beneficialOwnershipOrControl": true,
"startDate": "2018-01-01",
"share": {
"exact": 50
}
}
],
"publicationDetails": {
"publicationDate": "2018-11-18",
"bodsVersion": "0.3",
"publisher": {
"name": "CHRINON LTD"
}
}
}
]