reddb_server/application/
mod.rs1pub mod admin;
2pub(crate) mod admin_payload;
3pub(crate) mod collection_contract_enforcer;
4pub mod entity;
5pub(crate) mod entity_payload;
6pub mod graph;
7pub(crate) mod graph_payload;
8pub(crate) mod json_input;
9pub mod merge_json;
10pub mod migration_collections;
11pub mod migration_graph;
12pub mod migration_inference;
13pub mod native;
14pub mod operation_context;
15pub mod ports;
16pub mod query;
17pub(crate) mod query_payload;
18pub mod schema;
19pub(crate) mod serverless_payload;
20pub mod topology_collections;
21pub mod tree;
22pub(crate) mod ttl_payload;
23pub mod vcs;
24pub mod vcs_collections;
25
26pub use admin::{AdminUseCases, ServerlessAnalyticsWarmupTarget, ServerlessWarmupPlan};
27pub use entity::{
28 CreateDocumentInput, CreateEdgeInput, CreateEntityOutput, CreateKvInput,
29 CreateNodeEmbeddingInput, CreateNodeGraphLinkInput, CreateNodeInput, CreateNodeTableLinkInput,
30 CreateRowInput, CreateRowsBatchInput, CreateTimeSeriesPointInput, CreateVectorInput,
31 DeleteEntityInput, DeleteEntityOutput, EntityUseCases, PatchEntityInput, PatchEntityOperation,
32 PatchEntityOperationType,
33};
34pub use graph::{
35 GraphCentralityInput, GraphClusteringInput, GraphCommunitiesInput, GraphComponentsInput,
36 GraphCyclesInput, GraphHitsInput, GraphNeighborhoodInput, GraphPersonalizedPageRankInput,
37 GraphPropertiesInput, GraphShortestPathInput, GraphTopologicalSortInput, GraphTraversalInput,
38 GraphUseCases,
39};
40pub use native::{InspectNativeArtifactInput, NativeUseCases, RuntimeReadiness};
41pub use operation_context::{
42 OperationContext, OperationContextFactory, OperationContextInput, WriteConsent,
43 WriteConsentSeal, Xid,
44};
45pub use ports::{
46 RuntimeAdminPort, RuntimeEntityPort, RuntimeEntityPortCtx, RuntimeGraphPort, RuntimeNativePort,
47 RuntimeNativePortCtx, RuntimeSchemaPort, RuntimeSchemaPortCtx, RuntimeTreePort,
48 RuntimeTreePortCtx, RuntimeVcsPort, RuntimeVcsPortCtx,
49};
50pub use query::{
51 ExecuteQueryInput, ExplainQueryInput, ScanCollectionInput, SearchContextInput,
52 SearchHybridInput, SearchIndexInput, SearchIvfInput, SearchMultimodalInput, SearchSimilarInput,
53 SearchTextInput,
54};
55pub use schema::{
56 CreateTableColumnInput, CreateTableInput, CreateTablePartitionKind, CreateTablePartitionSpec,
57 CreateTimeSeriesInput, DropTableInput, DropTimeSeriesInput, SchemaUseCases,
58};
59pub use tree::{
60 CreateTreeInput, DeleteTreeNodeInput, DropTreeInput, InsertTreeNodeInput, MoveTreeNodeInput,
61 RebalanceTreeInput, TreeNodeInput, TreePositionInput, TreeUseCases, ValidateTreeInput,
62};
63pub use vcs::{
64 AsOfSpec, Author, CheckoutInput, CheckoutTarget, Commit, CommitHash, Conflict,
65 CreateBranchInput, CreateCommitInput, CreateTagInput, Diff, DiffChange, DiffEntry, DiffInput,
66 LogInput, LogRange, MergeInput, MergeOpts, MergeOutcome, MergeStrategy, Ref, RefKind, RefName,
67 ResetInput, ResetMode, Status, StatusInput, VcsUseCases,
68};
69
70#[cfg(test)]
71mod architecture_tests {
72 const MODULE: &str = include_str!("mod.rs");
73 const PORTS: &str = include_str!("ports.rs");
74 const PORT_IMPLS: &str = include_str!("ports_impls.rs");
75 const QUERY: &str = include_str!("query.rs");
76
77 #[test]
78 fn query_and_catalog_pass_through_ports_stay_deleted() {
79 for retired_name in [
80 concat!("Runtime", "Query", "Port"),
81 concat!("Runtime", "Catalog", "Port"),
82 concat!("Query", "UseCases"),
83 concat!("Catalog", "UseCases"),
84 concat!("ports_impls_", "query.rs"),
85 concat!("ports_impls_", "catalog.rs"),
86 ] {
87 assert!(
88 !MODULE.contains(retired_name)
89 && !PORTS.contains(retired_name)
90 && !PORT_IMPLS.contains(retired_name)
91 && !QUERY.contains(retired_name),
92 "retired pass-through surface reappeared: {retired_name}"
93 );
94 }
95 }
96}