pub struct ResourceSearchCapabilities {
pub resource_type: String,
pub search_params: Vec<SearchParamFullCapability>,
pub special_params: HashSet<SpecialSearchParam>,
pub include_capabilities: HashSet<IncludeCapability>,
pub chaining_capabilities: HashSet<ChainingCapability>,
pub pagination_capabilities: HashSet<PaginationCapability>,
pub result_mode_capabilities: HashSet<ResultModeCapability>,
}Expand description
Comprehensive search capabilities for a resource type.
This provides detailed information about what search features are supported for a specific resource type, including all parameters, modifiers, and special capabilities.
Fields§
§resource_type: StringThe resource type these capabilities apply to.
search_params: Vec<SearchParamFullCapability>Full capability information for each search parameter.
special_params: HashSet<SpecialSearchParam>Supported special parameters (_id, _lastUpdated, etc.).
include_capabilities: HashSet<IncludeCapability>Include/revinclude capabilities.
chaining_capabilities: HashSet<ChainingCapability>Chaining capabilities.
pagination_capabilities: HashSet<PaginationCapability>Pagination capabilities.
result_mode_capabilities: HashSet<ResultModeCapability>Result mode capabilities (_summary, _elements, _total).
Implementations§
Source§impl ResourceSearchCapabilities
impl ResourceSearchCapabilities
Sourcepub fn new(resource_type: impl Into<String>) -> Self
pub fn new(resource_type: impl Into<String>) -> Self
Creates new search capabilities for a resource type.
Sourcepub fn with_param(self, param: SearchParamFullCapability) -> Self
pub fn with_param(self, param: SearchParamFullCapability) -> Self
Adds a search parameter capability.
Sourcepub fn with_param_list(self, params: Vec<SearchParamFullCapability>) -> Self
pub fn with_param_list(self, params: Vec<SearchParamFullCapability>) -> Self
Adds multiple search parameter capabilities.
Sourcepub fn with_special_params<I>(self, params: I) -> Selfwhere
I: IntoIterator<Item = SpecialSearchParam>,
pub fn with_special_params<I>(self, params: I) -> Selfwhere
I: IntoIterator<Item = SpecialSearchParam>,
Adds special parameter support.
Sourcepub fn with_include_capabilities<I>(self, caps: I) -> Selfwhere
I: IntoIterator<Item = IncludeCapability>,
pub fn with_include_capabilities<I>(self, caps: I) -> Selfwhere
I: IntoIterator<Item = IncludeCapability>,
Adds include capabilities.
Sourcepub fn with_chaining_capabilities<I>(self, caps: I) -> Selfwhere
I: IntoIterator<Item = ChainingCapability>,
pub fn with_chaining_capabilities<I>(self, caps: I) -> Selfwhere
I: IntoIterator<Item = ChainingCapability>,
Adds chaining capabilities.
Sourcepub fn with_pagination_capabilities<I>(self, caps: I) -> Selfwhere
I: IntoIterator<Item = PaginationCapability>,
pub fn with_pagination_capabilities<I>(self, caps: I) -> Selfwhere
I: IntoIterator<Item = PaginationCapability>,
Adds pagination capabilities.
Sourcepub fn with_result_mode_capabilities<I>(self, caps: I) -> Selfwhere
I: IntoIterator<Item = ResultModeCapability>,
pub fn with_result_mode_capabilities<I>(self, caps: I) -> Selfwhere
I: IntoIterator<Item = ResultModeCapability>,
Adds result mode capabilities.
Sourcepub fn get_param(&self, name: &str) -> Option<&SearchParamFullCapability>
pub fn get_param(&self, name: &str) -> Option<&SearchParamFullCapability>
Returns the capability for a specific parameter by name.
Sourcepub fn supports_special(&self, param: SpecialSearchParam) -> bool
pub fn supports_special(&self, param: SpecialSearchParam) -> bool
Returns whether a special parameter is supported.
Sourcepub fn supports_include(&self, cap: IncludeCapability) -> bool
pub fn supports_include(&self, cap: IncludeCapability) -> bool
Returns whether a specific include capability is supported.
Sourcepub fn supports_chaining(&self) -> bool
pub fn supports_chaining(&self) -> bool
Returns whether chaining is supported.
Sourcepub fn supports_reverse_chaining(&self) -> bool
pub fn supports_reverse_chaining(&self) -> bool
Returns whether reverse chaining (_has) is supported.
Trait Implementations§
Source§impl Clone for ResourceSearchCapabilities
impl Clone for ResourceSearchCapabilities
Source§fn clone(&self) -> ResourceSearchCapabilities
fn clone(&self) -> ResourceSearchCapabilities
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ResourceSearchCapabilities
impl Debug for ResourceSearchCapabilities
Source§impl Default for ResourceSearchCapabilities
impl Default for ResourceSearchCapabilities
Source§fn default() -> ResourceSearchCapabilities
fn default() -> ResourceSearchCapabilities
Source§impl<'de> Deserialize<'de> for ResourceSearchCapabilities
impl<'de> Deserialize<'de> for ResourceSearchCapabilities
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for ResourceSearchCapabilities
impl RefUnwindSafe for ResourceSearchCapabilities
impl Send for ResourceSearchCapabilities
impl Sync for ResourceSearchCapabilities
impl Unpin for ResourceSearchCapabilities
impl UnsafeUnpin for ResourceSearchCapabilities
impl UnwindSafe for ResourceSearchCapabilities
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.