pub enum CourseOrExamId {
Course(Uuid),
Exam(Uuid),
}
Expand description
Either a course or exam id.
Exercises can either be part of courses or exams. Many user-related actions need to differentiate
between two, so CourseOrExamId
helps when handling these separate scenarios.
Variants§
Implementations§
Source§impl CourseOrExamId
impl CourseOrExamId
pub fn from_course_and_exam_ids( course_id: Option<Uuid>, exam_id: Option<Uuid>, ) -> Result<CourseOrExamId, ModelError>
pub fn to_course_and_exam_ids(&self) -> (Option<Uuid>, Option<Uuid>)
Trait Implementations§
Source§impl Clone for CourseOrExamId
impl Clone for CourseOrExamId
Source§fn clone(&self) -> CourseOrExamId
fn clone(&self) -> CourseOrExamId
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for CourseOrExamId
impl Debug for CourseOrExamId
Source§impl<'de> Deserialize<'de> for CourseOrExamId
impl<'de> Deserialize<'de> for CourseOrExamId
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<CourseOrExamId, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<CourseOrExamId, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for CourseOrExamId
impl PartialEq for CourseOrExamId
Source§impl Serialize for CourseOrExamId
impl Serialize for CourseOrExamId
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Source§impl TryFrom<&Exercise> for CourseOrExamId
impl TryFrom<&Exercise> for CourseOrExamId
Source§type Error = ModelError
type Error = ModelError
The type returned in the event of a conversion error.
Source§fn try_from(
exercise: &Exercise,
) -> Result<CourseOrExamId, <CourseOrExamId as TryFrom<&Exercise>>::Error>
fn try_from( exercise: &Exercise, ) -> Result<CourseOrExamId, <CourseOrExamId as TryFrom<&Exercise>>::Error>
Performs the conversion.
Source§impl TryFrom<&UserExerciseState> for CourseOrExamId
impl TryFrom<&UserExerciseState> for CourseOrExamId
Source§type Error = ModelError
type Error = ModelError
The type returned in the event of a conversion error.
Source§fn try_from(
user_exercise_state: &UserExerciseState,
) -> Result<CourseOrExamId, <CourseOrExamId as TryFrom<&UserExerciseState>>::Error>
fn try_from( user_exercise_state: &UserExerciseState, ) -> Result<CourseOrExamId, <CourseOrExamId as TryFrom<&UserExerciseState>>::Error>
Performs the conversion.
Source§impl TryFrom<Exercise> for CourseOrExamId
impl TryFrom<Exercise> for CourseOrExamId
Source§type Error = ModelError
type Error = ModelError
The type returned in the event of a conversion error.
Source§fn try_from(
exercise: Exercise,
) -> Result<CourseOrExamId, <CourseOrExamId as TryFrom<Exercise>>::Error>
fn try_from( exercise: Exercise, ) -> Result<CourseOrExamId, <CourseOrExamId as TryFrom<Exercise>>::Error>
Performs the conversion.
Source§impl TryFrom<UserExerciseState> for CourseOrExamId
impl TryFrom<UserExerciseState> for CourseOrExamId
Source§type Error = ModelError
type Error = ModelError
The type returned in the event of a conversion error.
Source§fn try_from(
user_exercise_state: UserExerciseState,
) -> Result<CourseOrExamId, <CourseOrExamId as TryFrom<UserExerciseState>>::Error>
fn try_from( user_exercise_state: UserExerciseState, ) -> Result<CourseOrExamId, <CourseOrExamId as TryFrom<UserExerciseState>>::Error>
Performs the conversion.
impl Copy for CourseOrExamId
impl Eq for CourseOrExamId
impl StructuralPartialEq for CourseOrExamId
Auto Trait Implementations§
impl Freeze for CourseOrExamId
impl RefUnwindSafe for CourseOrExamId
impl Send for CourseOrExamId
impl Sync for CourseOrExamId
impl Unpin for CourseOrExamId
impl UnwindSafe for CourseOrExamId
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> FromBase64 for Twhere
T: for<'de> Deserialize<'de>,
impl<T> FromBase64 for Twhere
T: for<'de> Deserialize<'de>,
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 more