pub struct AttentionRegistration {Show 38 fields
pub id: Uuid,
pub user_id: Uuid,
pub first_name: Option<String>,
pub last_name: Option<String>,
pub email: Option<String>,
pub course_id: Uuid,
pub course_name: String,
pub course_module_id: Uuid,
pub course_module_name: Option<String>,
pub uh_course_code: Option<String>,
pub course_module_completion_id: Uuid,
pub completion_date: DateTime<Utc>,
pub state: CreditRegistrationState,
pub state_changed_at: DateTime<Utc>,
pub phase_started_at: DateTime<Utc>,
pub error_code: Option<CreditRegistrationErrorCode>,
pub attempt_count: i32,
pub needs_admin_attention: bool,
pub next_attempt_at: DateTime<Utc>,
pub submitted_at: Option<DateTime<Utc>>,
pub resubmit_not_before: Option<DateTime<Utc>>,
pub student_number: Option<DbSecret>,
pub completion_eligible: bool,
pub has_verified_student_number: bool,
pub course_code_allowed: bool,
pub enrolment_resolved: bool,
pub pressed_at: Option<DateTime<Utc>>,
pub enrolment_route: Option<CreditRegistrationEnrolmentRoute>,
pub last_visited_at: Option<DateTime<Utc>>,
pub last_mailing_fetch_started_at: Option<DateTime<Utc>>,
pub is_enrolment_list_empty: bool,
pub reasons: Vec<AttentionReason>,
pub dismissed_reasons: Option<Vec<AttentionReason>>,
pub dismissed_at: Option<DateTime<Utc>>,
pub dismissed_by_user_id: Option<Uuid>,
pub dismissed_by_first_name: Option<String>,
pub dismissed_by_last_name: Option<String>,
pub dismissal_reason: Option<String>,
}Expand description
One live row at least one detector picked.
Fields§
§id: Uuid§user_id: Uuid§first_name: Option<String>§last_name: Option<String>§email: Option<String>§course_id: Uuid§course_name: String§course_module_id: Uuid§course_module_name: Option<String>§uh_course_code: Option<String>The module’s code now, trimmed; not the one frozen on the row.
course_module_completion_id: Uuid§completion_date: DateTime<Utc>§state: CreditRegistrationState§state_changed_at: DateTime<Utc>§phase_started_at: DateTime<Utc>§error_code: Option<CreditRegistrationErrorCode>§attempt_count: i32§needs_admin_attention: boolThe pipeline’s own flag. On its own it is only AttentionReason::FlaggedByPipeline.
next_attempt_at: DateTime<Utc>§submitted_at: Option<DateTime<Utc>>§resubmit_not_before: Option<DateTime<Utc>>§student_number: Option<DbSecret>§completion_eligible: bool§has_verified_student_number: bool§course_code_allowed: bool§enrolment_resolved: bool§pressed_at: Option<DateTime<Utc>>The student’s latest “I have enrolled” press.
enrolment_route: Option<CreditRegistrationEnrolmentRoute>§last_visited_at: Option<DateTime<Utc>>§last_mailing_fetch_started_at: Option<DateTime<Utc>>When the code’s latest fetch that could claim linking mail started.
is_enrolment_list_empty: boolThe code’s last enrolment list listed nobody.
reasons: Vec<AttentionReason>§dismissed_reasons: Option<Vec<AttentionReason>>§dismissed_at: Option<DateTime<Utc>>§dismissed_by_user_id: Option<Uuid>§dismissed_by_first_name: Option<String>§dismissed_by_last_name: Option<String>§dismissal_reason: Option<String>Implementations§
Source§impl AttentionRegistration
impl AttentionRegistration
Sourcepub fn resubmission_facts(&self) -> ResubmissionFacts
pub fn resubmission_facts(&self) -> ResubmissionFacts
What decides whether a human may move this row; see ResubmissionFacts. The queue never
holds a superseded row.
Sourcepub fn position(&self) -> TimelinePosition
pub fn position(&self) -> TimelinePosition
Where the row stands on the admin timeline.
Sourcepub fn needs_course_setup(&self) -> bool
pub fn needs_course_setup(&self) -> bool
See needs_course_setup.
Sourcepub fn blocking_problem(
&self,
problems: &BlockingProblems,
) -> Option<BlockingProblem>
pub fn blocking_problem( &self, problems: &BlockingProblems, ) -> Option<BlockingProblem>
The problem that accounts for every reason this row carries, if one does.
Sourcepub fn is_dismissed(&self) -> bool
pub fn is_dismissed(&self) -> bool
A dismissal holds while every reason the row carries is one it covered.
Sourcepub fn standing(&self, problems: &BlockingProblems) -> AttentionStanding
pub fn standing(&self, problems: &BlockingProblems) -> AttentionStanding
Which Needs attention section the row is listed in under problems.
Trait Implementations§
Source§impl Clone for AttentionRegistration
impl Clone for AttentionRegistration
Source§fn clone(&self) -> AttentionRegistration
fn clone(&self) -> AttentionRegistration
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 moreAuto Trait Implementations§
impl Freeze for AttentionRegistration
impl RefUnwindSafe for AttentionRegistration
impl Send for AttentionRegistration
impl Sync for AttentionRegistration
impl Unpin for AttentionRegistration
impl UnsafeUnpin for AttentionRegistration
impl UnwindSafe for AttentionRegistration
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