pub struct SuotarModuleConfigFacts {
pub course_module_id: Uuid,
pub course_id: Uuid,
pub uh_course_code: Option<String>,
pub ects_credits: Option<f32>,
pub open_university_product_id: Option<String>,
pub grade_scale_id: Option<String>,
pub old_flow_also_enabled: bool,
pub product_token_found: bool,
pub active_realisation_count: i64,
pub listed_successfully: bool,
pub course_code_not_found: bool,
pub has_passed_completions_without_a_grade: bool,
}Expand description
Everything the per-module configuration check reads, gathered in one query so validating every enabled module costs one pass rather than a fan-out per module.
Fields§
§course_module_id: Uuid§course_id: Uuid§uh_course_code: Option<String>§ects_credits: Option<f32>§open_university_product_id: Option<String>§grade_scale_id: Option<String>§old_flow_also_enabled: boolThe old pull path is on as well, which would register the same completion twice.
product_token_found: boolA token we could actually build an enrolment link from, not merely a row.
active_realisation_count: i64§listed_successfully: boolAt least one active realisation has been listed successfully, which proves the course code.
course_code_not_found: bool§has_passed_completions_without_a_grade: boolA numeric grade scale override cannot map these, so the override and the module disagree.
Trait Implementations§
Source§impl Clone for SuotarModuleConfigFacts
impl Clone for SuotarModuleConfigFacts
Source§fn clone(&self) -> SuotarModuleConfigFacts
fn clone(&self) -> SuotarModuleConfigFacts
Returns a duplicate 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 SuotarModuleConfigFacts
impl Debug for SuotarModuleConfigFacts
Source§impl PartialEq for SuotarModuleConfigFacts
impl PartialEq for SuotarModuleConfigFacts
impl StructuralPartialEq for SuotarModuleConfigFacts
Auto Trait Implementations§
impl Freeze for SuotarModuleConfigFacts
impl RefUnwindSafe for SuotarModuleConfigFacts
impl Send for SuotarModuleConfigFacts
impl Sync for SuotarModuleConfigFacts
impl Unpin for SuotarModuleConfigFacts
impl UnsafeUnpin for SuotarModuleConfigFacts
impl UnwindSafe for SuotarModuleConfigFacts
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,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> ServiceExt for T
impl<T> ServiceExt for T
§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
Apply a transformation to the response body. Read more
§fn decompression(self) -> Decompression<Self>where
Self: Sized,
fn decompression(self) -> Decompression<Self>where
Self: Sized,
Decompress response bodies. Read more
§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using HTTP status codes. Read more
§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using gRPC headers. Read more