mirror of
https://github.com/bitwarden/server.git
synced 2025-05-23 20:41:04 -05:00

This is a first pass at structure that will undoubtedly evolve. It's likely further systems will be identified and linked in as we go forward
1447 lines
45 KiB
JSON
1447 lines
45 KiB
JSON
{
|
|
"configuration" : { },
|
|
"description" : "General Bitwarden System",
|
|
"documentation" : { },
|
|
"id" : 1,
|
|
"lastModifiedAgent" : "structurizr-ui",
|
|
"lastModifiedDate" : "2025-05-06T21:58:53Z",
|
|
"model" : {
|
|
"people" : [ {
|
|
"description" : "An end user of the Bitwarden System",
|
|
"id" : "1",
|
|
"location" : "Unspecified",
|
|
"name" : "Bitwarden User",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "user"
|
|
},
|
|
"relationships" : [ {
|
|
"description" : "Uses",
|
|
"destinationId" : "16",
|
|
"id" : "47",
|
|
"sourceId" : "1",
|
|
"tags" : "Relationship"
|
|
}, {
|
|
"description" : "Uses",
|
|
"destinationId" : "15",
|
|
"id" : "48",
|
|
"linkedRelationshipId" : "47",
|
|
"sourceId" : "1"
|
|
}, {
|
|
"description" : "Uses",
|
|
"destinationId" : "17",
|
|
"id" : "49",
|
|
"sourceId" : "1",
|
|
"tags" : "Relationship"
|
|
}, {
|
|
"description" : "Uses",
|
|
"destinationId" : "18",
|
|
"id" : "50",
|
|
"sourceId" : "1",
|
|
"tags" : "Relationship"
|
|
}, {
|
|
"description" : "Uses",
|
|
"destinationId" : "19",
|
|
"id" : "51",
|
|
"sourceId" : "1",
|
|
"tags" : "Relationship"
|
|
}, {
|
|
"description" : "Uses",
|
|
"destinationId" : "20",
|
|
"id" : "52",
|
|
"sourceId" : "1",
|
|
"tags" : "Relationship"
|
|
}, {
|
|
"description" : "Uses",
|
|
"destinationId" : "21",
|
|
"id" : "53",
|
|
"sourceId" : "1",
|
|
"tags" : "Relationship"
|
|
} ],
|
|
"tags" : "Element,Person"
|
|
}, {
|
|
"description" : "Either a Bitwarden site-reliability engineer or administrator of a self-hosted instance",
|
|
"id" : "2",
|
|
"location" : "Unspecified",
|
|
"name" : "System Admin",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "system_admin"
|
|
},
|
|
"relationships" : [ {
|
|
"description" : "Administers System",
|
|
"destinationId" : "9",
|
|
"id" : "62",
|
|
"sourceId" : "2",
|
|
"tags" : "Relationship"
|
|
}, {
|
|
"description" : "Administers System",
|
|
"destinationId" : "4",
|
|
"id" : "63",
|
|
"linkedRelationshipId" : "62",
|
|
"sourceId" : "2"
|
|
} ],
|
|
"tags" : "Element,Person,Bitwarden Employee,Self-Host Admin"
|
|
}, {
|
|
"description" : "A customer success engineer. Inspects bitwarden state through the admin portal and internal tools",
|
|
"group" : "Bitwarden Controlled",
|
|
"id" : "3",
|
|
"location" : "Unspecified",
|
|
"name" : "Customer Success",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "customer_success"
|
|
},
|
|
"relationships" : [ {
|
|
"description" : "Inspects and supports",
|
|
"destinationId" : "9",
|
|
"id" : "60",
|
|
"sourceId" : "3",
|
|
"tags" : "Relationship"
|
|
}, {
|
|
"description" : "Inspects and supports",
|
|
"destinationId" : "4",
|
|
"id" : "61",
|
|
"linkedRelationshipId" : "60",
|
|
"sourceId" : "3"
|
|
} ],
|
|
"tags" : "Element,Person,Bitwarden Employee"
|
|
}, {
|
|
"description" : "An administrator of an organization",
|
|
"id" : "24",
|
|
"location" : "Unspecified",
|
|
"name" : "Organization Admin",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "admin"
|
|
},
|
|
"relationships" : [ {
|
|
"description" : "Administers Organizations",
|
|
"destinationId" : "16",
|
|
"id" : "54",
|
|
"sourceId" : "24",
|
|
"tags" : "Relationship"
|
|
}, {
|
|
"description" : "Administers Organizations",
|
|
"destinationId" : "15",
|
|
"id" : "55",
|
|
"linkedRelationshipId" : "54",
|
|
"sourceId" : "24"
|
|
} ],
|
|
"tags" : "Element,Person,Admin"
|
|
}, {
|
|
"description" : "And employee of a managed service provider",
|
|
"id" : "25",
|
|
"location" : "Unspecified",
|
|
"name" : "MSP",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "provider"
|
|
},
|
|
"relationships" : [ {
|
|
"description" : "Completes Provider registration with",
|
|
"destinationId" : "9",
|
|
"id" : "56",
|
|
"sourceId" : "25",
|
|
"tags" : "Relationship"
|
|
}, {
|
|
"description" : "Completes Provider registration with",
|
|
"destinationId" : "4",
|
|
"id" : "57",
|
|
"linkedRelationshipId" : "56",
|
|
"sourceId" : "25"
|
|
}, {
|
|
"description" : "Administers Providers and Organizations",
|
|
"destinationId" : "16",
|
|
"id" : "58",
|
|
"sourceId" : "25",
|
|
"tags" : "Relationship"
|
|
}, {
|
|
"description" : "Administers Providers and Organizations",
|
|
"destinationId" : "15",
|
|
"id" : "59",
|
|
"linkedRelationshipId" : "58",
|
|
"sourceId" : "25"
|
|
} ],
|
|
"tags" : "Element,Person,MSP"
|
|
} ],
|
|
"properties" : {
|
|
"structurizr.groupSeparator" : "/"
|
|
},
|
|
"softwareSystems" : [ {
|
|
"containers" : [ {
|
|
"components" : [ {
|
|
"documentation" : { },
|
|
"id" : "6",
|
|
"name" : "Billing",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "server.api.billing"
|
|
},
|
|
"relationships" : [ {
|
|
"description" : "Requests payments for customers",
|
|
"destinationId" : "31",
|
|
"id" : "85",
|
|
"sourceId" : "6",
|
|
"tags" : "Relationship"
|
|
}, {
|
|
"description" : "Requests payments for customers",
|
|
"destinationId" : "32",
|
|
"id" : "88",
|
|
"sourceId" : "6",
|
|
"tags" : "Relationship"
|
|
} ],
|
|
"tags" : "Element,Component,Billing"
|
|
} ],
|
|
"documentation" : { },
|
|
"id" : "5",
|
|
"name" : "API",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "server.api"
|
|
},
|
|
"relationships" : [ {
|
|
"description" : "Validates JWTs with",
|
|
"destinationId" : "29",
|
|
"id" : "84",
|
|
"sourceId" : "5",
|
|
"tags" : "Relationship",
|
|
"url" : "https://bitwarden.com"
|
|
}, {
|
|
"description" : "Requests payments for customers",
|
|
"destinationId" : "31",
|
|
"id" : "86",
|
|
"linkedRelationshipId" : "85",
|
|
"sourceId" : "5"
|
|
}, {
|
|
"description" : "Requests payments for customers",
|
|
"destinationId" : "32",
|
|
"id" : "89",
|
|
"linkedRelationshipId" : "88",
|
|
"sourceId" : "5"
|
|
} ],
|
|
"tags" : "Element,Container,API"
|
|
}, {
|
|
"documentation" : { },
|
|
"id" : "7",
|
|
"name" : "Events",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "server.events"
|
|
},
|
|
"tags" : "Element,Container,Events"
|
|
}, {
|
|
"documentation" : { },
|
|
"id" : "8",
|
|
"name" : "Notifications",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "server.notifications"
|
|
},
|
|
"tags" : "Element,Container"
|
|
}, {
|
|
"documentation" : { },
|
|
"id" : "9",
|
|
"name" : "Bitwarden Portal",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "server.portal"
|
|
},
|
|
"tags" : "Element,Container,Web"
|
|
}, {
|
|
"documentation" : { },
|
|
"id" : "10",
|
|
"name" : "Events Processor",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "server.events_processor"
|
|
},
|
|
"tags" : "Element,Container,Events"
|
|
}, {
|
|
"documentation" : { },
|
|
"id" : "11",
|
|
"name" : "Database",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "server.database"
|
|
},
|
|
"tags" : "Element,Container,Database"
|
|
}, {
|
|
"documentation" : { },
|
|
"id" : "12",
|
|
"name" : "Events Queue",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "server.events_queue"
|
|
},
|
|
"tags" : "Element,Container,Queue,Azure"
|
|
}, {
|
|
"documentation" : { },
|
|
"id" : "13",
|
|
"name" : "Mail Queue",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "server.mail_queue"
|
|
},
|
|
"tags" : "Element,Container,Queue,Azure"
|
|
}, {
|
|
"documentation" : { },
|
|
"id" : "14",
|
|
"name" : "Notifications Queue",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "server.notifications_queue"
|
|
},
|
|
"tags" : "Element,Container,Queue,Azure"
|
|
}, {
|
|
"documentation" : { },
|
|
"id" : "26",
|
|
"name" : "SCIM",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "server.scim"
|
|
},
|
|
"tags" : "Element,Container,SCIM"
|
|
}, {
|
|
"documentation" : { },
|
|
"id" : "29",
|
|
"name" : "Identity",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "server.identity"
|
|
},
|
|
"tags" : "Element,Container,Auth"
|
|
}, {
|
|
"documentation" : { },
|
|
"id" : "30",
|
|
"name" : "SSO",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "server.sso"
|
|
},
|
|
"tags" : "Element,Container,Auth"
|
|
}, {
|
|
"components" : [ {
|
|
"description" : "IconsController",
|
|
"documentation" : { },
|
|
"id" : "34",
|
|
"name" : "IconsController",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "server.icons.icons_controller"
|
|
},
|
|
"relationships" : [ {
|
|
"description" : "Requests icons from",
|
|
"destinationId" : "36",
|
|
"id" : "41",
|
|
"sourceId" : "34",
|
|
"tags" : "Relationship"
|
|
}, {
|
|
"description" : "Caches icons in",
|
|
"destinationId" : "37",
|
|
"id" : "42",
|
|
"sourceId" : "34",
|
|
"tags" : "Relationship"
|
|
} ],
|
|
"tags" : "Element,Component",
|
|
"technology" : "C# ASP.NET Core"
|
|
}, {
|
|
"description" : "Provides information about the deployed icon service. Allow for health checks.",
|
|
"documentation" : { },
|
|
"id" : "35",
|
|
"name" : "InfoController",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "server.icons.info_controller"
|
|
},
|
|
"tags" : "Element,Component,Info,HealthCheck",
|
|
"technology" : "C# ASP.NET Core"
|
|
}, {
|
|
"description" : "Resolves a single source for a website icon and downloads it.",
|
|
"documentation" : { },
|
|
"id" : "36",
|
|
"name" : "IconDetermination",
|
|
"perspectives" : [ {
|
|
"description" : "Internal network exposure",
|
|
"name" : "Security",
|
|
"value" : "5"
|
|
} ],
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "server.icons.icon_retrieval"
|
|
},
|
|
"relationships" : [ {
|
|
"description" : "Retrieves icons from",
|
|
"destinationId" : "43",
|
|
"id" : "44",
|
|
"sourceId" : "36",
|
|
"tags" : "Relationship"
|
|
} ],
|
|
"tags" : "Element,Component"
|
|
}, {
|
|
"description" : "Caches icons for a given domain",
|
|
"documentation" : { },
|
|
"id" : "37",
|
|
"name" : "IconCache",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "server.icons.icon_cache"
|
|
},
|
|
"tags" : "Element,Component,Cache",
|
|
"technology" : "C# MemoryCache"
|
|
} ],
|
|
"documentation" : { },
|
|
"id" : "33",
|
|
"name" : "Icons",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "server.icons"
|
|
},
|
|
"relationships" : [ {
|
|
"description" : "Retrieves icons from",
|
|
"destinationId" : "43",
|
|
"id" : "45",
|
|
"linkedRelationshipId" : "44",
|
|
"sourceId" : "33"
|
|
} ],
|
|
"tags" : "Element,Container"
|
|
} ],
|
|
"documentation" : { },
|
|
"group" : "Bitwarden Controlled",
|
|
"id" : "4",
|
|
"location" : "Unspecified",
|
|
"name" : "Bitwarden Server",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "server"
|
|
},
|
|
"relationships" : [ {
|
|
"description" : "Retrieves icons from",
|
|
"destinationId" : "43",
|
|
"id" : "46",
|
|
"linkedRelationshipId" : "44",
|
|
"sourceId" : "4"
|
|
}, {
|
|
"description" : "Requests payments for customers",
|
|
"destinationId" : "31",
|
|
"id" : "87",
|
|
"linkedRelationshipId" : "85",
|
|
"sourceId" : "4"
|
|
}, {
|
|
"description" : "Requests payments for customers",
|
|
"destinationId" : "32",
|
|
"id" : "90",
|
|
"linkedRelationshipId" : "88",
|
|
"sourceId" : "4"
|
|
} ],
|
|
"tags" : "Element,Software System"
|
|
}, {
|
|
"containers" : [ {
|
|
"documentation" : { },
|
|
"id" : "16",
|
|
"name" : "Web Application",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "clients.web"
|
|
},
|
|
"relationships" : [ {
|
|
"description" : "Makes requests to",
|
|
"destinationId" : "5",
|
|
"id" : "64",
|
|
"sourceId" : "16",
|
|
"tags" : "Relationship"
|
|
}, {
|
|
"description" : "Makes requests to",
|
|
"destinationId" : "4",
|
|
"id" : "65",
|
|
"linkedRelationshipId" : "64",
|
|
"sourceId" : "16"
|
|
}, {
|
|
"description" : "Authenticates with",
|
|
"destinationId" : "29",
|
|
"id" : "77",
|
|
"sourceId" : "16",
|
|
"tags" : "Relationship"
|
|
} ],
|
|
"tags" : "Element,Container,Web"
|
|
}, {
|
|
"documentation" : { },
|
|
"id" : "17",
|
|
"name" : "iOS Application",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "clients.ios"
|
|
},
|
|
"relationships" : [ {
|
|
"description" : "Makes requests to",
|
|
"destinationId" : "5",
|
|
"id" : "67",
|
|
"sourceId" : "17",
|
|
"tags" : "Relationship"
|
|
}, {
|
|
"description" : "Makes requests to",
|
|
"destinationId" : "4",
|
|
"id" : "68",
|
|
"linkedRelationshipId" : "67",
|
|
"sourceId" : "17"
|
|
}, {
|
|
"description" : "Authenticates With",
|
|
"destinationId" : "29",
|
|
"id" : "79",
|
|
"sourceId" : "17",
|
|
"tags" : "Relationship"
|
|
} ],
|
|
"tags" : "Element,Container,Mobile"
|
|
}, {
|
|
"documentation" : { },
|
|
"id" : "18",
|
|
"name" : "Android Application",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "clients.android"
|
|
},
|
|
"relationships" : [ {
|
|
"description" : "Makes requests to",
|
|
"destinationId" : "5",
|
|
"id" : "69",
|
|
"sourceId" : "18",
|
|
"tags" : "Relationship"
|
|
}, {
|
|
"description" : "Makes requests to",
|
|
"destinationId" : "4",
|
|
"id" : "70",
|
|
"linkedRelationshipId" : "69",
|
|
"sourceId" : "18"
|
|
}, {
|
|
"description" : "Authenticates With",
|
|
"destinationId" : "29",
|
|
"id" : "80",
|
|
"sourceId" : "18",
|
|
"tags" : "Relationship"
|
|
} ],
|
|
"tags" : "Element,Container,Mobile"
|
|
}, {
|
|
"documentation" : { },
|
|
"id" : "19",
|
|
"name" : "Browser Extension",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "clients.browser_extension"
|
|
},
|
|
"relationships" : [ {
|
|
"description" : "Makes requests to",
|
|
"destinationId" : "5",
|
|
"id" : "71",
|
|
"sourceId" : "19",
|
|
"tags" : "Relationship"
|
|
}, {
|
|
"description" : "Makes requests to",
|
|
"destinationId" : "4",
|
|
"id" : "72",
|
|
"linkedRelationshipId" : "71",
|
|
"sourceId" : "19"
|
|
}, {
|
|
"description" : "Authenticates With",
|
|
"destinationId" : "29",
|
|
"id" : "81",
|
|
"sourceId" : "19",
|
|
"tags" : "Relationship"
|
|
} ],
|
|
"tags" : "Element,Container,Browser"
|
|
}, {
|
|
"documentation" : { },
|
|
"id" : "20",
|
|
"name" : "CLI",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "clients.cli"
|
|
},
|
|
"relationships" : [ {
|
|
"description" : "Makes requests to",
|
|
"destinationId" : "5",
|
|
"id" : "73",
|
|
"sourceId" : "20",
|
|
"tags" : "Relationship"
|
|
}, {
|
|
"description" : "Makes requests to",
|
|
"destinationId" : "4",
|
|
"id" : "74",
|
|
"linkedRelationshipId" : "73",
|
|
"sourceId" : "20"
|
|
}, {
|
|
"description" : "Authenticates With",
|
|
"destinationId" : "29",
|
|
"id" : "82",
|
|
"sourceId" : "20",
|
|
"tags" : "Relationship"
|
|
} ],
|
|
"tags" : "Element,Container,CLI"
|
|
}, {
|
|
"documentation" : { },
|
|
"id" : "21",
|
|
"name" : "Desktop Application",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "clients.desktop"
|
|
},
|
|
"relationships" : [ {
|
|
"description" : "Makes requests to",
|
|
"destinationId" : "5",
|
|
"id" : "75",
|
|
"sourceId" : "21",
|
|
"tags" : "Relationship"
|
|
}, {
|
|
"description" : "Makes requests to",
|
|
"destinationId" : "4",
|
|
"id" : "76",
|
|
"linkedRelationshipId" : "75",
|
|
"sourceId" : "21"
|
|
}, {
|
|
"description" : "Authenticates With",
|
|
"destinationId" : "29",
|
|
"id" : "83",
|
|
"sourceId" : "21",
|
|
"tags" : "Relationship"
|
|
} ],
|
|
"tags" : "Element,Container,Desktop"
|
|
} ],
|
|
"documentation" : { },
|
|
"group" : "Bitwarden Controlled",
|
|
"id" : "15",
|
|
"location" : "Unspecified",
|
|
"name" : "Clients",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "clients"
|
|
},
|
|
"relationships" : [ {
|
|
"description" : "Requests icons for cleartext urls from",
|
|
"destinationId" : "34",
|
|
"id" : "38",
|
|
"sourceId" : "15",
|
|
"tags" : "Relationship"
|
|
}, {
|
|
"description" : "Requests icons for cleartext urls from",
|
|
"destinationId" : "33",
|
|
"id" : "39",
|
|
"linkedRelationshipId" : "38",
|
|
"sourceId" : "15"
|
|
}, {
|
|
"description" : "Requests icons for cleartext urls from",
|
|
"destinationId" : "4",
|
|
"id" : "40",
|
|
"linkedRelationshipId" : "38",
|
|
"sourceId" : "15"
|
|
}, {
|
|
"description" : "Makes requests to",
|
|
"destinationId" : "5",
|
|
"id" : "66",
|
|
"linkedRelationshipId" : "64",
|
|
"sourceId" : "15"
|
|
}, {
|
|
"description" : "Authenticates with",
|
|
"destinationId" : "29",
|
|
"id" : "78",
|
|
"linkedRelationshipId" : "77",
|
|
"sourceId" : "15"
|
|
} ],
|
|
"tags" : "Element,Software System"
|
|
}, {
|
|
"documentation" : { },
|
|
"group" : "Bitwarden Controlled",
|
|
"id" : "22",
|
|
"location" : "Unspecified",
|
|
"name" : "Directory Connector",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "directory_connector"
|
|
},
|
|
"relationships" : [ {
|
|
"description" : "Syncs users and groups to Bitwarden",
|
|
"destinationId" : "5",
|
|
"id" : "27",
|
|
"sourceId" : "22",
|
|
"tags" : "Relationship"
|
|
}, {
|
|
"description" : "Syncs users and groups to Bitwarden",
|
|
"destinationId" : "4",
|
|
"id" : "28",
|
|
"linkedRelationshipId" : "27",
|
|
"sourceId" : "22"
|
|
} ],
|
|
"tags" : "Element,Software System,Directory,LDAP,Self-Hosted"
|
|
}, {
|
|
"documentation" : { },
|
|
"group" : "Bitwarden Controlled",
|
|
"id" : "23",
|
|
"location" : "Unspecified",
|
|
"name" : "Key Connector",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "key_connector"
|
|
},
|
|
"relationships" : [ {
|
|
"description" : "Validates JWTs with",
|
|
"destinationId" : "29",
|
|
"id" : "94",
|
|
"sourceId" : "23",
|
|
"tags" : "Relationship"
|
|
}, {
|
|
"description" : "Validates JWTs with",
|
|
"destinationId" : "4",
|
|
"id" : "95",
|
|
"linkedRelationshipId" : "94",
|
|
"sourceId" : "23"
|
|
} ],
|
|
"tags" : "Element,Software System"
|
|
}, {
|
|
"description" : "Handles credit cards and subscriptions.",
|
|
"documentation" : { },
|
|
"group" : "Payment Systems",
|
|
"id" : "31",
|
|
"location" : "Unspecified",
|
|
"name" : "Stripe",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "stripe"
|
|
},
|
|
"relationships" : [ {
|
|
"description" : "Sends subscription events to",
|
|
"destinationId" : "6",
|
|
"id" : "91",
|
|
"sourceId" : "31",
|
|
"tags" : "Relationship"
|
|
}, {
|
|
"description" : "Sends subscription events to",
|
|
"destinationId" : "5",
|
|
"id" : "92",
|
|
"linkedRelationshipId" : "91",
|
|
"sourceId" : "31"
|
|
}, {
|
|
"description" : "Sends subscription events to",
|
|
"destinationId" : "4",
|
|
"id" : "93",
|
|
"linkedRelationshipId" : "91",
|
|
"sourceId" : "31"
|
|
} ],
|
|
"tags" : "Element,Software System,External,Billing"
|
|
}, {
|
|
"description" : "Handles PayPal and cryptocurrency.",
|
|
"documentation" : { },
|
|
"group" : "Payment Systems",
|
|
"id" : "32",
|
|
"location" : "Unspecified",
|
|
"name" : "Braintree",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "braintree"
|
|
},
|
|
"tags" : "Element,Software System,External,Billing"
|
|
}, {
|
|
"documentation" : { },
|
|
"id" : "43",
|
|
"location" : "Unspecified",
|
|
"name" : "External Websites",
|
|
"properties" : {
|
|
"structurizr.dsl.identifier" : "external_websites"
|
|
},
|
|
"tags" : "Element,Software System,External,Icons"
|
|
} ]
|
|
},
|
|
"name" : "Bitwarden",
|
|
"properties" : {
|
|
"structurizr.dsl" : "d29ya3NwYWNlICJCaXR3YXJkZW4iICJHZW5lcmFsIEJpdHdhcmRlbiBTeXN0ZW0iIHsKCiAgIWlkZW50aWZpZXJzIGhpZXJhcmNoaWNhbAoKICBtb2RlbCB7CiAgICBwcm9wZXJ0aWVzIHsKICAgICAgInN0cnVjdHVyaXpyLmdyb3VwU2VwYXJhdG9yIiAiLyIKICAgIH0KCiAgICAjIEluY2x1ZGUgcm9vdCBsZXZlbCBtb2RlbHMKICAgICMgUGVyc29uIHR5cGVzCiAgICB1c2VyID0gcGVyc29uICJCaXR3YXJkZW4gVXNlciIgIkFuIGVuZCB1c2VyIG9mIHRoZSBCaXR3YXJkZW4gU3lzdGVtIgogICAgc3lzdGVtX2FkbWluID0gcGVyc29uICJTeXN0ZW0gQWRtaW4iICJFaXRoZXIgYSBCaXR3YXJkZW4gc2l0ZS1yZWxpYWJpbGl0eSBlbmdpbmVlciBvciBhZG1pbmlzdHJhdG9yIG9mIGEgc2VsZi1ob3N0ZWQgaW5zdGFuY2UiIHsKICAgICAgdGFncyAiQml0d2FyZGVuIEVtcGxveWVlIiAiU2VsZi1Ib3N0IEFkbWluIgogICAgfQogICAgCiAgICAKICAgIGJ3X2NvbnRyb2xsZWQgPSBncm91cCAiQml0d2FyZGVuIENvbnRyb2xsZWQiIHsKICAgICAgIyBCaXR3YXJkZW4gc3RhZmYKICAgICAgY3VzdG9tZXJfc3VjY2VzcyA9IHBlcnNvbiAiQ3VzdG9tZXIgU3VjY2VzcyIgIkEgY3VzdG9tZXIgc3VjY2VzcyBlbmdpbmVlci4gSW5zcGVjdHMgYml0d2FyZGVuIHN0YXRlIHRocm91Z2ggdGhlIGFkbWluIHBvcnRhbCBhbmQgaW50ZXJuYWwgdG9vbHMiIHsKICAgICAgICB0YWdzICJCaXR3YXJkZW4gRW1wbG95ZWUiCiAgICAgIH0KICAgICAgCiAgICAgICMgUm9vdCBzeXN0ZW1zCiAgICAgIHNlcnZlciA9IHNvZnR3YXJlU3lzdGVtICJCaXR3YXJkZW4gU2VydmVyIiB7CiAgICAgICAgYXBpID0gY29udGFpbmVyICJBUEkiIHsKICAgICAgICAgIGJpbGxpbmcgPSBjb21wb25lbnQgIkJpbGxpbmciIHsKICAgICAgICAgICAgdGFncyAiQmlsbGluZyIKICAgICAgICAgIH0KICAgICAgICAgIHRhZ3MgIkFQSSIKICAgICAgICB9CiAgICAgICAgZXZlbnRzID0gY29udGFpbmVyICJFdmVudHMiIHsKICAgICAgICAgIHRhZ3MgIkV2ZW50cyIKICAgICAgICB9CiAgICAgICAgbm90aWZpY2F0aW9ucyA9IGNvbnRhaW5lciAiTm90aWZpY2F0aW9ucyIKICAgICAgICBwb3J0YWwgPSBjb250YWluZXIgIkJpdHdhcmRlbiBQb3J0YWwiIHsKICAgICAgICAgIHRhZ3MgIldlYiIKICAgICAgICB9CiAgICAgICAgZXZlbnRzX3Byb2Nlc3NvciA9IGNvbnRhaW5lciAiRXZlbnRzIFByb2Nlc3NvciIgewogICAgICAgICAgdGFncyAiRXZlbnRzIgogICAgICAgIH0KICAgIAogICAgICAgICMgRGF0YSBzdG9yZXMKICAgICAgICBkYXRhYmFzZSA9IGNvbnRhaW5lciAiRGF0YWJhc2UiIHsKICAgICAgICAgIHRhZ3MgIkRhdGFiYXNlIgogICAgICAgIH0KICAgICAgICBldmVudHNfcXVldWUgPSBjb250YWluZXIgIkV2ZW50cyBRdWV1ZSIgewogICAgICAgICAgdGFncyAiUXVldWUiCiAgICAgICAgICB0YWdzICJBenVyZSIKICAgICAgICB9CiAgICAgICAgbWFpbF9xdWV1ZSA9IGNvbnRhaW5lciAiTWFpbCBRdWV1ZSIgewogICAgICAgICAgdGFncyAiUXVldWUiCiAgICAgICAgICB0YWdzICJBenVyZSIKICAgICAgICB9CiAgICAgICAgbm90aWZpY2F0aW9uc19xdWV1ZSA9IGNvbnRhaW5lciAiTm90aWZpY2F0aW9ucyBRdWV1ZSIgewogICAgICAgICAgdGFncyAiUXVldWUiCiAgICAgICAgICB0YWdzICJBenVyZSIKICAgICAgICB9CiAgICAgIH0KICAgICAgY2xpZW50cyA9IHNvZnR3YXJlU3lzdGVtICJDbGllbnRzIiB7CiAgICAgICAgd2ViID0gY29udGFpbmVyICJXZWIgQXBwbGljYXRpb24iIHsKICAgICAgICAgIHRhZ3MgIldlYiIKICAgICAgICB9CiAgICAgICAgaW9zID0gY29udGFpbmVyICJpT1MgQXBwbGljYXRpb24iIHsKICAgICAgICAgIHRhZ3MgIk1vYmlsZSIKICAgICAgICB9CiAgICAgICAgYW5kcm9pZCA9IGNvbnRhaW5lciAiQW5kcm9pZCBBcHBsaWNhdGlvbiIgewogICAgICAgICAgdGFncyAiTW9iaWxlIgogICAgICAgIH0KICAgICAgICBicm93c2VyX2V4dGVuc2lvbiA9IGNvbnRhaW5lciAiQnJvd3NlciBFeHRlbnNpb24iIHsKICAgICAgICAgIHRhZ3MgIkJyb3dzZXIiCiAgICAgICAgfQogICAgICAgIGNsaSA9IGNvbnRhaW5lciAiQ0xJIiB7CiAgICAgICAgICB0YWdzICJDTEkiCiAgICAgICAgfQogICAgICAgIGRlc2t0b3AgPSBjb250YWluZXIgIkRlc2t0b3AgQXBwbGljYXRpb24iIHsKICAgICAgICAgIHRhZ3MgIkRlc2t0b3AiCiAgICAgICAgfQogICAgICB9CiAgICAgIGRpcmVjdG9yeV9jb25uZWN0b3IgPSBzb2Z0d2FyZVN5c3RlbSAiRGlyZWN0b3J5IENvbm5lY3RvciIgewogICAgICAgIHRhZ3MgIkRpcmVjdG9yeSIKICAgICAgICB0YWdzICJMREFQIgogICAgICAgIHRhZ3MgIlNlbGYtSG9zdGVkIgogICAgICB9CiAgICAgIGtleV9jb25uZWN0b3IgPSBzb2Z0d2FyZVN5c3RlbSAiS2V5IENvbm5lY3RvciIgCiAgICB9CgogICAgIyBJbmNsdWRlIHRlYW0gbGV2ZWwgbW9kZWxzCiAgICBhZG1pbiA9IHBlcnNvbiAiT3JnYW5pemF0aW9uIEFkbWluIiAiQW4gYWRtaW5pc3RyYXRvciBvZiBhbiBvcmdhbml6YXRpb24iIHsKICAgICAgdGFncyAiQWRtaW4iCiAgICB9CiAgICBwcm92aWRlciA9IHBlcnNvbiAiTVNQIiAiQW5kIGVtcGxveWVlIG9mIGEgbWFuYWdlZCBzZXJ2aWNlIHByb3ZpZGVyIiB7CiAgICAgIHRhZ3MgIk1TUCIKICAgIH0KICAgIAogICAgIWVsZW1lbnQgc2VydmVyIHsKICAgICAgc2NpbSA9IGNvbnRhaW5lciAiU0NJTSIgewogICAgICAgIHRhZ3MgIlNDSU0iCiAgICAgIH0KICAgIH0KICAgIAogICAgZGlyZWN0b3J5X2Nvbm5lY3RvciAtPiBzZXJ2ZXIuYXBpICJTeW5jcyB1c2VycyBhbmQgZ3JvdXBzIHRvIEJpdHdhcmRlbiIKICAgICFlbGVtZW50IHNlcnZlciB7CiAgICAgIGlkZW50aXR5ID0gY29udGFpbmVyICJJZGVudGl0eSIgewogICAgICAgIHRhZ3MgIkF1dGgiCiAgICAgIH0KICAgICAgc3NvID0gY29udGFpbmVyICJTU08iIHsKICAgICAgICB0YWdzICJBdXRoIgogICAgICB9CiAgICB9CiAgICAjIEV4dGVybmFsIHZlbmRvcnMKICAgIGdyb3VwICJQYXltZW50IFN5c3RlbXMiIHsKICAgICAgc3RyaXBlID0gc29mdHdhcmVTeXN0ZW0gIlN0cmlwZSIgewogICAgICAgIHRhZ3MgIkV4dGVybmFsIgogICAgICAgIHRhZ3MgIkJpbGxpbmciCiAgICAgICAgZGVzY3JpcHRpb24gIkhhbmRsZXMgY3JlZGl0IGNhcmRzIGFuZCBzdWJzY3JpcHRpb25zLiIKICAgICAgfQogICAgICBicmFpbnRyZWUgPSBzb2Z0d2FyZVN5c3RlbSAiQnJhaW50cmVlIiB7CiAgICAgICAgdGFncyAiRXh0ZXJuYWwiCiAgICAgICAgdGFncyAiQmlsbGluZyIKICAgICAgICBkZXNjcmlwdGlvbiAiSGFuZGxlcyBQYXlQYWwgYW5kIGNyeXB0b2N1cnJlbmN5LiIKICAgICAgfQogICAgfQogICAgCiAgICAhZWxlbWVudCBzZXJ2ZXIgewogICAgICBpY29ucyA9IGNvbnRhaW5lciAiSWNvbnMiIHsKICAgICAgICBpY29uc19jb250cm9sbGVyID0gY29tcG9uZW50ICJJY29uc0NvbnRyb2xsZXIiIHsKICAgICAgICAgIGRlc2NyaXB0aW9uICJJY29uc0NvbnRyb2xsZXIiCiAgICAgICAgICB0ZWNobm9sb2d5ICJDIyBBU1AuTkVUIENvcmUiCiAgICAgICAgICAKICAgICAgICB9CiAgICAgICAgaW5mb19jb250cm9sbGVyID0gY29tcG9uZW50ICJJbmZvQ29udHJvbGxlciIgewogICAgICAgICAgZGVzY3JpcHRpb24gIlByb3ZpZGVzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBkZXBsb3llZCBpY29uIHNlcnZpY2UuIEFsbG93IGZvciBoZWFsdGggY2hlY2tzLiIKICAgICAgICAgIHRlY2hub2xvZ3kgIkMjIEFTUC5ORVQgQ29yZSIKICAgICAgICAgIHRhZ3MgIkluZm8iICJIZWFsdGhDaGVjayIKICAgICAgICB9CiAgICAgICAgaWNvbl9yZXRyaWV2YWwgPSBjb21wb25lbnQgIkljb25EZXRlcm1pbmF0aW9uIiB7CiAgICAgICAgICBkZXNjcmlwdGlvbiAiUmVzb2x2ZXMgYSBzaW5nbGUgc291cmNlIGZvciBhIHdlYnNpdGUgaWNvbiBhbmQgZG93bmxvYWRzIGl0LiIKICAgICAgICAgIHBlcnNwZWN0aXZlcyB7CiAgICAgICAgICAgICJTZWN1cml0eSIgIkludGVybmFsIG5ldHdvcmsgZXhwb3N1cmUiIDUKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWNvbl9jYWNoZSA9IGNvbXBvbmVudCAiSWNvbkNhY2hlIiB7CiAgICAgICAgICBkZXNjcmlwdGlvbiAiQ2FjaGVzIGljb25zIGZvciBhIGdpdmVuIGRvbWFpbiIKICAgICAgICAgIHRhZ3MgIkNhY2hlIgogICAgICAgICAgdGVjaG5vbG9neSAiQyMgTWVtb3J5Q2FjaGUiCiAgICAgICAgfQogICAgCiAgICAgICAgY2xpZW50cyAtPiBpY29uc19jb250cm9sbGVyICJSZXF1ZXN0cyBpY29ucyBmb3IgY2xlYXJ0ZXh0IHVybHMgZnJvbSIKICAgICAgICBpY29uc19jb250cm9sbGVyIC0+IGljb25fcmV0cmlldmFsICJSZXF1ZXN0cyBpY29ucyBmcm9tIgogICAgICAgIGljb25zX2NvbnRyb2xsZXIgLT4gaWNvbl9jYWNoZSAiQ2FjaGVzIGljb25zIGluIgogICAgICB9CiAgICB9CiAgICAKICAgIGV4dGVybmFsX3dlYnNpdGVzID0gc29mdHdhcmVTeXN0ZW0gIkV4dGVybmFsIFdlYnNpdGVzIiB7CiAgICAgIHRhZ3MgIkV4dGVybmFsIgogICAgICB0YWdzICJJY29ucyIKICAgIH0KICAgIAogICAgc2VydmVyLmljb25zLmljb25fcmV0cmlldmFsIC0+IGV4dGVybmFsX3dlYnNpdGVzICJSZXRyaWV2ZXMgaWNvbnMgZnJvbSIKCiAgICAjIEluY2x1ZGUgcm9vdCBsZXZlbCByZWxhdGlvbnNoaXBzCiAgICAjIFVzZXIgUmVsYXRpb25zaGlwcwogICAgdXNlciAtPiBjbGllbnRzLndlYiAiVXNlcyIKICAgIHVzZXIgLT4gY2xpZW50cy5pb3MgIlVzZXMiCiAgICB1c2VyIC0+IGNsaWVudHMuYW5kcm9pZCAiVXNlcyIKICAgIHVzZXIgLT4gY2xpZW50cy5icm93c2VyX2V4dGVuc2lvbiAiVXNlcyIKICAgIHVzZXIgLT4gY2xpZW50cy5jbGkgIlVzZXMiCiAgICB1c2VyIC0+IGNsaWVudHMuZGVza3RvcCAiVXNlcyIKICAgIGFkbWluIC0+IGNsaWVudHMud2ViICJBZG1pbmlzdGVycyBPcmdhbml6YXRpb25zIgogICAgcHJvdmlkZXIgLT4gc2VydmVyLnBvcnRhbCAiQ29tcGxldGVzIFByb3ZpZGVyIHJlZ2lzdHJhdGlvbiB3aXRoIgogICAgcHJvdmlkZXIgLT4gY2xpZW50cy53ZWIgIkFkbWluaXN0ZXJzIFByb3ZpZGVycyBhbmQgT3JnYW5pemF0aW9ucyIKICAgIGN1c3RvbWVyX3N1Y2Nlc3MgLT4gc2VydmVyLnBvcnRhbCAiSW5zcGVjdHMgYW5kIHN1cHBvcnRzIgogICAgc3lzdGVtX2FkbWluIC0+IHNlcnZlci5wb3J0YWwgIkFkbWluaXN0ZXJzIFN5c3RlbSIKICAgIAogICAgIyBIaWdoLWxldmVsIENsaWVudCBSZWxhdGlvbnNoaXBzCiAgICBjbGllbnRzLndlYiAtPiBzZXJ2ZXIuYXBpICJNYWtlcyByZXF1ZXN0cyB0byIKICAgIGNsaWVudHMuaW9zIC0+IHNlcnZlci5hcGkgIk1ha2VzIHJlcXVlc3RzIHRvIgogICAgY2xpZW50cy5hbmRyb2lkIC0+IHNlcnZlci5hcGkgIk1ha2VzIHJlcXVlc3RzIHRvIgogICAgY2xpZW50cy5icm93c2VyX2V4dGVuc2lvbiAtPiBzZXJ2ZXIuYXBpICJNYWtlcyByZXF1ZXN0cyB0byIKICAgIGNsaWVudHMuY2xpIC0+IHNlcnZlci5hcGkgIk1ha2VzIHJlcXVlc3RzIHRvIgogICAgY2xpZW50cy5kZXNrdG9wIC0+IHNlcnZlci5hcGkgIk1ha2VzIHJlcXVlc3RzIHRvIgogICAgY2xpZW50cy53ZWIgLT4gc2VydmVyLmlkZW50aXR5ICJBdXRoZW50aWNhdGVzIHdpdGgiCiAgICBjbGllbnRzLmlvcyAtPiBzZXJ2ZXIuaWRlbnRpdHkgIkF1dGhlbnRpY2F0ZXMgV2l0aCIKICAgIGNsaWVudHMuYW5kcm9pZCAtPiBzZXJ2ZXIuaWRlbnRpdHkgIkF1dGhlbnRpY2F0ZXMgV2l0aCIKICAgIGNsaWVudHMuYnJvd3Nlcl9leHRlbnNpb24gLT4gc2VydmVyLmlkZW50aXR5ICJBdXRoZW50aWNhdGVzIFdpdGgiCiAgICBjbGllbnRzLmNsaSAtPiBzZXJ2ZXIuaWRlbnRpdHkgIkF1dGhlbnRpY2F0ZXMgV2l0aCIKICAgIGNsaWVudHMuZGVza3RvcCAtPiBzZXJ2ZXIuaWRlbnRpdHkgIkF1dGhlbnRpY2F0ZXMgV2l0aCIKICAgIHNlcnZlci5hcGkgLT4gc2VydmVyLmlkZW50aXR5ICJWYWxpZGF0ZXMgSldUcyB3aXRoIiB7CiAgICAgIHVybCAiaHR0cHM6Ly9iaXR3YXJkZW4uY29tIgogICAgfQoKCiAgICAjIEhpZ2gtbGV2ZWwgcHJvdmlkZXIgcmVsYXRpb25zaGlwcwogICAgc2VydmVyLmFwaS5iaWxsaW5nIC0+IHN0cmlwZSAiUmVxdWVzdHMgcGF5bWVudHMgZm9yIGN1c3RvbWVycyIKICAgIHNlcnZlci5hcGkuYmlsbGluZyAtPiBicmFpbnRyZWUgIlJlcXVlc3RzIHBheW1lbnRzIGZvciBjdXN0b21lcnMiCiAgICBzdHJpcGUgLT4gc2VydmVyLmFwaS5iaWxsaW5nICJTZW5kcyBzdWJzY3JpcHRpb24gZXZlbnRzIHRvIgogICAga2V5X2Nvbm5lY3RvciAtPiBzZXJ2ZXIuaWRlbnRpdHkgIlZhbGlkYXRlcyBKV1RzIHdpdGgiCiAgfQoKICB2aWV3cyB7CiAgICBzdHlsZXMgewogICAgICBlbGVtZW50ICJQZXJzb24iIHsKICAgICAgICBiYWNrZ3JvdW5kICMzMTA3ZDMKICAgICAgICBzaGFwZSBwZXJzb24KICAgICAgfQogICAgICBlbGVtZW50ICJNU1AiIHsKICAgICAgICBiYWNrZ3JvdW5kICMzMTA3ZDMKICAgICAgICBzaGFwZSBwZXJzb24KICAgICAgfQogICAgfQoKICAgIC8vIFRoaXMgaXMgbGFzdCB0byBvdmVycmlkZSB0ZWFtIHN0eWxlcyB3aXRoIGNvbW1vbiBzdHlsZXMKICAgIHN0eWxlcyB7CiAgICAgIHRoZW1lIGRlZmF1bHQKICAgICAgZWxlbWVudCAiRWxlbWVudCIgewogICAgICAgIGNvbG9yICMzYzNiM2IKICAgICAgfQogICAgICBlbGVtZW50ICJQZXJzb24iIHsKICAgICAgICBiYWNrZ3JvdW5kICNkMzQ0MDcKICAgICAgICBzaGFwZSBwZXJzb24KICAgICAgfQogICAgICBlbGVtZW50ICJDb250YWluZXIiIHsKICAgICAgICBiYWNrZ3JvdW5kICNmODg3MjgKICAgICAgfQogICAgICBlbGVtZW50ICJNU1AiIHsKICAgICAgICBiYWNrZ3JvdW5kICMzMTA3ZDMKICAgICAgfQogICAgICBlbGVtZW50ICJRdWV1ZSIgewogICAgICAgIHNoYXBlIHBpcGUKICAgICAgfQogICAgICBlbGVtZW50ICJNb2JpbGUiIHsKICAgICAgICBzaGFwZSBtb2JpbGVEZXZpY2VQb3J0cmFpdAogICAgICB9CiAgICAgIGVsZW1lbnQgIldlYiIgewogICAgICAgIHNoYXBlIHdlYkJyb3dzZXIKICAgICAgfQogICAgICBlbGVtZW50ICJEYXRhYmFzZSIgewogICAgICAgIHNoYXBlIGN5bGluZGVyCiAgICAgIH0KICAgICAgZWxlbWVudCAiRXh0ZXJuYWwiIHsKICAgICAgICBjb2xvciAjMDAwMDAwCiAgICAgICAgYmFja2dyb3VuZCAjYjViNWI1CiAgICAgIH0KICAgIH0KICB9Cn0="
|
|
},
|
|
"views" : {
|
|
"componentViews" : [ {
|
|
"automaticLayout" : {
|
|
"applied" : false,
|
|
"edgeSeparation" : 0,
|
|
"implementation" : "Graphviz",
|
|
"nodeSeparation" : 300,
|
|
"rankDirection" : "TopBottom",
|
|
"rankSeparation" : 300,
|
|
"vertices" : false
|
|
},
|
|
"containerId" : "5",
|
|
"elements" : [ {
|
|
"id" : "6",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "31",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "32",
|
|
"x" : 0,
|
|
"y" : 0
|
|
} ],
|
|
"externalContainerBoundariesVisible" : false,
|
|
"generatedKey" : true,
|
|
"key" : "Component-001",
|
|
"order" : 4,
|
|
"relationships" : [ {
|
|
"id" : "85"
|
|
}, {
|
|
"id" : "88"
|
|
}, {
|
|
"id" : "91"
|
|
} ]
|
|
}, {
|
|
"automaticLayout" : {
|
|
"applied" : false,
|
|
"edgeSeparation" : 0,
|
|
"implementation" : "Graphviz",
|
|
"nodeSeparation" : 300,
|
|
"rankDirection" : "TopBottom",
|
|
"rankSeparation" : 300,
|
|
"vertices" : false
|
|
},
|
|
"containerId" : "33",
|
|
"elements" : [ {
|
|
"id" : "15",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "34",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "35",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "36",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "37",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "43",
|
|
"x" : 0,
|
|
"y" : 0
|
|
} ],
|
|
"externalContainerBoundariesVisible" : false,
|
|
"generatedKey" : true,
|
|
"key" : "Component-002",
|
|
"order" : 5,
|
|
"relationships" : [ {
|
|
"id" : "38"
|
|
}, {
|
|
"id" : "41"
|
|
}, {
|
|
"id" : "42"
|
|
}, {
|
|
"id" : "44"
|
|
} ]
|
|
} ],
|
|
"configuration" : {
|
|
"branding" : { },
|
|
"lastSavedView" : "SystemLandscape-001",
|
|
"metadataSymbols" : "SquareBrackets",
|
|
"styles" : {
|
|
"elements" : [ {
|
|
"background" : "#d34407",
|
|
"shape" : "Person",
|
|
"tag" : "Person"
|
|
}, {
|
|
"background" : "#3107d3",
|
|
"shape" : "Person",
|
|
"tag" : "MSP"
|
|
}, {
|
|
"color" : "#3c3b3b",
|
|
"tag" : "Element"
|
|
}, {
|
|
"background" : "#f88728",
|
|
"tag" : "Container"
|
|
}, {
|
|
"shape" : "Pipe",
|
|
"tag" : "Queue"
|
|
}, {
|
|
"shape" : "MobileDevicePortrait",
|
|
"tag" : "Mobile"
|
|
}, {
|
|
"shape" : "WebBrowser",
|
|
"tag" : "Web"
|
|
}, {
|
|
"shape" : "Cylinder",
|
|
"tag" : "Database"
|
|
}, {
|
|
"background" : "#b5b5b5",
|
|
"color" : "#000000",
|
|
"tag" : "External"
|
|
} ]
|
|
},
|
|
"terminology" : { },
|
|
"themes" : [ "https://static.structurizr.com/themes/default/theme.json" ]
|
|
},
|
|
"containerViews" : [ {
|
|
"automaticLayout" : {
|
|
"applied" : false,
|
|
"edgeSeparation" : 0,
|
|
"implementation" : "Graphviz",
|
|
"nodeSeparation" : 300,
|
|
"rankDirection" : "TopBottom",
|
|
"rankSeparation" : 300,
|
|
"vertices" : false
|
|
},
|
|
"elements" : [ {
|
|
"id" : "2",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "3",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "5",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "7",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "8",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "9",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "10",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "11",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "12",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "13",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "14",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "15",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "22",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "23",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "25",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "26",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "29",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "30",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "31",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "32",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "33",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "43",
|
|
"x" : 0,
|
|
"y" : 0
|
|
} ],
|
|
"externalSoftwareSystemBoundariesVisible" : false,
|
|
"generatedKey" : true,
|
|
"key" : "Container-001",
|
|
"order" : 3,
|
|
"relationships" : [ {
|
|
"id" : "27"
|
|
}, {
|
|
"id" : "39"
|
|
}, {
|
|
"id" : "45"
|
|
}, {
|
|
"id" : "56"
|
|
}, {
|
|
"id" : "59"
|
|
}, {
|
|
"id" : "60"
|
|
}, {
|
|
"id" : "62"
|
|
}, {
|
|
"id" : "66"
|
|
}, {
|
|
"id" : "78"
|
|
}, {
|
|
"id" : "84"
|
|
}, {
|
|
"id" : "86"
|
|
}, {
|
|
"id" : "89"
|
|
}, {
|
|
"id" : "92"
|
|
}, {
|
|
"id" : "94"
|
|
} ],
|
|
"softwareSystemId" : "4"
|
|
}, {
|
|
"automaticLayout" : {
|
|
"applied" : false,
|
|
"edgeSeparation" : 0,
|
|
"implementation" : "Graphviz",
|
|
"nodeSeparation" : 300,
|
|
"rankDirection" : "TopBottom",
|
|
"rankSeparation" : 300,
|
|
"vertices" : false
|
|
},
|
|
"elements" : [ {
|
|
"id" : "1",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "4",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "16",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "17",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "18",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "19",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "20",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "21",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "24",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "25",
|
|
"x" : 0,
|
|
"y" : 0
|
|
} ],
|
|
"externalSoftwareSystemBoundariesVisible" : false,
|
|
"generatedKey" : true,
|
|
"key" : "Container-002",
|
|
"order" : 8,
|
|
"relationships" : [ {
|
|
"id" : "47"
|
|
}, {
|
|
"id" : "49"
|
|
}, {
|
|
"id" : "50"
|
|
}, {
|
|
"id" : "51"
|
|
}, {
|
|
"id" : "52"
|
|
}, {
|
|
"id" : "53"
|
|
}, {
|
|
"id" : "54"
|
|
}, {
|
|
"id" : "57"
|
|
}, {
|
|
"id" : "58"
|
|
}, {
|
|
"id" : "65"
|
|
}, {
|
|
"id" : "68"
|
|
}, {
|
|
"id" : "70"
|
|
}, {
|
|
"id" : "72"
|
|
}, {
|
|
"id" : "74"
|
|
}, {
|
|
"id" : "76"
|
|
} ],
|
|
"softwareSystemId" : "15"
|
|
} ],
|
|
"systemContextViews" : [ {
|
|
"automaticLayout" : {
|
|
"applied" : false,
|
|
"edgeSeparation" : 0,
|
|
"implementation" : "Graphviz",
|
|
"nodeSeparation" : 300,
|
|
"rankDirection" : "TopBottom",
|
|
"rankSeparation" : 300,
|
|
"vertices" : false
|
|
},
|
|
"elements" : [ {
|
|
"id" : "2",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "3",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "4",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "15",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "22",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "23",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "25",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "31",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "32",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "43",
|
|
"x" : 0,
|
|
"y" : 0
|
|
} ],
|
|
"enterpriseBoundaryVisible" : true,
|
|
"generatedKey" : true,
|
|
"key" : "SystemContext-001",
|
|
"order" : 2,
|
|
"relationships" : [ {
|
|
"id" : "28"
|
|
}, {
|
|
"id" : "40"
|
|
}, {
|
|
"id" : "46"
|
|
}, {
|
|
"id" : "57"
|
|
}, {
|
|
"id" : "59"
|
|
}, {
|
|
"id" : "61"
|
|
}, {
|
|
"id" : "63"
|
|
}, {
|
|
"id" : "87"
|
|
}, {
|
|
"id" : "90"
|
|
}, {
|
|
"id" : "93"
|
|
}, {
|
|
"id" : "95"
|
|
} ],
|
|
"softwareSystemId" : "4"
|
|
}, {
|
|
"automaticLayout" : {
|
|
"applied" : false,
|
|
"edgeSeparation" : 0,
|
|
"implementation" : "Graphviz",
|
|
"nodeSeparation" : 300,
|
|
"rankDirection" : "TopBottom",
|
|
"rankSeparation" : 300,
|
|
"vertices" : false
|
|
},
|
|
"elements" : [ {
|
|
"id" : "4",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "32",
|
|
"x" : 0,
|
|
"y" : 0
|
|
} ],
|
|
"enterpriseBoundaryVisible" : true,
|
|
"generatedKey" : true,
|
|
"key" : "SystemContext-002",
|
|
"order" : 6,
|
|
"relationships" : [ {
|
|
"id" : "90"
|
|
} ],
|
|
"softwareSystemId" : "32"
|
|
}, {
|
|
"automaticLayout" : {
|
|
"applied" : false,
|
|
"edgeSeparation" : 0,
|
|
"implementation" : "Graphviz",
|
|
"nodeSeparation" : 300,
|
|
"rankDirection" : "TopBottom",
|
|
"rankSeparation" : 300,
|
|
"vertices" : false
|
|
},
|
|
"elements" : [ {
|
|
"id" : "1",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "4",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "15",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "24",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "25",
|
|
"x" : 0,
|
|
"y" : 0
|
|
} ],
|
|
"enterpriseBoundaryVisible" : true,
|
|
"generatedKey" : true,
|
|
"key" : "SystemContext-003",
|
|
"order" : 7,
|
|
"relationships" : [ {
|
|
"id" : "40"
|
|
}, {
|
|
"id" : "48"
|
|
}, {
|
|
"id" : "55"
|
|
}, {
|
|
"id" : "57"
|
|
}, {
|
|
"id" : "59"
|
|
} ],
|
|
"softwareSystemId" : "15"
|
|
}, {
|
|
"automaticLayout" : {
|
|
"applied" : false,
|
|
"edgeSeparation" : 0,
|
|
"implementation" : "Graphviz",
|
|
"nodeSeparation" : 300,
|
|
"rankDirection" : "TopBottom",
|
|
"rankSeparation" : 300,
|
|
"vertices" : false
|
|
},
|
|
"elements" : [ {
|
|
"id" : "4",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "22",
|
|
"x" : 0,
|
|
"y" : 0
|
|
} ],
|
|
"enterpriseBoundaryVisible" : true,
|
|
"generatedKey" : true,
|
|
"key" : "SystemContext-004",
|
|
"order" : 9,
|
|
"relationships" : [ {
|
|
"id" : "28"
|
|
} ],
|
|
"softwareSystemId" : "22"
|
|
}, {
|
|
"automaticLayout" : {
|
|
"applied" : false,
|
|
"edgeSeparation" : 0,
|
|
"implementation" : "Graphviz",
|
|
"nodeSeparation" : 300,
|
|
"rankDirection" : "TopBottom",
|
|
"rankSeparation" : 300,
|
|
"vertices" : false
|
|
},
|
|
"elements" : [ {
|
|
"id" : "4",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "43",
|
|
"x" : 0,
|
|
"y" : 0
|
|
} ],
|
|
"enterpriseBoundaryVisible" : true,
|
|
"generatedKey" : true,
|
|
"key" : "SystemContext-005",
|
|
"order" : 10,
|
|
"relationships" : [ {
|
|
"id" : "46"
|
|
} ],
|
|
"softwareSystemId" : "43"
|
|
}, {
|
|
"automaticLayout" : {
|
|
"applied" : false,
|
|
"edgeSeparation" : 0,
|
|
"implementation" : "Graphviz",
|
|
"nodeSeparation" : 300,
|
|
"rankDirection" : "TopBottom",
|
|
"rankSeparation" : 300,
|
|
"vertices" : false
|
|
},
|
|
"elements" : [ {
|
|
"id" : "4",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "23",
|
|
"x" : 0,
|
|
"y" : 0
|
|
} ],
|
|
"enterpriseBoundaryVisible" : true,
|
|
"generatedKey" : true,
|
|
"key" : "SystemContext-006",
|
|
"order" : 11,
|
|
"relationships" : [ {
|
|
"id" : "95"
|
|
} ],
|
|
"softwareSystemId" : "23"
|
|
}, {
|
|
"automaticLayout" : {
|
|
"applied" : false,
|
|
"edgeSeparation" : 0,
|
|
"implementation" : "Graphviz",
|
|
"nodeSeparation" : 300,
|
|
"rankDirection" : "TopBottom",
|
|
"rankSeparation" : 300,
|
|
"vertices" : false
|
|
},
|
|
"elements" : [ {
|
|
"id" : "4",
|
|
"x" : 0,
|
|
"y" : 0
|
|
}, {
|
|
"id" : "31",
|
|
"x" : 0,
|
|
"y" : 0
|
|
} ],
|
|
"enterpriseBoundaryVisible" : true,
|
|
"generatedKey" : true,
|
|
"key" : "SystemContext-007",
|
|
"order" : 12,
|
|
"relationships" : [ {
|
|
"id" : "87"
|
|
}, {
|
|
"id" : "93"
|
|
} ],
|
|
"softwareSystemId" : "31"
|
|
} ],
|
|
"systemLandscapeViews" : [ {
|
|
"automaticLayout" : {
|
|
"applied" : true,
|
|
"edgeSeparation" : 0,
|
|
"implementation" : "Graphviz",
|
|
"nodeSeparation" : 300,
|
|
"rankDirection" : "TopBottom",
|
|
"rankSeparation" : 300,
|
|
"vertices" : false
|
|
},
|
|
"dimensions" : {
|
|
"height" : 2774,
|
|
"width" : 4417
|
|
},
|
|
"elements" : [ {
|
|
"id" : "1",
|
|
"x" : 2417,
|
|
"y" : 165
|
|
}, {
|
|
"id" : "2",
|
|
"x" : 200,
|
|
"y" : 865
|
|
}, {
|
|
"id" : "3",
|
|
"x" : 900,
|
|
"y" : 865
|
|
}, {
|
|
"id" : "4",
|
|
"x" : 1625,
|
|
"y" : 1565
|
|
}, {
|
|
"id" : "15",
|
|
"x" : 3100,
|
|
"y" : 915
|
|
}, {
|
|
"id" : "22",
|
|
"x" : 2350,
|
|
"y" : 915
|
|
}, {
|
|
"id" : "23",
|
|
"x" : 1600,
|
|
"y" : 915
|
|
}, {
|
|
"id" : "24",
|
|
"x" : 3117,
|
|
"y" : 165
|
|
}, {
|
|
"id" : "25",
|
|
"x" : 3817,
|
|
"y" : 165
|
|
}, {
|
|
"id" : "31",
|
|
"x" : 1625,
|
|
"y" : 2165
|
|
}, {
|
|
"id" : "32",
|
|
"x" : 875,
|
|
"y" : 2165
|
|
}, {
|
|
"id" : "43",
|
|
"x" : 2375,
|
|
"y" : 2165
|
|
} ],
|
|
"enterpriseBoundaryVisible" : true,
|
|
"generatedKey" : true,
|
|
"key" : "SystemLandscape-001",
|
|
"order" : 1,
|
|
"relationships" : [ {
|
|
"id" : "28"
|
|
}, {
|
|
"id" : "40",
|
|
"vertices" : [ {
|
|
"x" : 2950,
|
|
"y" : 1265
|
|
} ]
|
|
}, {
|
|
"id" : "46"
|
|
}, {
|
|
"id" : "48"
|
|
}, {
|
|
"id" : "55"
|
|
}, {
|
|
"id" : "57",
|
|
"vertices" : [ {
|
|
"x" : 3700,
|
|
"y" : 1265
|
|
} ]
|
|
}, {
|
|
"id" : "59"
|
|
}, {
|
|
"id" : "61"
|
|
}, {
|
|
"id" : "63",
|
|
"vertices" : [ {
|
|
"x" : 721,
|
|
"y" : 1265
|
|
} ]
|
|
}, {
|
|
"id" : "87",
|
|
"vertices" : [ {
|
|
"x" : 1700,
|
|
"y" : 2015
|
|
} ]
|
|
}, {
|
|
"id" : "90"
|
|
}, {
|
|
"id" : "93",
|
|
"vertices" : [ {
|
|
"x" : 2000,
|
|
"y" : 2015
|
|
} ]
|
|
}, {
|
|
"id" : "95"
|
|
} ]
|
|
} ]
|
|
}
|
|
} |