Module models_requests

Module models_requests 

Source
Expand description

Contains helper functions that are passed to headless-lms-models where it needs to make requests to exercise services.

StructsΒ§

ExerciseServiceCsvExportColumn
Column definition for exercise service CSV export; callers must use scalar-only cell values.
ExerciseServiceCsvExportRequest
ExerciseServiceCsvExportResponse
Full CSV export response; columns define headers, results align by index. All cell values must be scalar.
ExerciseServiceCsvExportResult
One batch of CSV rows; each row’s values must be scalar (null, bool, number, string). Objects/arrays are rejected by the controller.
GivePeerReviewClaim
GradingUpdateClaim
JwtKey
SpecRequest
Accepted by the public-spec and model-solution endpoints of exercise services.
UploadClaim

ConstantsΒ§

EXERCISE_SERVICE_GRADING_UPDATE_CLAIM_HEADER πŸ”’
EXERCISE_SERVICE_UPLOAD_CLAIM_HEADER πŸ”’

FunctionsΒ§

fetch_service_info
fetch_service_info_fast
fetch_service_info_with_timeout πŸ”’
make_grading_request_sender
make_seed_spec_fetcher_with_cache
A caching spec fetcher ONLY FOR THE SEED that returns a cached spec if the same (url, exercise_service_slug, private_spec) is requested. Since this is only used during seeding, there is no cache eviction.
make_spec_fetcher
Fetches a public/model spec based on the private spec from the given url. The slug and jwt key are used for an upload claim that allows the service to upload files as part of the spec.
parse_response_json πŸ”’
Safely parses a response body as JSON, capturing the actual response body in error cases
post_exercise_service_csv_export_request

Type AliasesΒ§

SpecCache πŸ”’
A type for caching the spec fetching (only for the seed)