/** * * @export * @interface Assignment */ export interface Assignment { /** * * @type {string} * @memberof Assignment */ pk: string /** * * @type {string} * @memberof Assignment */ submission?: string /** * * @type {boolean} * @memberof Assignment */ isDone?: boolean /** * * @type {string} * @memberof Assignment */ owner?: string /** * * @type {string} * @memberof Assignment */ stage?: Subscription.FeedbackStageEnum feedback?: Feedback subscription?: string } /** * * @export * @interface Exam */ export interface Exam { /** * * @type {string} * @memberof Exam */ pk: string /** * * @type {string} * @memberof Exam */ moduleReference: string /** * * @type {number} * @memberof Exam */ totalScore: number /** * * @type {number} * @memberof Exam */ passScore: number /** * * @type {boolean} * @memberof Exam */ passOnly?: boolean } /** * * @export * @interface Feedback */ export interface Feedback { /** * * @type {number} * @memberof Feedback */ pk: number /** * * @type {string} * @memberof Feedback */ ofSubmission?: string /** * * @type {boolean} * @memberof Feedback */ isFinal?: boolean /** * * @type {number} * @memberof Feedback */ score?: number /** * * @type {Array<FeedbackComment>} * @memberof Feedback */ feedbackLines?: {[lineNo: number]: FeedbackComment[]} /** * * @type {Date} * @memberof Feedback */ created?: string /** * * @type {string} * @memberof Feedback */ ofSubmissionType?: string /** * * @type {string} * @memberof Feedback */ feedbackStageForUser?: string } /** * * @export * @interface FeedbackComment */ export interface FeedbackComment { /** * * @type {string} * @memberof FeedbackComment */ pk: string /** * * @type {string} * @memberof FeedbackComment */ text: string /** * * @type {Date} * @memberof FeedbackComment */ created?: string /** * * @type {string} * @memberof FeedbackComment */ ofTutor?: string /** * * @type {number} * @memberof FeedbackComment */ ofLine?: number /** * * @type {boolean} * @memberof FeedbackComment */ visibleToStudent?: boolean } /** * * @export * @interface Credentials */ export interface Credentials { /** * * @type {string} * @memberof JSONWebToken */ username: string /** * * @type {string} * @memberof JSONWebToken */ password: string } export interface JSONWebToken { token: string } export interface Statistics { submissionsPerType: number, submissionsPerStudent: number, currentMeanScore: number, submissionTypeProgress: Array<SubmissionTypeProgress> } /** * * @export * @interface StudentInfo */ export interface StudentInfo { /** * * @type {string} * @memberof StudentInfo */ pk: string /** * * @type {string} * @memberof StudentInfo */ name?: string /** * * @type {string} * @memberof StudentInfo */ user: string /** * * @type {string} * @memberof StudentInfo */ matrikelNo?: string /** * * @type {Exam} * @memberof StudentInfo */ exam: Exam /** * * @type {Array<SubmissionList>} * @memberof StudentInfo */ submissions: Array<SubmissionList> /** * * @type {boolean} * @memberof StudentInfo */ passesExam?: boolean } /** * * @export * @interface StudentInfoForListView */ export interface StudentInfoForListView { /** * * @type {string} * @memberof StudentInfoForListView */ pk: string /** * * @type {string} * @memberof StudentInfoForListView */ name?: string /** * * @type {string} * @memberof StudentInfoForListView */ user?: string /** * * @type {string} * @memberof StudentInfoForListView */ userPk?: string /** * * @type {string} * @memberof StudentInfoForListView */ exam?: string /** * * @type {Array<SubmissionNoTextFields>} * @memberof StudentInfoForListView */ submissions: Array<SubmissionNoTextFields> /** * * @type {string} * @memberof StudentInfoForListView */ matrikelNo?: string /** * * @type {boolean} * @memberof StudentInfoForListView */ passesExam?: boolean /** * * @type {boolean} * @memberof StudentInfoForListView */ isActive: boolean } /** * * @export * @interface Submission */ export interface Submission { /** * * @type {string} * @memberof Submission */ pk: string /** * * @type {SubmissionType} * @memberof Submission */ type: SubmissionType /** * * @type {string} * @memberof Submission */ text?: string /** * * @type {VisibleCommentFeedback} * @memberof Submission */ feedback: VisibleCommentFeedback /** * * @type {Array<Test>} * @memberof Submission */ tests: Array<Test> } /** * * @export * @interface SubmissionList */ export interface SubmissionList { /** * * @type {string} * @memberof SubmissionList */ pk: string /** * * @type {SubmissionTypeList} * @memberof SubmissionList */ type: SubmissionTypeList /** * * @type {Feedback} * @memberof SubmissionList */ feedback: Feedback } /** * * @export * @interface SubmissionNoTextFields */ export interface SubmissionNoTextFields { /** * * @type {string} * @memberof SubmissionNoTextFields */ pk: string /** * * @type {string} * @memberof SubmissionNoTextFields */ type: string /** * * @type {string} * @memberof SubmissionNoTextFields */ score?: string /** * * @type {string} * @memberof SubmissionNoTextFields */ final?: string /** * * @type {string} * @memberof SubmissionNoTextFields */ fullScore?: string } /** * * @export * @interface SubmissionNoType */ export interface SubmissionNoType { /** * * @type {string} * @memberof SubmissionNoType */ pk: string /** * * @type {string} * @memberof SubmissionNoType */ type: string /** * * @type {string} * @memberof SubmissionNoType */ fullScore?: string /** * * @type {string} * @memberof SubmissionNoType */ text?: string /** * * @type {Feedback} * @memberof SubmissionNoType */ feedback?: Feedback /** * * @type {Array<Test>} * @memberof SubmissionNoType */ tests: Array<Test> } /** * * @export * @interface SubmissionType */ export interface SubmissionType { /** * * @type {string} * @memberof SubmissionType */ pk: string /** * * @type {string} * @memberof SubmissionType */ name: string /** * * @type {number} * @memberof SubmissionType */ fullScore?: number /** * * @type {string} * @memberof SubmissionType */ description: string /** * * @type {string} * @memberof SubmissionType */ solution?: string /** * * @type {string} * @memberof SubmissionType */ programmingLanguage?: SubmissionType.ProgrammingLanguageEnum } /** * @export * @namespace SubmissionType */ export namespace SubmissionType { /** * @export * @enum {string} */ export enum ProgrammingLanguageEnum { C = <any> 'c', Java = <any> 'java' } } /** * * @export * @interface SubmissionTypeList */ export interface SubmissionTypeList { /** * * @type {string} * @memberof SubmissionTypeList */ pk: string /** * * @type {string} * @memberof SubmissionTypeList */ name: string /** * * @type {number} * @memberof SubmissionTypeList */ fullScore?: number } export interface SubmissionTypeProgress { pk: string name: string feedbackFinal: number feedbackInValidation: number feedbackInConflict: number submissionCount: number } /** * * @export * @interface Subscription */ export interface Subscription { /** * * @type {string} * @memberof Subscription */ pk: string /** * * @type {string} * @memberof Subscription */ owner?: string /** * * @type {string} * @memberof Subscription */ queryType?: Subscription.QueryTypeEnum /** * * @type {string} * @memberof Subscription */ queryKey?: string /** * * @type {string} * @memberof Subscription */ feedbackStage?: Subscription.FeedbackStageEnum /** * * @type {boolean} * @memberof Subscription */ deactivated?: boolean /** * * @type {string} * @memberof Subscription */ assignments?: Array<Assignment> /** * * @type {string} * @memberof Subscription */ remaining?: string /** * * @type {string} * @memberof Subscription */ available?: string } /** * @export * @namespace Subscription */ export namespace Subscription { /** * @export * @enum {string} */ export enum QueryTypeEnum { Random = 'random', Student = 'student', Exam = 'exam', SubmissionType = 'submission_type' } /** * @export * @enum {string} */ export enum FeedbackStageEnum { Creation = 'feedback-creation', Validation = 'feedback-validation', ConflictResolution = 'feedback-conflict-resolution' } } /** * * @export * @interface Test */ export interface Test { /** * * @type {string} * @memberof Test */ pk: string /** * * @type {string} * @memberof Test */ name: string /** * * @type {string} * @memberof Test */ label: string /** * * @type {string} * @memberof Test */ annotation: string } /** * * @export * @interface Tutor */ export interface Tutor { /** * * @type {string} * @memberof Tutor */ pk: string /** * * @type {string} * @memberof Tutor */ password?: string /** * Designates whether this user should be treated as active. Unselect this instead of deleting accounts. * @type {boolean} * @memberof Tutor */ isActive?: boolean /** * Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. * @type {string} * @memberof Tutor */ username: string /** * * @type {string} * @memberof Tutor */ feedbackCreated?: string /** * * @type {string} * @memberof Tutor */ feedbackValidated?: string } /** * * @export * @interface UserAccount */ export interface UserAccount { /** * * @type {string} * @memberof UserAccount */ pk: string /** * Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. * @type {string} * @memberof UserAccount */ username?: string /** * * @type {string} * @memberof UserAccount */ role?: UserAccount.RoleEnum /** * * @type {boolean} * @memberof UserAccount */ isAdmin?: boolean /** * * @type {string} * @memberof UserAccount */ password?: string } /** * @export * @namespace UserAccount */ export namespace UserAccount { /** * @export * @enum {string} */ export enum RoleEnum { Student = 'Student', Tutor = 'Tutor', Reviewer = 'Reviewer' } } /** * * @export * @interface VisibleCommentFeedback */ export interface VisibleCommentFeedback { /** * * @type {number} * @memberof VisibleCommentFeedback */ pk: number /** * * @type {string} * @memberof VisibleCommentFeedback */ ofSubmission: string /** * * @type {boolean} * @memberof VisibleCommentFeedback */ isFinal?: boolean /** * * @type {number} * @memberof VisibleCommentFeedback */ score?: number /** * * @type {string} * @memberof VisibleCommentFeedback */ feedbackLines?: string /** * * @type {Date} * @memberof VisibleCommentFeedback */ created?: Date /** * * @type {string} * @memberof VisibleCommentFeedback */ ofSubmissionType?: string }