pub struct ScenarioStar;Implementations§
Source§impl ScenarioStar
impl ScenarioStar
Sourcepub async fn toggle(
pool: &Pool<Postgres>,
scenario_id: Uuid,
user_id: Uuid,
) -> Result<(bool, i64), Error>
pub async fn toggle( pool: &Pool<Postgres>, scenario_id: Uuid, user_id: Uuid, ) -> Result<(bool, i64), Error>
Toggle a star for (scenario_id, user_id).
Returns (now_starred, new_count) where now_starred is true when
the row was inserted by this call and false when it was removed. The
count is authoritative — computed in the same transaction as the
insert/delete so it never lies about the state the client just set.
Sourcepub async fn is_starred_by(
pool: &Pool<Postgres>,
scenario_id: Uuid,
user_id: Uuid,
) -> Result<bool, Error>
pub async fn is_starred_by( pool: &Pool<Postgres>, scenario_id: Uuid, user_id: Uuid, ) -> Result<bool, Error>
Whether user_id has starred scenario_id.
Auto Trait Implementations§
impl Freeze for ScenarioStar
impl RefUnwindSafe for ScenarioStar
impl Send for ScenarioStar
impl Sync for ScenarioStar
impl Unpin for ScenarioStar
impl UnsafeUnpin for ScenarioStar
impl UnwindSafe for ScenarioStar
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.