UNPKG

magister.js

Version:

A JavaScript implementation of the Magister 6 API

78 lines (74 loc) 1.45 kB
import MagisterThing from './magisterThing' import File from './file' import { parseDate, toString } from './util' class AssignmentVersion extends MagisterThing { /** * @private * @param {Magister} magister * @param {Object} raw */ constructor(magister, raw) { super(magister) /** * @type {String} * @readonly */ this.id = toString(raw.Id) /** * @type {Number} * @readonly */ this.state = raw.Status /** * @type {String} * @readonly */ this.pupilMessage = raw.LeerlingOpmerking /** * @type {String} * @readonly */ this.teacherNotice = raw.DocentOpmerking /** * @type {File[]} * @readonly */ this.handedInFiles = raw.LeerlingBijlagen.map(f => new File(magister, undefined, f)) /** * @type {File[]} * @readonly */ this.feedbackFiles = raw.FeedbackBijlagen.map(f => new File(magister, undefined, f)) /** * @type {Date} * @readonly */ this.deadline = parseDate(raw.InleverenVoor) /** * @type {Date} * @readonly */ this.handedInOn = parseDate(raw.IngeleverdOp) /** * @type {String|null} * @readonly */ this.grade = raw.Beoordeling /** * @type {Date} * @readonly */ this.markedOn = parseDate(raw.BeoordeeldOp) /** * @type {Number} * @readonly */ this.version = raw.VersieNummer /** * @type {Boolean} * @readonly */ this.tooLate = raw.IsTeLaat } } export default AssignmentVersion