Knowledge Graph
graph TD
subgraph "Source & Logic"
subgraph "Core Module"
core_mod["core::mod"]:::moduleNode
core_entity["core::entity
Entity, Data, Link traits"]:::traitNode
core_link["core::link
LinkEntity, LinkDefinition"]:::structNode
core_service["core::service
DataService, LinkService"]:::traitNode
core_module_trait["core::module
Module, EntityFetcher, EntityCreator"]:::traitNode
core_query["core::query
QueryParams, PaginatedResponse"]:::structNode
core_auth["core::auth
AuthProvider, AuthContext"]:::traitNode
core_field["core::field
FieldValue, FieldFormat"]:::enumNode
core_extractors["core::extractors
LinkExtractor, RecursiveLinkExtractor"]:::structNode
core_pluralize["core::pluralize
Pluralizer"]:::structNode
core_store["core::store
QueryableStore"]:::traitNode
core_validation["core::validation
Validated, EntityValidationConfig"]:::structNode
end
subgraph "Server Module"
server_mod["server::mod"]:::moduleNode
server_builder["server::builder
ServerBuilder"]:::structNode
server_host["server::host
ServerHost"]:::structNode
server_entity_registry["server::entity_registry
EntityRegistry, EntityDescriptor"]:::structNode
server_router["server::router
build_link_routes"]:::functionNode
server_rest["server::exposure::rest
RestExposure"]:::structNode
server_graphql["server::exposure::graphql
GraphQLExposure"]:::structNode
server_graphql_schema["server::exposure::graphql::schema
QueryRoot, MutationRoot"]:::structNode
server_graphql_executor["server::exposure::graphql::executor
GraphQLExecutor"]:::structNode
end
subgraph "Links Module"
links_mod["links::mod"]:::moduleNode
links_handlers["links::handlers
AppState, handlers"]:::structNode
links_registry["links::registry
LinkRouteRegistry"]:::structNode
end
subgraph "Entities Module"
entities_mod["entities::mod"]:::moduleNode
entities_macros["entities::macros
Macros for entity generation"]:::macroNode
end
subgraph "Storage Module"
storage_mod["storage::mod"]:::moduleNode
storage_in_memory["storage::in_memory
InMemoryLinkService"]:::structNode
storage_dynamodb["storage::dynamodb
DynamoDBDataService, DynamoDBLinkService"]:::structNode
end
subgraph "Config Module"
config_mod["config::mod
LinksConfig, EntityConfig"]:::structNode
end
lib_rs["lib.rs
Library Root"]:::fileNode
end
subgraph "Build & Dependencies"
cargo_toml["Cargo.toml
Dependencies"]:::configNode
axum_dep["axum
Web Framework"]:::dependencyNode
async_graphql_dep["async-graphql
GraphQL Support"]:::dependencyNode
tokio_dep["tokio
Async Runtime"]:::dependencyNode
serde_dep["serde
Serialization"]:::dependencyNode
end
subgraph "Documentation & Config"
readme["README.md"]:::docNode
docs_dir["docs/"]:::docNode
examples_dir["examples/"]:::exampleNode
end
lib_rs -->|"exposes"| core_mod
lib_rs -->|"exposes"| server_mod
lib_rs -->|"exposes"| links_mod
lib_rs -->|"exposes"| entities_mod
lib_rs -->|"exposes"| storage_mod
lib_rs -->|"exposes"| config_mod
core_mod -->|"uses"| core_entity
core_mod -->|"uses"| core_link
core_mod -->|"uses"| core_service
core_mod -->|"uses"| core_module_trait
core_mod -->|"uses"| core_query
core_mod -->|"uses"| core_auth
core_mod -->|"uses"| core_field
core_mod -->|"uses"| core_extractors
core_mod -->|"uses"| core_pluralize
core_mod -->|"uses"| core_store
core_mod -->|"uses"| core_validation
core_service -->|"depends on"| core_entity
core_service -->|"depends on"| core_link
core_module_trait -->|"depends on"| core_entity
core_module_trait -->|"depends on"| config_mod
core_link -->|"uses"| core_pluralize
core_extractors -->|"depends on"| core_link
core_extractors -->|"depends on"| links_registry
core_extractors -->|"depends on"| config_mod
server_mod -->|"uses"| server_builder
server_mod -->|"uses"| server_host
server_mod -->|"uses"| server_entity_registry
server_mod -->|"uses"| server_rest
server_mod -->|"uses"| server_graphql
server_builder -->|"creates"| server_host
server_builder -->|"uses"| server_entity_registry
server_builder -->|"uses"| server_rest
server_builder -->|"uses"| config_mod
server_builder -->|"uses"| core_module_trait
server_builder -->|"uses"| core_service
server_builder -->|"uses"| axum_dep
server_host -->|"contains"| config_mod
server_host -->|"contains"| core_service
server_host -->|"contains"| links_registry
server_host -->|"contains"| server_entity_registry
server_host -->|"contains"| core_module_trait
server_rest -->|"uses"| server_host
server_rest -->|"uses"| server_router
server_rest -->|"uses"| server_entity_registry
server_router -->|"uses"| links_handlers
server_router -->|"uses"| core_query
server_graphql -->|"uses"| server_host
server_graphql -->|"uses"| server_graphql_schema
server_graphql -->|"uses"| server_graphql_executor
server_graphql -->|"uses"| async_graphql_dep
server_graphql_executor -->|"uses"| server_host
server_graphql_schema -->|"uses"| server_host
links_mod -->|"uses"| links_handlers
links_mod -->|"uses"| links_registry
links_handlers -->|"uses"| core_extractors
links_handlers -->|"uses"| core_service
links_handlers -->|"uses"| core_entity
links_handlers -->|"uses"| core_link
links_handlers -->|"uses"| core_query
links_handlers -->|"uses"| links_registry
links_handlers -->|"uses"| config_mod
links_registry -->|"uses"| core_link
links_registry -->|"uses"| config_mod
entities_mod -->|"uses"| entities_macros
entities_macros -->|"generates code for"| core_entity
entities_macros -->|"uses"| core_field
entities_macros -->|"uses"| core_validation
storage_mod -->|"implements"| core_service
storage_in_memory -->|"implements"| core_service
storage_in_memory -->|"uses"| core_link
storage_dynamodb -->|"implements"| core_service
storage_dynamodb -->|"uses"| core_entity
storage_dynamodb -->|"uses"| core_link
config_mod -->|"uses"| core_link
server_builder -->|"loads"| config_mod
links_registry -->|"uses"| config_mod
server_builder -->|"uses"| tokio_dep
server_builder -->|"uses"| axum_dep
server_rest -->|"uses"| axum_dep
server_graphql -->|"uses"| axum_dep
links_handlers -->|"uses"| axum_dep
core_link -->|"uses"| serde_dep
config_mod -->|"uses"| serde_dep
cargo_toml -->|"defines"| axum_dep
cargo_toml -->|"defines"| async_graphql_dep
cargo_toml -->|"defines"| tokio_dep
cargo_toml -->|"defines"| serde_dep