Skip to main content

reddb_server/application/
mod.rs

1pub 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}