pub struct ExerciseServiceInfoApi {
pub service_name: String,
pub user_interface_iframe_path: String,
pub grade_endpoint_path: String,
pub public_spec_endpoint_path: String,
pub model_solution_spec_endpoint_path: String,
pub has_custom_view: Option<bool>,
pub csv_export_definitions_endpoint_path: Option<String>,
pub csv_export_answers_endpoint_path: Option<String>,
pub supports_native_client: bool,
pub produces_file_answers: bool,
pub declares_spec_files: bool,
}Fields§
§service_name: String§user_interface_iframe_path: String§grade_endpoint_path: String§public_spec_endpoint_path: String§model_solution_spec_endpoint_path: String§has_custom_view: Option<bool>§csv_export_definitions_endpoint_path: Option<String>§csv_export_answers_endpoint_path: Option<String>§supports_native_client: boolWhether the service can be answered from a native (non-browser) client. Declaring it is what makes the service visible to the exercise-services client API.
produces_file_answers: boolWhether this service’s answers consist of uploaded files rather than JSON. Unrelated to
supports_native_client, which is about the client that answers, not the answer’s shape.
declares_spec_files: boolWhether this service declares which stored files its specs reference: the private spec’s in
the editor’s current-state message, and each derived spec’s in the response of the
endpoint that produced it, which then returns { spec, files } instead of the bare spec.
Declaring is what lets the host reclaim the service’s abandoned uploads. A service that does not declare keeps every file it ever uploaded, because the host cannot read a spec and so has no evidence that a file is unused.
Trait Implementations§
Source§impl Clone for ExerciseServiceInfoApi
impl Clone for ExerciseServiceInfoApi
Source§fn clone(&self) -> ExerciseServiceInfoApi
fn clone(&self) -> ExerciseServiceInfoApi
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl ComposeSchema for ExerciseServiceInfoApi
impl ComposeSchema for ExerciseServiceInfoApi
Source§impl Debug for ExerciseServiceInfoApi
impl Debug for ExerciseServiceInfoApi
Source§impl<'de> Deserialize<'de> for ExerciseServiceInfoApi
impl<'de> Deserialize<'de> for ExerciseServiceInfoApi
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>,
Source§impl PartialEq for ExerciseServiceInfoApi
impl PartialEq for ExerciseServiceInfoApi
Source§impl Serialize for ExerciseServiceInfoApi
impl Serialize for ExerciseServiceInfoApi
Source§impl ToSchema for ExerciseServiceInfoApi
impl ToSchema for ExerciseServiceInfoApi
impl StructuralPartialEq for ExerciseServiceInfoApi
Auto Trait Implementations§
impl Freeze for ExerciseServiceInfoApi
impl RefUnwindSafe for ExerciseServiceInfoApi
impl Send for ExerciseServiceInfoApi
impl Sync for ExerciseServiceInfoApi
impl Unpin for ExerciseServiceInfoApi
impl UnsafeUnpin for ExerciseServiceInfoApi
impl UnwindSafe for ExerciseServiceInfoApi
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
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> ⓘ
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> ⓘ
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>
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>,
Layered].