edupage-api
Version:
Simple node.js package to manage your EduPage account.
184 lines (183 loc) • 4.76 kB
TypeScript
export = Assignment;
/**
* @typedef {import("./Homework")} Homework
*/
/**
* @typedef {import("./Test")} Test
*/
/**
* @typedef {import("../lib/RawData").RawDataObject} RawDataObject
*/
declare class Assignment extends RawData {
/**
* Creates an instance of Homework or Test from homework data.
* @static
* @param {RawDataObject} [data={}]
* @param {Edupage} [edupage=null]
* @return {Assignment | Homework | Test}
* @memberof Assignment
*/
static from(data?: RawDataObject, edupage?: Edupage): Assignment | Homework | Test;
/**
* Creates an instance of Assignment.
* @param {RawDataObject} [data={}] Initializes instance with raw data.
* @param {Edupage} [edupage=null] Edupage instance to use.
* @memberof Assignment
*/
constructor(data?: RawDataObject, edupage?: Edupage);
/**
* Edupage instance associated to this object.
* @type {Edupage}
*/
edupage: Edupage;
/**
* Homework id of this assignment.
* @type {string}
* @example "superid:16647"
*/
id: string;
/**
* Super assignment id.
* @type {string}
*/
superId: string;
/**
* Author of the assignment.
* @type {User | Teacher}
*/
owner: User | Teacher;
/**
* Subject associated to this assignment.
* @type {Subject}
*/
subject: Subject;
/**
* Title of the assignment.
* @type {string}
*/
title: string;
/**
* Description of the assignment.
* @type {string}
*/
details: string;
/**
* Date when the assignment was created.
* @type {Date}
*/
creationDate: Date;
/**
* Date from which the assignment is available for the students.
* @type {Date}
*/
fromDate: Date;
/**
* Date by which the assignment is available to students.
* @type {Date}
*/
toDate: Date;
/**
* Time to complete the assignment in seconds
* @type {number}
*/
duration: number;
/**
* Period when the assignment is available.
* @type {Period}
*/
period: Period;
/**
* Id of the test.
* @type {string}
*/
testId: string;
/**
* Type of the assignment.
* @type {ASSIGNMENT_TYPE}
*/
type: ASSIGNMENT_TYPE;
/**
* Homework id 2.
* @type {string}
* @example "subid:4B1340557B68DE71"
*/
hwkid: string;
/**
* Number of cards in the material.
* @type {number}
*/
cardsCount: number;
/**
* Number of answer cards in the material.
* @type {number}
*/
answerCardsCount: number;
/**
* The evaluation state of the assignment.
* @type {string}
*/
state: string;
/**
* Flag indicating if the assignment is new.
* @type {boolean}
*/
isSeen: boolean;
/**
* Comment of the assignment.
* @type {string}
*/
comment: string;
/**
* Result of the assignment.
* @type {string}
*/
result: string;
/**
* Flag indicating if the assignment is finished.
* @type {boolean}
*/
isFinished: boolean;
/**
* Date when the assignment was last updated.
* @type {Date}
*/
stateUpdatedDate: Date;
/**
* User who last updated the assignment.
* @type {User | Teacher}
*/
stateUpdatedBy: User | Teacher;
/**
* List of grades associated to this assignment.
* @type {Grade[]}
*/
grades: Grade[];
/**
* Initializes the object.
* @param {Edupage} [edupage=null] Edupage instance to use.
* @memberof Assignment
*/
init(edupage?: Edupage): void;
/**
* Fetches results + material data for assignment
* Usually the structure is: `{resultsData: {...}, materialData: {...}, ...}`
* Fetched data are cached into `this._data._resultsData`
* @return {Promise<RawDataObject>} Non-parsed raw data object
* @memberof Assignment
*/
getData(): Promise<RawDataObject>;
}
declare namespace Assignment {
export { Homework, Test, RawDataObject };
}
import RawData = require("../lib/RawData");
import Edupage = require("./Edupage");
import User = require("./User");
import Teacher = require("./Teacher");
import Subject = require("./Subject");
import Period = require("./Period");
import { ASSIGNMENT_TYPE } from "./enums";
import Grade = require("./Grade");
type RawDataObject = import("../lib/RawData").RawDataObject;
type Homework = import("./Homework");
type Test = import("./Test");