UNPKG

ltijs

Version:

Easily turn your web application into a LTI 1.3 Learning Tool.

26 lines (25 loc) • 1.26 kB
import type { z } from 'zod'; import type { GetLineItemsOptionsSchema, GetScoresOptionsSchema, LineItemSchema, ResultSchema, ScoreSchema } from '#services/grading/grading.schemas'; /** An AGS line item (a gradable column) as read from or written to the platform's Line Item service. */ export type LineItem = z.infer<typeof LineItemSchema>; /** A score submission for a single learner on a line item -- posted via `Grading.submitScore`. */ export type Score = z.infer<typeof ScoreSchema>; /** A previously-submitted result for a single learner, as returned by `Grading.getScores`. */ export type Result = z.infer<typeof ResultSchema>; /** Filters/pagination for `Grading.getLineItems`. */ export type GetLineItemsOptions = z.infer<typeof GetLineItemsOptionsSchema>; /** Filters/pagination for `Grading.getScores`. */ export type GetScoresOptions = z.infer<typeof GetScoresOptionsSchema>; /** RFC 8288 pagination links, as returned by the platform's `Link` response header. */ export interface PaginatedLinks { next?: string; prev?: string; first?: string; last?: string; } export type GetLineItemsResult = PaginatedLinks & { lineItems: readonly LineItem[]; }; export type GetScoresResult = PaginatedLinks & { scores: readonly Result[]; };