{"pviz_slice":true,"schema_version":"pviz-slice@v1","tool":"hub_summary","generated_at":"2026-11-03T17:29:49.774621+00:00","bundle":{"path":"/b/bundle.json","repo":"eshop","node_count":567,"edge_count":1398},"params":{"command":"hub-summary","top_n":15,"top_reason_n":5},"result":{"schema":"pviz.slice.hub_summary.v1","totals":{"nodes_seen":567,"nodes_with_edges":460,"nodes_with_language_facts":557,"edges_seen":1398,"edges_counted":1398,"edges_skipped_missing_endpoint":0,"directories_with_edges":160,"languages_with_edges":2,"rails_roles_with_edges":0,"language_role_groups_with_edges":2,"reasons":6},"node_hubs":{"by_outgoing_edges":[{"node":"src/ClientApp/MauiProgram.cs","directory":"src/ClientApp","loc":165,"incoming":8,"outgoing":51,"total":59,"reasons":{"csharp_type_ref_resolved":54,"csharp_call_resolved":5},"reasons_total":2,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":5,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/Ordering.API/Extensions/Extensions.cs","directory":"src/Ordering.API/Extensions","loc":41,"incoming":0,"outgoing":33,"total":33,"reasons":{"csharp_type_ref_resolved":32,"csharp_call_resolved":1},"reasons_total":2,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":2,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/ClientApp/ViewModels/CheckoutViewModel.cs","directory":"src/ClientApp/ViewModels","loc":132,"incoming":2,"outgoing":25,"total":27,"reasons":{"csharp_type_ref_resolved":17,"csharp_call_resolved":9,"csharp_extends_resolved":1},"reasons_total":3,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":5,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/Ordering.Domain/AggregatesModel/OrderAggregate/Order.cs","directory":"src/Ordering.Domain/AggregatesModel/OrderAggregate","loc":137,"incoming":36,"outgoing":24,"total":60,"reasons":{"csharp_type_ref_resolved":37,"csharp_call_resolved":21,"csharp_extends_resolved":1,"csharp_implements_resolved":1},"reasons_total":4,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":14,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/WebApp/Extensions/Extensions.cs","directory":"src/WebApp/Extensions","loc":103,"incoming":1,"outgoing":21,"total":22,"reasons":{"csharp_type_ref_resolved":20,"csharp_call_resolved":2},"reasons_total":2,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":6,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/ClientApp/ViewModels/CatalogViewModel.cs","directory":"src/ClientApp/ViewModels","loc":166,"incoming":5,"outgoing":17,"total":22,"reasons":{"csharp_type_ref_resolved":14,"csharp_call_resolved":6,"csharp_extends_resolved":2},"reasons_total":3,"reasons_truncated":false,"language":"csharp","declared_type_count":3,"method_count":9,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"tests/ClientApp.UnitTests/ViewModels/OrderViewModelTests.cs","directory":"tests/ClientApp.UnitTests/ViewModels","loc":58,"incoming":0,"outgoing":17,"total":17,"reasons":{"csharp_type_ref_resolved":12,"csharp_call_resolved":5},"reasons_total":2,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":4,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/Ordering.API/Application/Commands/CreateOrderCommandHandler.cs","directory":"src/Ordering.API/Application/Commands","loc":51,"incoming":3,"outgoing":16,"total":19,"reasons":{"csharp_type_ref_resolved":12,"csharp_call_resolved":6,"csharp_extends_resolved":1},"reasons_total":3,"reasons_truncated":false,"language":"csharp","declared_type_count":2,"method_count":4,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"tests/Ordering.UnitTests/Application/NewOrderCommandHandlerTest.cs","directory":"tests/Ordering.UnitTests/Application","loc":65,"incoming":0,"outgoing":16,"total":16,"reasons":{"csharp_type_ref_resolved":9,"csharp_call_resolved":7},"reasons_total":2,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":6,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/ClientApp/Services/Order/OrderService.cs","directory":"src/ClientApp/Services/Order","loc":100,"incoming":1,"outgoing":15,"total":16,"reasons":{"csharp_type_ref_resolved":10,"csharp_call_resolved":5,"csharp_implements_resolved":1},"reasons_total":3,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":6,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/Ordering.API/Apis/OrdersApi.cs","directory":"src/Ordering.API/Apis","loc":153,"incoming":4,"outgoing":15,"total":19,"reasons":{"csharp_type_ref_resolved":12,"csharp_call_resolved":6,"csharp_import_internal":1},"reasons_total":3,"reasons_truncated":false,"language":"csharp","declared_type_count":2,"method_count":9,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/Ordering.API/Application/DomainEventHandlers/OrderStatusChangedToPaidDomainEventHandler.cs","directory":"src/Ordering.API/Application/DomainEventHandlers","loc":34,"incoming":0,"outgoing":15,"total":15,"reasons":{"csharp_type_ref_resolved":10,"csharp_call_resolved":5},"reasons_total":2,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":2,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/Ordering.Infrastructure/OrderingContext.cs","directory":"src/Ordering.Infrastructure","loc":82,"incoming":14,"outgoing":15,"total":29,"reasons":{"csharp_type_ref_resolved":26,"csharp_call_resolved":2,"csharp_implements_resolved":1},"reasons_total":3,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":8,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"tests/ClientApp.UnitTests/ViewModels/CatalogItemViewModelTests.cs","directory":"tests/ClientApp.UnitTests/ViewModels","loc":49,"incoming":0,"outgoing":15,"total":15,"reasons":{"csharp_type_ref_resolved":11,"csharp_call_resolved":4},"reasons_total":2,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":3,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"tests/Ordering.UnitTests/Application/OrdersWebApiTest.cs","directory":"tests/Ordering.UnitTests/Application","loc":122,"incoming":0,"outgoing":15,"total":15,"reasons":{"csharp_type_ref_resolved":9,"csharp_call_resolved":5,"csharp_import_internal":1},"reasons_total":3,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":11,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]}],"by_incoming_edges":[{"node":"src/Ordering.Domain/AggregatesModel/OrderAggregate/Order.cs","directory":"src/Ordering.Domain/AggregatesModel/OrderAggregate","loc":137,"incoming":36,"outgoing":24,"total":60,"reasons":{"csharp_type_ref_resolved":37,"csharp_call_resolved":21,"csharp_extends_resolved":1,"csharp_implements_resolved":1},"reasons_total":4,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":14,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/ClientApp/Services/Navigation/INavigationService.cs","directory":"src/ClientApp/Services/Navigation","loc":7,"incoming":34,"outgoing":0,"total":34,"reasons":{"csharp_type_ref_resolved":23,"csharp_call_resolved":9,"csharp_implements_resolved":2},"reasons_total":3,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":3,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/Ordering.Domain/AggregatesModel/OrderAggregate/IOrderRepository.cs","directory":"src/Ordering.Domain/AggregatesModel/OrderAggregate","loc":7,"incoming":30,"outgoing":3,"total":33,"reasons":{"csharp_type_ref_resolved":18,"csharp_call_resolved":13,"csharp_extends_resolved":1,"csharp_implements_resolved":1},"reasons_total":4,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":3,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/ClientApp/ViewModels/Base/ViewModelBase.cs","directory":"src/ClientApp/ViewModels/Base","loc":43,"incoming":28,"outgoing":3,"total":31,"reasons":{"csharp_type_ref_resolved":13,"csharp_extends_resolved":11,"csharp_call_resolved":6,"csharp_implements_resolved":1},"reasons_total":4,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":4,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/ClientApp/Services/AppEnvironment/IAppEnvironmentService.cs","directory":"src/ClientApp/Services/AppEnvironment","loc":13,"incoming":21,"outgoing":4,"total":25,"reasons":{"csharp_type_ref_resolved":19,"csharp_call_resolved":5,"csharp_implements_resolved":1},"reasons_total":3,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":1,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/ClientApp/Services/Settings/ISettingsService.cs","directory":"src/ClientApp/Services/Settings","loc":22,"incoming":20,"outgoing":1,"total":21,"reasons":{"csharp_type_ref_resolved":18,"csharp_implements_resolved":2,"csharp_call_resolved":1},"reasons_total":3,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":2,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/Ordering.Domain/AggregatesModel/BuyerAggregate/Buyer.cs","directory":"src/Ordering.Domain/AggregatesModel/BuyerAggregate","loc":36,"incoming":17,"outgoing":9,"total":26,"reasons":{"csharp_type_ref_resolved":18,"csharp_call_resolved":6,"csharp_extends_resolved":1,"csharp_implements_resolved":1},"reasons_total":4,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":3,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/ClientApp/Services/Identity/IIdentityService.cs","directory":"src/ClientApp/Services/Identity","loc":9,"incoming":16,"outgoing":1,"total":17,"reasons":{"csharp_type_ref_resolved":9,"csharp_call_resolved":6,"csharp_implements_resolved":2},"reasons_total":3,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":4,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/Ordering.API/Application/Commands/IdentifiedCommandHandler.cs","directory":"src/Ordering.API/Application/Commands","loc":76,"incoming":16,"outgoing":6,"total":22,"reasons":{"csharp_type_ref_resolved":13,"csharp_extends_resolved":7,"csharp_call_resolved":2},"reasons_total":3,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":3,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/Ordering.Domain/AggregatesModel/BuyerAggregate/IBuyerRepository.cs","directory":"src/Ordering.Domain/AggregatesModel/BuyerAggregate","loc":8,"incoming":15,"outgoing":3,"total":18,"reasons":{"csharp_type_ref_resolved":10,"csharp_call_resolved":6,"csharp_extends_resolved":1,"csharp_implements_resolved":1},"reasons_total":4,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":4,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/Ordering.Domain/SeedWork/IUnitOfWork.cs","directory":"src/Ordering.Domain/SeedWork","loc":6,"incoming":15,"outgoing":0,"total":15,"reasons":{"csharp_call_resolved":10,"csharp_type_ref_resolved":4,"csharp_implements_resolved":1},"reasons_total":3,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":2,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/Ordering.API/Extensions/OrderingApiTrace.cs","directory":"src/Ordering.API/Extensions","loc":10,"incoming":14,"outgoing":1,"total":15,"reasons":{"csharp_type_ref_resolved":8,"csharp_call_resolved":7},"reasons_total":2,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":3,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/Ordering.Infrastructure/OrderingContext.cs","directory":"src/Ordering.Infrastructure","loc":82,"incoming":14,"outgoing":15,"total":29,"reasons":{"csharp_type_ref_resolved":26,"csharp_call_resolved":2,"csharp_implements_resolved":1},"reasons_total":3,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":8,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/Ordering.API/Application/IntegrationEvents/IOrderingIntegrationEventService.cs","directory":"src/Ordering.API/Application/IntegrationEvents","loc":6,"incoming":13,"outgoing":0,"total":13,"reasons":{"csharp_type_ref_resolved":11,"csharp_call_resolved":1,"csharp_implements_resolved":1},"reasons_total":3,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":2,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/Ordering.Domain/AggregatesModel/OrderAggregate/OrderStatus.cs","directory":"src/Ordering.Domain/AggregatesModel/OrderAggregate","loc":12,"incoming":13,"outgoing":0,"total":13,"reasons":{"csharp_type_ref_resolved":13},"reasons_total":1,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]}],"by_total_edges":[{"node":"src/Ordering.Domain/AggregatesModel/OrderAggregate/Order.cs","directory":"src/Ordering.Domain/AggregatesModel/OrderAggregate","loc":137,"incoming":36,"outgoing":24,"total":60,"reasons":{"csharp_type_ref_resolved":37,"csharp_call_resolved":21,"csharp_extends_resolved":1,"csharp_implements_resolved":1},"reasons_total":4,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":14,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/ClientApp/MauiProgram.cs","directory":"src/ClientApp","loc":165,"incoming":8,"outgoing":51,"total":59,"reasons":{"csharp_type_ref_resolved":54,"csharp_call_resolved":5},"reasons_total":2,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":5,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/ClientApp/Services/Navigation/INavigationService.cs","directory":"src/ClientApp/Services/Navigation","loc":7,"incoming":34,"outgoing":0,"total":34,"reasons":{"csharp_type_ref_resolved":23,"csharp_call_resolved":9,"csharp_implements_resolved":2},"reasons_total":3,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":3,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/Ordering.API/Extensions/Extensions.cs","directory":"src/Ordering.API/Extensions","loc":41,"incoming":0,"outgoing":33,"total":33,"reasons":{"csharp_type_ref_resolved":32,"csharp_call_resolved":1},"reasons_total":2,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":2,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/Ordering.Domain/AggregatesModel/OrderAggregate/IOrderRepository.cs","directory":"src/Ordering.Domain/AggregatesModel/OrderAggregate","loc":7,"incoming":30,"outgoing":3,"total":33,"reasons":{"csharp_type_ref_resolved":18,"csharp_call_resolved":13,"csharp_extends_resolved":1,"csharp_implements_resolved":1},"reasons_total":4,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":3,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/ClientApp/ViewModels/Base/ViewModelBase.cs","directory":"src/ClientApp/ViewModels/Base","loc":43,"incoming":28,"outgoing":3,"total":31,"reasons":{"csharp_type_ref_resolved":13,"csharp_extends_resolved":11,"csharp_call_resolved":6,"csharp_implements_resolved":1},"reasons_total":4,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":4,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/Ordering.Infrastructure/OrderingContext.cs","directory":"src/Ordering.Infrastructure","loc":82,"incoming":14,"outgoing":15,"total":29,"reasons":{"csharp_type_ref_resolved":26,"csharp_call_resolved":2,"csharp_implements_resolved":1},"reasons_total":3,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":8,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/ClientApp/ViewModels/CheckoutViewModel.cs","directory":"src/ClientApp/ViewModels","loc":132,"incoming":2,"outgoing":25,"total":27,"reasons":{"csharp_type_ref_resolved":17,"csharp_call_resolved":9,"csharp_extends_resolved":1},"reasons_total":3,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":5,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/Ordering.Domain/AggregatesModel/BuyerAggregate/Buyer.cs","directory":"src/Ordering.Domain/AggregatesModel/BuyerAggregate","loc":36,"incoming":17,"outgoing":9,"total":26,"reasons":{"csharp_type_ref_resolved":18,"csharp_call_resolved":6,"csharp_extends_resolved":1,"csharp_implements_resolved":1},"reasons_total":4,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":3,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/ClientApp/Services/AppEnvironment/IAppEnvironmentService.cs","directory":"src/ClientApp/Services/AppEnvironment","loc":13,"incoming":21,"outgoing":4,"total":25,"reasons":{"csharp_type_ref_resolved":19,"csharp_call_resolved":5,"csharp_implements_resolved":1},"reasons_total":3,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":1,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/ClientApp/ViewModels/CatalogViewModel.cs","directory":"src/ClientApp/ViewModels","loc":166,"incoming":5,"outgoing":17,"total":22,"reasons":{"csharp_type_ref_resolved":14,"csharp_call_resolved":6,"csharp_extends_resolved":2},"reasons_total":3,"reasons_truncated":false,"language":"csharp","declared_type_count":3,"method_count":9,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/Ordering.API/Application/Commands/IdentifiedCommandHandler.cs","directory":"src/Ordering.API/Application/Commands","loc":76,"incoming":16,"outgoing":6,"total":22,"reasons":{"csharp_type_ref_resolved":13,"csharp_extends_resolved":7,"csharp_call_resolved":2},"reasons_total":3,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":3,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/WebApp/Extensions/Extensions.cs","directory":"src/WebApp/Extensions","loc":103,"incoming":1,"outgoing":21,"total":22,"reasons":{"csharp_type_ref_resolved":20,"csharp_call_resolved":2},"reasons_total":2,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":6,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/ClientApp/Services/Settings/ISettingsService.cs","directory":"src/ClientApp/Services/Settings","loc":22,"incoming":20,"outgoing":1,"total":21,"reasons":{"csharp_type_ref_resolved":18,"csharp_implements_resolved":2,"csharp_call_resolved":1},"reasons_total":3,"reasons_truncated":false,"language":"csharp","declared_type_count":1,"method_count":2,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]},{"node":"src/Ordering.API/Apis/OrdersApi.cs","directory":"src/Ordering.API/Apis","loc":153,"incoming":4,"outgoing":15,"total":19,"reasons":{"csharp_type_ref_resolved":12,"csharp_call_resolved":6,"csharp_import_internal":1},"reasons_total":3,"reasons_truncated":false,"language":"csharp","declared_type_count":2,"method_count":9,"language_fact_keys":["attributes","classes","classes_fq","extends_fq","functions","implements_fq","imports","method_symbols","methods","namespace","parse_status","partial_types","type_kinds","uses_fq"]}]},"node_hubs_bounds":{"by_outgoing_edges_total":460,"by_outgoing_edges_truncated":true,"by_incoming_edges_total":460,"by_incoming_edges_truncated":true,"by_total_edges_total":460,"by_total_edges_truncated":true},"directory_hubs":{"by_outgoing_edges":[{"directory":"src/ClientApp/ViewModels","incoming":39,"outgoing":120,"total":159,"internal_edges":10,"external_edges":139,"reasons":{"csharp_type_ref_resolved":97,"csharp_call_resolved":49,"csharp_extends_resolved":12,"csharp_import_internal":1},"reasons_total":4,"reasons_truncated":false,"languages":{"csharp":12}},{"directory":"src/Ordering.API/Application/Commands","incoming":76,"outgoing":85,"total":161,"internal_edges":29,"external_edges":103,"reasons":{"csharp_type_ref_resolved":104,"csharp_call_resolved":43,"csharp_extends_resolved":14},"reasons_total":3,"reasons_truncated":false,"languages":{"csharp":18}},{"directory":"src/Ordering.API/Application/DomainEventHandlers","incoming":0,"outgoing":85,"total":85,"internal_edges":0,"external_edges":85,"reasons":{"csharp_type_ref_resolved":56,"csharp_call_resolved":29},"reasons_total":2,"reasons_truncated":false,"languages":{"csharp":7}},{"directory":"src/ClientApp","incoming":14,"outgoing":72,"total":86,"internal_edges":5,"external_edges":76,"reasons":{"csharp_type_ref_resolved":74,"csharp_call_resolved":11,"csharp_import_internal":1},"reasons_total":3,"reasons_truncated":false,"languages":{"csharp":6}},{"directory":"tests/ClientApp.UnitTests/ViewModels","incoming":0,"outgoing":53,"total":53,"internal_edges":0,"external_edges":53,"reasons":{"csharp_type_ref_resolved":38,"csharp_call_resolved":15},"reasons_total":2,"reasons_truncated":false,"languages":{"csharp":5}},{"directory":"tests/Ordering.UnitTests/Application","incoming":0,"outgoing":42,"total":42,"internal_edges":0,"external_edges":42,"reasons":{"csharp_type_ref_resolved":25,"csharp_call_resolved":16,"csharp_import_internal":1},"reasons_total":3,"reasons_truncated":false,"languages":{"csharp":4}},{"directory":"src/Ordering.API/Extensions","incoming":16,"outgoing":36,"total":52,"internal_edges":0,"external_edges":52,"reasons":{"csharp_type_ref_resolved":42,"csharp_call_resolved":10},"reasons_total":2,"reasons_truncated":false,"languages":{"csharp":4}},{"directory":"src/Ordering.Domain/AggregatesModel/OrderAggregate","incoming":96,"outgoing":33,"total":129,"internal_edges":5,"external_edges":119,"reasons":{"csharp_type_ref_resolved":82,"csharp_call_resolved":41,"csharp_extends_resolved":4,"csharp_implements_resolved":2},"reasons_total":4,"reasons_truncated":false,"languages":{"csharp":5}},{"directory":"tests/Application.UnitTests","incoming":0,"outgoing":29,"total":29,"internal_edges":0,"external_edges":29,"reasons":{"csharp_type_ref_resolved":21,"csharp_call_resolved":8},"reasons_total":2,"reasons_truncated":false,"languages":{"csharp":7}},{"directory":"src/ClientApp/Services/Order","incoming":17,"outgoing":27,"total":44,"internal_edges":4,"external_edges":36,"reasons":{"csharp_type_ref_resolved":29,"csharp_call_resolved":11,"csharp_implements_resolved":4},"reasons_total":3,"reasons_truncated":false,"languages":{"csharp":3}},{"directory":"src/ClientApp/Services/Basket","incoming":19,"outgoing":22,"total":41,"internal_edges":4,"external_edges":33,"reasons":{"csharp_type_ref_resolved":23,"csharp_call_resolved":13,"csharp_implements_resolved":4,"csharp_import_internal":1},"reasons_total":4,"reasons_truncated":false,"languages":{"csharp":3}},{"directory":"src/ClientApp/Services/Catalog","incoming":17,"outgoing":22,"total":39,"internal_edges":4,"external_edges":31,"reasons":{"csharp_type_ref_resolved":28,"csharp_call_resolved":7,"csharp_implements_resolved":4},"reasons_total":3,"reasons_truncated":false,"languages":{"csharp":3}},{"directory":"src/WebApp/Extensions","incoming":1,"outgoing":21,"total":22,"internal_edges":0,"external_edges":22,"reasons":{"csharp_type_ref_resolved":20,"csharp_call_resolved":2},"reasons_total":2,"reasons_truncated":false,"languages":{"csharp":1}},{"directory":"src/Webhooks.API/IntegrationEvents","incoming":11,"outgoing":19,"total":30,"internal_edges":5,"external_edges":20,"reasons":{"csharp_type_ref_resolved":24,"csharp_call_resolved":6},"reasons_total":2,"reasons_truncated":false,"languages":{"csharp":7}},{"directory":"src/WebApp/Services/OrderStatus/IntegrationEvents/EventHandling","incoming":6,"outgoing":18,"total":24,"internal_edges":0,"external_edges":24,"reasons":{"csharp_type_ref_resolved":18,"csharp_call_resolved":6},"reasons_total":2,"reasons_truncated":false,"languages":{"csharp":6}}],"by_incoming_edges":[{"directory":"src/Ordering.Domain/AggregatesModel/OrderAggregate","incoming":96,"outgoing":33,"total":129,"internal_edges":5,"external_edges":119,"reasons":{"csharp_type_ref_resolved":82,"csharp_call_resolved":41,"csharp_extends_resolved":4,"csharp_implements_resolved":2},"reasons_total":4,"reasons_truncated":false,"languages":{"csharp":5}},{"directory":"src/Ordering.API/Application/Commands","incoming":76,"outgoing":85,"total":161,"internal_edges":29,"external_edges":103,"reasons":{"csharp_type_ref_resolved":104,"csharp_call_resolved":43,"csharp_extends_resolved":14},"reasons_total":3,"reasons_truncated":false,"languages":{"csharp":18}},{"directory":"src/Ordering.Domain/AggregatesModel/BuyerAggregate","incoming":44,"outgoing":17,"total":61,"internal_edges":4,"external_edges":53,"reasons":{"csharp_type_ref_resolved":41,"csharp_call_resolved":15,"csharp_extends_resolved":3,"csharp_implements_resolved":2},"reasons_total":4,"reasons_truncated":false,"languages":{"csharp":4}},{"directory":"src/Ordering.Domain/SeedWork","incoming":40,"outgoing":2,"total":42,"internal_edges":2,"external_edges":38,"reasons":{"csharp_type_ref_resolved":18,"csharp_call_resolved":13,"csharp_extends_resolved":8,"csharp_implements_resolved":3},"reasons_total":4,"reasons_truncated":false,"languages":{"csharp":5}},{"directory":"src/ClientApp/ViewModels","incoming":39,"outgoing":120,"total":159,"internal_edges":10,"external_edges":139,"reasons":{"csharp_type_ref_resolved":97,"csharp_call_resolved":49,"csharp_extends_resolved":12,"csharp_import_internal":1},"reasons_total":4,"reasons_truncated":false,"languages":{"csharp":12}},{"directory":"src/ClientApp/Services/Navigation","incoming":35,"outgoing":5,"total":40,"internal_edges":2,"external_edges":36,"reasons":{"csharp_type_ref_resolved":27,"csharp_call_resolved":10,"csharp_implements_resolved":3},"reasons_total":3,"reasons_truncated":false,"languages":{"csharp":2}},{"directory":"src/ClientApp/ViewModels/Base","incoming":31,"outgoing":4,"total":35,"internal_edges":2,"external_edges":31,"reasons":{"csharp_type_ref_resolved":16,"csharp_extends_resolved":11,"csharp_call_resolved":6,"csharp_implements_resolved":2},"reasons_total":4,"reasons_truncated":false,"languages":{"csharp":2}},{"directory":"src/Webhooks.API/Model","incoming":31,"outgoing":3,"total":34,"internal_edges":3,"external_edges":28,"reasons":{"csharp_type_ref_resolved":30,"csharp_call_resolved":4},"reasons_total":2,"reasons_truncated":false,"languages":{"csharp":4}},{"directory":"src/Catalog.API/Model","incoming":30,"outgoing":8,"total":38,"internal_edges":2,"external_edges":34,"reasons":{"csharp_type_ref_resolved":30,"csharp_call_resolved":8},"reasons_total":2,"reasons_truncated":false,"languages":{"csharp":7}},{"directory":"src/ClientApp/Services/AppEnvironment","incoming":28,"outgoing":10,"total":38,"internal_edges":2,"external_edges":34,"reasons":{"csharp_type_ref_resolved":28,"csharp_call_resolved":8,"csharp_implements_resolved":2},"reasons_total":3,"reasons_truncated":false,"languages":{"csharp":2}},{"directory":"src/Ordering.API/Application/IntegrationEvents/Events","incoming":27,"outgoing":7,"total":34,"internal_edges":1,"external_edges":32,"reasons":{"csharp_type_ref_resolved":26,"csharp_call_resolved":8},"reasons_total":2,"reasons_truncated":false,"languages":{"csharp":12}},{"directory":"src/ClientApp/Models/Orders","incoming":26,"outgoing":2,"total":28,"internal_edges":2,"external_edges":24,"reasons":{"csharp_type_ref_resolved":24,"csharp_call_resolved":4},"reasons_total":2,"reasons_truncated":false,"languages":{"csharp":5}},{"directory":"src/Webhooks.API/Services","incoming":26,"outgoing":15,"total":41,"internal_edges":6,"external_edges":29,"reasons":{"csharp_type_ref_resolved":28,"csharp_implements_resolved":7,"csharp_call_resolved":6},"reasons_total":3,"reasons_truncated":false,"languages":{"csharp":6}},{"directory":"src/ClientApp/Models/Catalog","incoming":25,"outgoing":3,"total":28,"internal_edges":3,"external_edges":22,"reasons":{"csharp_type_ref_resolved":28},"reasons_total":1,"reasons_truncated":false,"languages":{"csharp":4}},{"directory":"src/Ordering.Domain/Events","incoming":23,"outgoing":7,"total":30,"internal_edges":0,"external_edges":30,"reasons":{"csharp_type_ref_resolved":22,"csharp_call_resolved":8},"reasons_total":2,"reasons_truncated":false,"languages":{"csharp":7}}],"by_total_edges":[{"directory":"src/Ordering.API/Application/Commands","incoming":76,"outgoing":85,"total":161,"internal_edges":29,"external_edges":103,"reasons":{"csharp_type_ref_resolved":104,"csharp_call_resolved":43,"csharp_extends_resolved":14},"reasons_total":3,"reasons_truncated":false,"languages":{"csharp":18}},{"directory":"src/ClientApp/ViewModels","incoming":39,"outgoing":120,"total":159,"internal_edges":10,"external_edges":139,"reasons":{"csharp_type_ref_resolved":97,"csharp_call_resolved":49,"csharp_extends_resolved":12,"csharp_import_internal":1},"reasons_total":4,"reasons_truncated":false,"languages":{"csharp":12}},{"directory":"src/Ordering.Domain/AggregatesModel/OrderAggregate","incoming":96,"outgoing":33,"total":129,"internal_edges":5,"external_edges":119,"reasons":{"csharp_type_ref_resolved":82,"csharp_call_resolved":41,"csharp_extends_resolved":4,"csharp_implements_resolved":2},"reasons_total":4,"reasons_truncated":false,"languages":{"csharp":5}},{"directory":"src/ClientApp","incoming":14,"outgoing":72,"total":86,"internal_edges":5,"external_edges":76,"reasons":{"csharp_type_ref_resolved":74,"csharp_call_resolved":11,"csharp_import_internal":1},"reasons_total":3,"reasons_truncated":false,"languages":{"csharp":6}},{"directory":"src/Ordering.API/Application/DomainEventHandlers","incoming":0,"outgoing":85,"total":85,"internal_edges":0,"external_edges":85,"reasons":{"csharp_type_ref_resolved":56,"csharp_call_resolved":29},"reasons_total":2,"reasons_truncated":false,"languages":{"csharp":7}},{"directory":"src/Ordering.Domain/AggregatesModel/BuyerAggregate","incoming":44,"outgoing":17,"total":61,"internal_edges":4,"external_edges":53,"reasons":{"csharp_type_ref_resolved":41,"csharp_call_resolved":15,"csharp_extends_resolved":3,"csharp_implements_resolved":2},"reasons_total":4,"reasons_truncated":false,"languages":{"csharp":4}},{"directory":"tests/ClientApp.UnitTests/ViewModels","incoming":0,"outgoing":53,"total":53,"internal_edges":0,"external_edges":53,"reasons":{"csharp_type_ref_resolved":38,"csharp_call_resolved":15},"reasons_total":2,"reasons_truncated":false,"languages":{"csharp":5}},{"directory":"src/Ordering.API/Extensions","incoming":16,"outgoing":36,"total":52,"internal_edges":0,"external_edges":52,"reasons":{"csharp_type_ref_resolved":42,"csharp_call_resolved":10},"reasons_total":2,"reasons_truncated":false,"languages":{"csharp":4}},{"directory":"src/ClientApp/Services/Order","incoming":17,"outgoing":27,"total":44,"internal_edges":4,"external_edges":36,"reasons":{"csharp_type_ref_resolved":29,"csharp_call_resolved":11,"csharp_implements_resolved":4},"reasons_total":3,"reasons_truncated":false,"languages":{"csharp":3}},{"directory":"src/Ordering.Domain/SeedWork","incoming":40,"outgoing":2,"total":42,"internal_edges":2,"external_edges":38,"reasons":{"csharp_type_ref_resolved":18,"csharp_call_resolved":13,"csharp_extends_resolved":8,"csharp_implements_resolved":3},"reasons_total":4,"reasons_truncated":false,"languages":{"csharp":5}},{"directory":"tests/Ordering.UnitTests/Application","incoming":0,"outgoing":42,"total":42,"internal_edges":0,"external_edges":42,"reasons":{"csharp_type_ref_resolved":25,"csharp_call_resolved":16,"csharp_import_internal":1},"reasons_total":3,"reasons_truncated":false,"languages":{"csharp":4}},{"directory":"src/ClientApp/Services/Basket","incoming":19,"outgoing":22,"total":41,"internal_edges":4,"external_edges":33,"reasons":{"csharp_type_ref_resolved":23,"csharp_call_resolved":13,"csharp_implements_resolved":4,"csharp_import_internal":1},"reasons_total":4,"reasons_truncated":false,"languages":{"csharp":3}},{"directory":"src/Webhooks.API/Services","incoming":26,"outgoing":15,"total":41,"internal_edges":6,"external_edges":29,"reasons":{"csharp_type_ref_resolved":28,"csharp_implements_resolved":7,"csharp_call_resolved":6},"reasons_total":3,"reasons_truncated":false,"languages":{"csharp":6}},{"directory":"src/ClientApp/Services/Navigation","incoming":35,"outgoing":5,"total":40,"internal_edges":2,"external_edges":36,"reasons":{"csharp_type_ref_resolved":27,"csharp_call_resolved":10,"csharp_implements_resolved":3},"reasons_total":3,"reasons_truncated":false,"languages":{"csharp":2}},{"directory":"src/ClientApp/Services/Catalog","incoming":17,"outgoing":22,"total":39,"internal_edges":4,"external_edges":31,"reasons":{"csharp_type_ref_resolved":28,"csharp_call_resolved":7,"csharp_implements_resolved":4},"reasons_total":3,"reasons_truncated":false,"languages":{"csharp":3}}]},"directory_hubs_bounds":{"by_outgoing_edges_total":160,"by_outgoing_edges_truncated":true,"by_incoming_edges_total":160,"by_incoming_edges_truncated":true,"by_total_edges_total":160,"by_total_edges_truncated":true},"language_hubs":{"by_language_nodes":[{"value":"csharp","count":547},{"value":"js","count":14},{"value":"ts","count":6}],"by_language_outgoing_edges":[{"value":"csharp","count":1395},{"value":"ts","count":3}],"by_language_incoming_edges":[{"value":"csharp","count":1395},{"value":"ts","count":3}],"by_rails_role_nodes":[],"by_rails_role_outgoing_edges":[],"by_rails_role_incoming_edges":[],"by_language_role_nodes":[],"by_language_role_outgoing_edges":[{"value":"csharp","count":1395},{"value":"ts","count":3}],"by_language_role_incoming_edges":[{"value":"csharp","count":1395},{"value":"ts","count":3}],"language_reasons":{"csharp":{"csharp_type_ref_resolved":1998,"csharp_call_resolved":612,"csharp_implements_resolved":98,"csharp_extends_resolved":70,"csharp_import_internal":12},"ts":{"import":6}},"rails_role_reasons":{},"language_role_reasons":{"csharp":{"csharp_type_ref_resolved":1998,"csharp_call_resolved":612,"csharp_implements_resolved":98,"csharp_extends_resolved":70,"csharp_import_internal":12},"ts":{"import":6}}},"language_hubs_bounds":{"by_language_nodes_total":3,"by_language_nodes_truncated":false,"by_language_outgoing_edges_total":2,"by_language_outgoing_edges_truncated":false,"by_language_incoming_edges_total":2,"by_language_incoming_edges_truncated":false,"by_rails_role_nodes_total":0,"by_rails_role_nodes_truncated":false,"by_rails_role_outgoing_edges_total":0,"by_rails_role_outgoing_edges_truncated":false,"by_rails_role_incoming_edges_total":0,"by_rails_role_incoming_edges_truncated":false,"by_language_role_nodes_total":0,"by_language_role_nodes_truncated":false,"by_language_role_outgoing_edges_total":2,"by_language_role_outgoing_edges_truncated":false,"by_language_role_incoming_edges_total":2,"by_language_role_incoming_edges_truncated":false,"language_reasons_total":{"csharp":5,"ts":1},"language_reasons_truncated":{"csharp":false,"ts":false},"rails_role_reasons_total":{},"rails_role_reasons_truncated":{},"language_role_reasons_total":{"csharp":5,"ts":1},"language_role_reasons_truncated":{"csharp":false,"ts":false}},"reason_hubs":{"by_reason":[{"value":"csharp_type_ref_resolved","count":999},{"value":"csharp_call_resolved","count":306},{"value":"csharp_implements_resolved","count":49},{"value":"csharp_extends_resolved","count":35},{"value":"csharp_import_internal","count":6},{"value":"import","count":3}]},"reason_hubs_bounds":{"by_reason_total":6,"by_reason_truncated":false}}}