{"id":17930963,"url":"https://github.com/juliog922/device_manager_app","last_synced_at":"2026-05-10T02:34:23.847Z","repository":{"id":257977004,"uuid":"868035942","full_name":"juliog922/device_manager_app","owner":"juliog922","description":"This is a second version of the tool that offers a comprehensive solution for visualizing and managing network transport structures with enhanced error handling and a robust stream pipeline. This updated iteration focuses on integrating a database for more efficient data management and retrieval. ","archived":false,"fork":false,"pushed_at":"2024-10-16T19:07:43.000Z","size":50,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-08T23:45:47.351Z","etag":null,"topics":["actix-web","docker","logging","microservice","nginx","rust","surrealdb","testing","yew-framework"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/juliog922.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-05T10:00:29.000Z","updated_at":"2024-10-16T19:07:47.000Z","dependencies_parsed_at":"2024-10-18T02:18:23.241Z","dependency_job_id":null,"html_url":"https://github.com/juliog922/device_manager_app","commit_stats":null,"previous_names":["juliog922/device_manager_app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliog922%2Fdevice_manager_app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliog922%2Fdevice_manager_app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliog922%2Fdevice_manager_app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliog922%2Fdevice_manager_app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/juliog922","download_url":"https://codeload.github.com/juliog922/device_manager_app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246982572,"owners_count":20864122,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actix-web","docker","logging","microservice","nginx","rust","surrealdb","testing","yew-framework"],"created_at":"2024-10-28T21:18:49.510Z","updated_at":"2026-05-10T02:34:23.796Z","avatar_url":"https://github.com/juliog922.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TAPI Services Schema in a Device\n\nThis `README.md` describes an application that exposes the schema of each service within a TAPI-compatible device. The application presents a structured view of the services, starting from nodes, physical cards (inventory_id), and endpoints that connect via client/parent connections, link connections, or lower connections.\n\n## Information Organization:\n- **Node Level**: The application shows information for each node within the device, identified by their `node_uuid`. Within each node, physical cards are listed, identified by their `inventory_id`. This `inventory_id` correlates with legacy hardware identifiers.\n  - Example of `inventory_id` format: `/ne=Barcelona/r=1/sh=3/sl=7/s_sl=2/p=2`\n  \n- **Physical Card Level (inventory_id)**: For each physical card, the application shows a list of endpoints.\n  - Example of how an endpoint relates to its physical card:\n  \n- **Endpoint Level**: Endpoints are represented by the `connection-end-point` object and can be obtained through the `cep-list` attribute of an `owned-node-edge-point` (NEP).\n  - Relevant parameters for the endpoint:\n    - `connection_end_point_uuid`: Unique identifier of the endpoint.\n    - `layer_protocol_qualifier`: Indicates the type of digital signal used by the endpoint. Obtained from the `layer-protocol-qualifier` of the associated NEP.\n    - `node_edge_point_uuid`: Identifies the Node Edge Point (NEP) to which the endpoint is associated. Obtained from the `uuid` of the associated NEP.\n    - `service_interface_point_uuid`: If the NEP supports a SIP, the `uuid` of the SIP should be in the `mapped-service-interface-point` list of the NEP.\n\n## Connections:\nThe application describes how endpoints connect to each other through different types of connections:\n- **Client/Parent Connection**: This relationship is established between a Client Node Edge Point (NEP) and a Parent NEP.\n  - `client_node_edge_point`: List of references to NEPs that are clients of this endpoint.\n  - `parent_node_edge_point`: Reference to the NEP that is the parent of this endpoint.\n  \n- **Link Connection**: Associated with a TAPI link (`tapi-topology:link`), used to model the effective adjacency between two or more node instances in a topology. Accessible through the `supported-client-link` attribute in a connection object. This attribute is relevant when working with explicit links in the topology, such as photonic media links (`PHOTONIC_MEDIA`) that may be generated when provisioning connectivity services.\n\n- **Lower Connection**: A Top Connection must include a reference to all lower connections (`lower-connection`) that support it in the same network layer and qualifier. These lower connections represent the realization of the service in lower layers. For example, a DSR connection can have lower connections in the OTN and Photonic Media layers.\n\n## Service Schema Example:\nThe following code snippet shows an example of the data structure that the application could expose. Note that this example is a simplification, and the real structure may vary depending on the device configuration.\n\n```json\n\"connectivity_services\": [\n  {\n    \"nodes\": [\n      {\n        \"node_id\": \"node-1\",\n        \"inventory_id\": \"/ne=Barcelona/r=1/sh=1\", \n        \"end_points\": [\n          {\n            \"connection_end_point_uuid\": \"endpoint-1-1\",\n            \"layer_protocol_qualifier\": \"tapi-dsr:DIGITAL_SIGNAL_TYPE_10_GigE_LAN\",\n            \"node_edge_point_uuid\": \"nep-1-1\",\n            \"service_interface_point_uuid\": \"sip-1-1\",\n            \"client_node_edge_point_uuid\": \"nep-2-1\", \n            \"parent_node_edge_point\": \"nep-1-2\" \n          },\n          {\n            \"connection_end_point_uuid\": \"endpoint-1-2\",\n            // ... other endpoint parameters ...\n          }\n        ],\n        \"lower_connections\": [\n          {\n            \"connection_uuid\": \"lower-connection-1-1\",\n            // ... other connection parameters ...\n          }\n        ]\n      },\n      {\n        \"node_id\": \"node-2\",\n        \"inventory_id\": \"/ne=Madrid/r=2/sh=2\",\n        \"end_points\": [\n          {\n            \"connection_end_point_uuid\": \"endpoint-2-1\",\n            // ... other endpoint parameters ...\n          }\n        ],\n        \"lower_connections\": [\n          {\n            \"connection_uuid\": \"lower-connection-2-1\",\n            // ... other connection parameters ...\n          }\n        ]\n      }\n    ]\n  }\n]\n```\n\n## Conclusion:\nThis application provides a useful tool for understanding the structure of services within a TAPI-compatible device. By exposing information about nodes, physical cards, endpoints, and the connections between them, the application facilitates network service management, diagnostics, and configuration.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliog922%2Fdevice_manager_app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuliog922%2Fdevice_manager_app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliog922%2Fdevice_manager_app/lists"}