Skip to main content

appcore_api/
query_endpoint.rs

1// =============================================================================
2//        #######
3//     ###       ###     F: query_endpoint.rs
4//    ##   ## ##   ##    P: AppCore-Runtime
5//         ## ##
6//                       C: 2026/05/31 13:38:42 by dnettoRaw
7//    ##   ## ##   ##    U: 2026/07/23 13:45:20 by dnettoRaw
8//      ###########      S: 1.0.1-rc.8
9// =============================================================================
10
11//! Query endpoint contracts.
12
13pub use appcore_core::QueryName;
14use appcore_core::RuntimeResult;
15
16use crate::api::{ApiRequest, ApiResponse};
17
18/// Contract for query endpoint handling.
19pub trait QueryEndpoint: Send + Sync {
20    /// Returns the unique query capability handled by this endpoint.
21    fn query_name(&self) -> &QueryName;
22    /// Handles one transport-neutral query request.
23    fn handle_query(&self, request: ApiRequest) -> RuntimeResult<ApiResponse>;
24}