Skip to main content

SearchApi

Struct SearchApi 

Source
pub struct SearchApi<'a> { /* private fields */ }
Expand description

Sub-API for search endpoints.

Implementations§

Source§

impl<'a> SearchApi<'a>

Performs a search and returns matching resources.

§Arguments
§TODO: Errors

Returns RsError::OperationFailed if the search returns no results or the user lacks search permissions.

§Examples
let results = client.search()
    .do_search(DoSearchRequest::new("cat").sort(SortOrder::Desc))
    .await?;

let specific_results = client.search()
    .do_search(
        DoSearchRequest::new("cat")
            .fetchrows("100")
            .offset(50)
            .archive(0)
    )
    .await?;
Examples found in repository?
examples/basic.rs (line 27)
8async fn main() {
9    dotenvy::from_path("examples/.env").ok();
10
11    let base_url = std::env::var("RS_BASE_URL").expect("RS_BASE_URL not set");
12    let user = std::env::var("RS_USER").expect("RS_USER not set");
13    let _password = std::env::var("RS_PASS").expect("RS_PASS not set");
14    let key = std::env::var("RS_KEY").expect("RS_KEY not set");
15
16    let client = Client::builder()
17        .base_url(&base_url)
18        .expect("Error when setting base_url")
19        .user_key(&user, &key)
20        // .session_key(&user, &password)
21        .build()
22        .await
23        .expect("Error when building client");
24
25    let search_result = client
26        .search()
27        .do_search(DoSearchRequest::new("909").sort(SortOrder::Asc))
28        .await;
29
30    match search_result {
31        Ok(response) => println!("{:#?}", response),
32        Err(e) => println!("Error: {}", e),
33    }
34
35    let system_result = client
36        .system()
37        .get_daily_stat_summary(GetDailyStatSummaryRequest::new().days(31))
38        .await;
39
40    match system_result {
41        Ok(response) => println!("{:#?}", response),
42        Err(e) => println!("Error: {}", e),
43    }
44
45    let message_result = client
46        .message()
47        .get_user_message(GetUserMessageRequest::new(12))
48        .await;
49
50    match message_result {
51        Ok(response) => println!("{:#?}", response),
52        Err(e) => println!("Error: {}", e),
53    }
54}
Source

pub async fn search_get_previews( &self, request: SearchGetPreviewsRequest, ) -> Result<Value, RsError>

Performs a search and returns matching resources including URLs for requested preview sizes.

§Arguments
§TODO: Errors

Returns RsError::OperationFailed if the search returns no results or the user lacks search permissions.

§Examples
let results = client.search()
    .search_get_previews(SearchGetPreviewsRequest::new("cat").getsizes("thm,scr"))
    .await?;

let specific_results = client.search()
    .search_get_previews(
        SearchGetPreviewsRequest::new("cat")
            .getsizes("thm,scr,pre")
            .previewext("jpg")
            .sort(SortOrder::Desc)
            .fetchrows("0,50")
    )
    .await?;

Trait Implementations§

Source§

impl<'a> Debug for SearchApi<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for SearchApi<'a>

§

impl<'a> !RefUnwindSafe for SearchApi<'a>

§

impl<'a> Send for SearchApi<'a>

§

impl<'a> Sync for SearchApi<'a>

§

impl<'a> Unpin for SearchApi<'a>

§

impl<'a> UnsafeUnpin for SearchApi<'a>

§

impl<'a> !UnwindSafe for SearchApi<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more