/** * OneRoster Gradebook Types * * Types for gradebook entities: results, line items, categories, score scales, assessments. */ import type { Base, LearningObjectiveScoreSet, LearningObjectiveSet, Ref } from './base'; import type { ScoreStatus } from './primitives'; /** * A value within a score scale (e.g., "A" = 90-100). */ export interface ScoreScaleValue { /** Left-hand side of the range (e.g., "90") */ itemValueLHS: string; /** Right-hand side of the range (e.g., "100") */ itemValueRHS: string; /** Display value (e.g., "A") */ value?: string; /** Description of this score level */ description?: string; } /** * A grading scale defining how scores are interpreted. * * Score scales can be associated with classes or courses and define * the mapping between numeric scores and letter grades. */ export interface ScoreScale extends Base { /** Scale title (e.g., "Standard Grading Scale") */ title: string; /** Type of scale */ type?: string; /** Class this scale applies to */ class?: Ref; /** Course this scale applies to */ course?: Ref | null; /** Values defining the scale */ scoreScaleValue?: ScoreScaleValue[]; } /** * A category for organizing line items (e.g., "Homework", "Tests", "Projects"). */ export interface Category extends Base { /** Category name */ title: string; /** Weight for grade calculation (0.0 to 1.0) */ weight?: number | null; } /** * A line item (assignment, test, or other gradable item). * * Line items represent work that students complete and receive grades for. */ export interface LineItem extends Base { /** Title of the assignment */ title: string; /** Description of the assignment */ description?: string | null; /** Date the assignment was given (ISO 8601 datetime) */ assignDate: string; /** Due date for the assignment (ISO 8601 datetime) */ dueDate: string; /** Class this line item belongs to */ class: Ref; /** School */ school: Ref; /** Category for this line item */ category: Ref; /** Grading period */ gradingPeriod?: Ref | null; /** Academic session */ academicSession?: Ref | null; /** Score scale to use for grading */ scoreScale?: Ref | null; /** Minimum possible score */ resultValueMin?: number | null; /** Maximum possible score */ resultValueMax?: number | null; /** Associated learning objectives */ learningObjectiveSet?: LearningObjectiveSet; } /** * A result (grade) for a student on a line item. * * Results record the score a student received on an assignment. */ export interface Result extends Base { /** Line item this result is for */ lineItem: Ref; /** Student who received this grade */ student: Ref; /** Class (optional, for context) */ class?: Ref | null; /** Score scale used */ scoreScale?: Ref | null; /** Status of the score */ scoreStatus: ScoreStatus; /** Numeric score */ score?: number | null; /** Text-based score */ textScore?: string | null; /** Date the score was recorded */ scoreDate: string; /** Teacher comment */ comment?: string | null; /** Learning objective scores */ learningObjectiveSet?: LearningObjectiveScoreSet; /** Whether work is in progress */ inProgress?: string; /** Whether work is incomplete */ incomplete?: string; /** Whether submission was late */ late?: string; /** Whether submission is missing */ missing?: string; } /** * An assessment line item for standardized or formal assessments. * * Assessment line items are similar to line items but designed for * formal assessments with more detailed tracking capabilities. */ export interface AssessmentLineItem extends Base { /** Assessment title */ title: string; /** Assessment description */ description?: string | null; /** Class this assessment is for */ class?: Ref | null; /** Parent assessment (for hierarchical assessments) */ parentAssessmentLineItem?: Ref | null; /** Score scale */ scoreScale?: Ref | null; /** Minimum possible score */ resultValueMin?: number | null; /** Maximum possible score */ resultValueMax?: number | null; /** Course component reference (proprietary extension) */ component?: Ref | null; /** Component resource reference (proprietary extension) */ componentResource?: Ref | null; /** Learning objectives */ learningObjectiveSet?: LearningObjectiveSet; /** Course reference (proprietary extension) */ course?: Ref | null; } /** * A result for an assessment line item. */ export interface AssessmentResult extends Base { /** Assessment this result is for */ assessmentLineItem: Ref; /** Student who took the assessment */ student: Ref; /** Numeric score */ score?: number | null; /** Text-based score */ textScore?: string | null; /** Date of the assessment */ scoreDate: string; /** Score scale used */ scoreScale?: Ref | null; /** Percentile ranking */ scorePercentile?: number | null; /** Status of the score */ scoreStatus: ScoreStatus; /** Teacher/grader comment */ comment?: string | null; /** Learning objective scores */ learningObjectiveSet?: LearningObjectiveScoreSet; /** Whether assessment is in progress */ inProgress?: string | null; /** Whether assessment is incomplete */ incomplete?: string | null; /** Whether submission was late */ late?: string | null; /** Whether assessment is missing */ missing?: string | null; } //# sourceMappingURL=gradebook.d.ts.map