Skip to main content

Module world

Module world 

Source
Expand description

The simulated Sisu world: entities, the submission lifecycle, the world-shaped behaviours, and the per-request working set the endpoints resolve over.

Plain values only, so the resolution logic stays a pure function over an in-memory slice.

Structs§

CourseBehaviour
CreditRange
The wire’s own shapes, so a world dump can be edited and pushed straight back.
DatePeriod
The wire’s own shapes, so a world dump can be edited and pushed straight back.
Grade
GradeScale
LocalizedName
The wire’s own shapes, so a world dump can be edited and pushed straight back.
MissedFault
MockAttainment
MockCourseUnit
MockEnrolment
MockPerson
MockProductAccessToken
MockRealisation
MockSubmission
PersonBehaviour
RecordedCall
One entry of the mock’s own call log: unscrubbed fake data, capped, never fed to the audited tables.
RecordedFaults
RecordedItem
WorkingSet
The slice of the world one request needs, read once and written back once.
WorldDefaults
Every field defaults, so a partial defaults push cannot install an empty accepted token and 401 the whole suite.

Enums§

AttainmentState
DuplicateDetection
EnrolmentState
ProductDocumentState
ProductTokenState
RealisationKind
Ripeness
When a submission becomes a real Sisu attainment. There is no clock: something has to transition it, and which mechanism does is per-submission data rather than a mode the mock runs in.
SubmissionLifecycle
WorldWrite
One change the resolution logic wants persisted, one Redis command each.

Functions§

default_grade_scales
TODO: Suotar has not confirmed whether the pass/fail scale id is sis-hyv-hyl or sis-hyl-hyv, so both spellings resolve to one scale.
person_course_key

Type Aliases§

CourseCode
StudentNumber