pub struct UserStream(pub Vec<UserView>);Tuple Fields§
§0: Vec<UserView>Implementations§
Source§impl UserStream
impl UserStream
pub fn extend(&mut self, user_stream: UserStream)
pub async fn get_by_id( input: UserStreamInput, viewer_id: Option<String>, depth: Option<u8>, ) -> Result<Option<Self>, DynError>
pub async fn get_from_username_search( username: &str, viewer_id: Option<&str>, skip: Option<usize>, limit: Option<usize>, ) -> Result<Option<Self>, DynError>
pub async fn from_listed_user_ids( user_ids: &[String], viewer_id: Option<&str>, depth: Option<u8>, ) -> Result<Option<Self>, DynError>
Sourcepub async fn add_to_most_followed_sorted_set(
user_id: &str,
counts: &UserCounts,
) -> Result<(), DynError>
pub async fn add_to_most_followed_sorted_set( user_id: &str, counts: &UserCounts, ) -> Result<(), DynError>
Adds the post to a Redis sorted set using the follower counts as score.
Sourcepub async fn add_to_influencers_sorted_set(
user_id: &str,
counts: &UserCounts,
) -> Result<(), DynError>
pub async fn add_to_influencers_sorted_set( user_id: &str, counts: &UserCounts, ) -> Result<(), DynError>
Adds the post to a Redis sorted set using the follower counts as score.
Sourcepub async fn get_recommended_ids(
user_id: &str,
limit: Option<usize>,
) -> Result<Option<Vec<String>>, DynError>
pub async fn get_recommended_ids( user_id: &str, limit: Option<usize>, ) -> Result<Option<Vec<String>>, DynError>
Retrieves recommended user IDs based on the specified criteria.
pub async fn get_user_list_from_source( input: UserStreamInput, ) -> Result<Option<Vec<String>>, DynError>
Trait Implementations§
Source§impl ComposeSchema for UserStream
impl ComposeSchema for UserStream
Source§impl Debug for UserStream
impl Debug for UserStream
Source§impl Default for UserStream
impl Default for UserStream
Source§fn default() -> UserStream
fn default() -> UserStream
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for UserStream
impl<'de> Deserialize<'de> for UserStream
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl RedisOps for UserStream
impl RedisOps for UserStream
Source§fn prefix<'async_trait>() -> Pin<Box<dyn Future<Output = String> + Send + 'async_trait>>where
Self: 'async_trait,
fn prefix<'async_trait>() -> Pin<Box<dyn Future<Output = String> + Send + 'async_trait>>where
Self: 'async_trait,
Provides a prefix string for the Redis key. Read more
Source§fn put_index_json<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
key_parts: &'life1 [&'life2 str],
prefix: Option<String>,
expiration: Option<i64>,
) -> Pin<Box<dyn Future<Output = Result<(), DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn put_index_json<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
key_parts: &'life1 [&'life2 str],
prefix: Option<String>,
expiration: Option<i64>,
) -> Pin<Box<dyn Future<Output = Result<(), DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Sets the data in Redis using the provided key parts. Read more
Source§fn try_from_index_json<'life0, 'life1, 'async_trait>(
key_parts: &'life0 [&'life1 str],
prefix: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<Option<Self>, DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn try_from_index_json<'life0, 'life1, 'async_trait>(
key_parts: &'life0 [&'life1 str],
prefix: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<Option<Self>, DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retrieves data from Redis using the provided key parts. Read more
Source§fn try_from_index_multiple_json<'life0, 'life1, 'life2, 'async_trait>(
key_parts_list: &'life0 [&'life1 [&'life2 str]],
) -> Pin<Box<dyn Future<Output = Result<Vec<Option<Self>>, DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn try_from_index_multiple_json<'life0, 'life1, 'life2, 'async_trait>(
key_parts_list: &'life0 [&'life1 [&'life2 str]],
) -> Pin<Box<dyn Future<Output = Result<Vec<Option<Self>>, DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Retrieves multiple JSON objects from Redis using the provided key parts. Read more
Source§fn put_multiple_json_indexes<'life0, 'life1, 'life2, 'async_trait>(
key_parts_list: &'life0 [&'life1 [&'life2 str]],
collection: Vec<Option<Self>>,
) -> Pin<Box<dyn Future<Output = Result<(), DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn put_multiple_json_indexes<'life0, 'life1, 'life2, 'async_trait>(
key_parts_list: &'life0 [&'life1 [&'life2 str]],
collection: Vec<Option<Self>>,
) -> Pin<Box<dyn Future<Output = Result<(), DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Stores multiple key-value pairs in Redis, where each key is constructed from the provided key parts
and each value is an item from the given collection. Read more
Source§fn remove_from_index_multiple_json<'life0, 'life1, 'life2, 'async_trait>(
key_parts_list: &'life0 [&'life1 [&'life2 str]],
) -> Pin<Box<dyn Future<Output = Result<(), DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn remove_from_index_multiple_json<'life0, 'life1, 'life2, 'async_trait>(
key_parts_list: &'life0 [&'life1 [&'life2 str]],
) -> Pin<Box<dyn Future<Output = Result<(), DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Removes multiple JSON objects from Redis using the provided key parts. Read more
Source§fn modify_json_field<'life0, 'life1, 'life2, 'async_trait>(
key_parts: &'life0 [&'life1 str],
field: &'life2 str,
action: JsonAction,
) -> Pin<Box<dyn Future<Output = Result<(), DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn modify_json_field<'life0, 'life1, 'life2, 'async_trait>(
key_parts: &'life0 [&'life1 str],
field: &'life2 str,
action: JsonAction,
) -> Pin<Box<dyn Future<Output = Result<(), DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Modifies a numeric field in a Redis JSON object by either incrementing or decrementing it. Read more
Source§fn put_index_list<'life0, 'life1, 'life2, 'async_trait, T>(
&'life0 self,
key_parts: &'life1 [&'life2 str],
) -> Pin<Box<dyn Future<Output = Result<(), DynError>> + Send + 'async_trait>>
fn put_index_list<'life0, 'life1, 'life2, 'async_trait, T>( &'life0 self, key_parts: &'life1 [&'life2 str], ) -> Pin<Box<dyn Future<Output = Result<(), DynError>> + Send + 'async_trait>>
Adds elements to a Redis list using the provided key parts. Read more
Source§fn try_from_index_list<'life0, 'life1, 'async_trait>(
key_parts: &'life0 [&'life1 str],
skip: Option<usize>,
limit: Option<usize>,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<String>>, DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn try_from_index_list<'life0, 'life1, 'async_trait>(
key_parts: &'life0 [&'life1 str],
skip: Option<usize>,
limit: Option<usize>,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<String>>, DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retrieves a range of elements from a Redis list using the provided key parts. Read more
Source§fn put_index_set<'life0, 'life1, 'life2, 'life3, 'async_trait>(
key_parts: &'life0 [&'life1 str],
values: &'life2 [&'life3 str],
expiration: Option<i64>,
prefix: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<(), DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn put_index_set<'life0, 'life1, 'life2, 'life3, 'async_trait>(
key_parts: &'life0 [&'life1 str],
values: &'life2 [&'life3 str],
expiration: Option<i64>,
prefix: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<(), DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Adds elements to a Redis set using the provided key parts. Read more
Source§fn remove_from_index_set<'life0, 'life1, 'life2, 'async_trait, T>(
&'life0 self,
key_parts: &'life1 [&'life2 str],
) -> Pin<Box<dyn Future<Output = Result<(), DynError>> + Send + 'async_trait>>
fn remove_from_index_set<'life0, 'life1, 'life2, 'async_trait, T>( &'life0 self, key_parts: &'life1 [&'life2 str], ) -> Pin<Box<dyn Future<Output = Result<(), DynError>> + Send + 'async_trait>>
Removes elements from a Redis set using the provided key parts. Read more
Source§fn try_from_index_set<'life0, 'life1, 'async_trait>(
key_parts: &'life0 [&'life1 str],
skip: Option<usize>,
limit: Option<usize>,
prefix: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<String>>, DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn try_from_index_set<'life0, 'life1, 'async_trait>(
key_parts: &'life0 [&'life1 str],
skip: Option<usize>,
limit: Option<usize>,
prefix: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<String>>, DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retrieves a range of elements from a Redis set using the provided key parts. Read more
Source§fn check_set_member<'life0, 'life1, 'life2, 'async_trait>(
key_parts: &'life0 [&'life1 str],
member: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(bool, bool), DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn check_set_member<'life0, 'life1, 'life2, 'async_trait>(
key_parts: &'life0 [&'life1 str],
member: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(bool, bool), DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Checks if a member exists in a Redis set and if the set exists using the provided key parts. Read more
Source§fn get_set_size<'life0, 'life1, 'async_trait>(
key_parts: &'life0 [&'life1 str],
) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_set_size<'life0, 'life1, 'async_trait>(
key_parts: &'life0 [&'life1 str],
) -> Pin<Box<dyn Future<Output = Result<Option<usize>, DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retrieves the size of a Redis set using the provided key parts. Read more
Source§fn try_from_multiple_sets<'life0, 'life1, 'life2, 'async_trait>(
key_parts_list: &'life0 [&'life1 str],
prefix: Option<String>,
member: Option<&'life2 str>,
limit: Option<usize>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Option<(Vec<String>, usize, bool)>>, DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn try_from_multiple_sets<'life0, 'life1, 'life2, 'async_trait>(
key_parts_list: &'life0 [&'life1 str],
prefix: Option<String>,
member: Option<&'life2 str>,
limit: Option<usize>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Option<(Vec<String>, usize, bool)>>, DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Fetches multiple sets from Redis using the specified key components. Read more
Source§fn put_multiple_set_indexes<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'async_trait>(
common_key: &'life0 [&'life1 str],
index: &'life2 [&'life3 str],
collections_refs: &'life4 [Vec<&'life5 str>],
prefix: Option<String>,
expiration: Option<i64>,
) -> Pin<Box<dyn Future<Output = Result<(), DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
'life5: 'async_trait,
fn put_multiple_set_indexes<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'async_trait>(
common_key: &'life0 [&'life1 str],
index: &'life2 [&'life3 str],
collections_refs: &'life4 [Vec<&'life5 str>],
prefix: Option<String>,
expiration: Option<i64>,
) -> Pin<Box<dyn Future<Output = Result<(), DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
'life5: 'async_trait,
Adds elements to multiple Redis sets using the provided keys and collections. Read more
Source§fn try_get_random_from_index_set<'life0, 'life1, 'async_trait>(
key_parts: &'life0 [&'life1 str],
count: isize,
prefix: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<String>>, DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn try_get_random_from_index_set<'life0, 'life1, 'async_trait>(
key_parts: &'life0 [&'life1 str],
count: isize,
prefix: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<String>>, DynError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retrieves random elements from a Redis set using the provided key parts. Read more
Source§fn check_sorted_set_member<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
prefix: Option<&'life0 str>,
key_parts: &'life1 [&'life2 str],
member: &'life3 [&'life4 str],
) -> Pin<Box<dyn Future<Output = Result<Option<isize>, DynError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn check_sorted_set_member<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
prefix: Option<&'life0 str>,
key_parts: &'life1 [&'life2 str],
member: &'life3 [&'life4 str],
) -> Pin<Box<dyn Future<Output = Result<Option<isize>, DynError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Checks if a member exists in a Redis sorted set and retrieves its score if it exists. Read more
Source§fn put_index_sorted_set<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
key_parts: &'life0 [&'life1 str],
elements: &'life2 [(f64, &'life3 str)],
prefix: Option<&'life4 str>,
expiration: Option<i64>,
) -> Pin<Box<dyn Future<Output = Result<(), DynError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn put_index_sorted_set<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
key_parts: &'life0 [&'life1 str],
elements: &'life2 [(f64, &'life3 str)],
prefix: Option<&'life4 str>,
expiration: Option<i64>,
) -> Pin<Box<dyn Future<Output = Result<(), DynError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Adds elements to a Redis sorted set using the provided key parts. Read more
Source§fn put_score_index_sorted_set<'life0, 'life1, 'life2, 'life3, 'async_trait>(
key_parts: &'life0 [&'life1 str],
member: &'life2 [&'life3 str],
score_mutation: ScoreAction,
) -> Pin<Box<dyn Future<Output = Result<(), DynError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn put_score_index_sorted_set<'life0, 'life1, 'life2, 'life3, 'async_trait>(
key_parts: &'life0 [&'life1 str],
member: &'life2 [&'life3 str],
score_mutation: ScoreAction,
) -> Pin<Box<dyn Future<Output = Result<(), DynError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Updates the score of a member in a Redis sorted set. Read more
Source§fn remove_from_index_sorted_set<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
prefix: Option<&'life0 str>,
key_parts: &'life1 [&'life2 str],
items: &'life3 [&'life4 str],
) -> Pin<Box<dyn Future<Output = Result<(), DynError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn remove_from_index_sorted_set<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
prefix: Option<&'life0 str>,
key_parts: &'life1 [&'life2 str],
items: &'life3 [&'life4 str],
) -> Pin<Box<dyn Future<Output = Result<(), DynError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Removes elements from a Redis sorted set using the provided key parts. Read more
Source§fn try_from_index_sorted_set<'life0, 'life1, 'life2, 'async_trait>(
key_parts: &'life0 [&'life1 str],
start: Option<f64>,
end: Option<f64>,
skip: Option<usize>,
limit: Option<usize>,
sorting: SortOrder,
prefix: Option<&'life2 str>,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<(String, f64)>>, DynError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn try_from_index_sorted_set<'life0, 'life1, 'life2, 'async_trait>(
key_parts: &'life0 [&'life1 str],
start: Option<f64>,
end: Option<f64>,
skip: Option<usize>,
limit: Option<usize>,
sorting: SortOrder,
prefix: Option<&'life2 str>,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<(String, f64)>>, DynError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Retrieves a range of elements from a Redis sorted set using the provided key parts. Read more
Source§fn try_from_index_sorted_set_lex<'life0, 'life1, 'life2, 'life3, 'async_trait>(
key_parts: &'life0 [&'life1 str],
min: &'life2 str,
max: &'life3 str,
skip: Option<usize>,
limit: Option<usize>,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<String>>, DynError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn try_from_index_sorted_set_lex<'life0, 'life1, 'life2, 'life3, 'async_trait>(
key_parts: &'life0 [&'life1 str],
min: &'life2 str,
max: &'life3 str,
skip: Option<usize>,
limit: Option<usize>,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<String>>, DynError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Retrieves a lexicographical range of elements from a Redis sorted set using the provided key parts. Read more
Source§impl Serialize for UserStream
impl Serialize for UserStream
Auto Trait Implementations§
impl Freeze for UserStream
impl RefUnwindSafe for UserStream
impl Send for UserStream
impl Sync for UserStream
impl Unpin for UserStream
impl UnsafeUnpin for UserStream
impl UnwindSafe for UserStream
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
Mutably borrows from an owned value. Read more
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request