# QuizSubmission

Represents a quiz submission on SMHW.

## Constructor

#### new QuizSubmission(client, response)

Instantiate a QuizSubmission object.

Parameters:

Name | Type | Description
--- | --- | ---
`client` | Client | The client that is instantiating this object.
`response` | Object | The data for the object.

Source:
  - structures/QuizSubmission.js, line 16

### Extends

- Submission

### Members

#### (private) _client :Client

The client that instantiated this object.

Type:

- Client

Overrides:
  - Submission#_client
Source:
  - structures/Submission.js, line 18

#### assignment_type :String

The type of assignment that the submission is for.

Type:

- String

Overrides:
  - Submission#assignment_type
Source:
  - structures/QuizSubmission.js, line 35

#### comment_ids :Array.<Number>

An array of IDs of comments posted to the submission.

Type:

- Array.<Number>

Overrides:
  - Submission#comment_ids
Source:
  - structures/Submission.js, line 24

#### created_at :Number

The timestamp of when the submission was created.

Type:

- Number

Overrides:
  - Submission#created_at
Source:
  - structures/Submission.js, line 30

#### event_ids :Array.<Number>

An array of IDs to events refering to the submission.

Type:

- Array.<Number>

Overrides:
  - Submission#event_ids
Source:
  - structures/Submission.js, line 36

#### grade :String

The grade recieved for the event.

Type:

- String

Overrides:
  - Submission#grade
Source:
  - structures/Submission.js, line 42

#### id :String

The ID of the submission.

Type:

- String

Overrides:
  - Submission#id
Source:
  - structures/Submission.js, line 48

#### question_ids :Array.<Number>

An array of submission question IDs.

Type:

- Array.<Number>

Source:
  - structures/QuizSubmission.js, line 23

#### quiz_id :Number

The ID of the quiz that the quiz submission is for.

Type:

- Number

Source:
  - structures/QuizSubmission.js, line 29

#### status :String

The status of the submission.

Type:

- String

Overrides:
  - Submission#status
Source:
  - structures/Submission.js, line 54

#### student_avatar :String

The avatar URL of the student.

Type:

- String

Overrides:
  - Submission#student_avatar
Source:
  - structures/Submission.js, line 60

#### student_id :Number

The ID of the student.

Type:

- Number

Overrides:
  - Submission#student_id
Source:
  - structures/Submission.js, line 66

#### student_name :String

The name of the student.

Type:

- String

Overrides:
  - Submission#student_name
Source:
  - structures/Submission.js, line 72

#### submission_type :String

The type of submission.

Type:

- String

Source:
  - structures/QuizSubmission.js, line 41

#### updated_at :Number

The timestamp of when the submission was last updated.

Type:

- Number

Overrides:
  - Submission#updated_at
Source:
  - structures/Submission.js, line 78

### Methods

#### getComments(idsopt) → {Promise.<Array.<QuizSubmissionComment>>}

Get an array comments made to the submission.

Parameters:

Name | Type | Attributes | Description
--- | --- | --- | ---
`ids` | Array.<Number> | <optional> | An array of IDs of the submission comments to retrieve.

Source:
  - structures/QuizSubmission.js, line 78

Returns:

Type
  Promise.<Array.<QuizSubmissionComment>>

#### getEvents(idsopt) → {Promise.<Array.<SubmissionEvent>>}

Get submission events that refer to this submission.

Parameters:

Name | Type | Attributes | Description
--- | --- | --- | ---
`ids` | Array.<Number> | <optional> | An array of IDs of submission events to retrieve.

Overrides:
  - Submission#getEvents
Source:
  - structures/Submission.js, line 100

Returns:

Type
  Promise.<Array.<SubmissionEvent>>

#### getQuestions(idsopt) → {Promise.<Array.<QuizSubmissionQuestion>>}

Get the questions for the quiz submission.

Parameters:

Name | Type | Attributes | Description
--- | --- | --- | ---
`ids` | Array.<Number> | <optional> | An array of IDs of quiz submission questions to retrieve.

Source:
  - structures/QuizSubmission.js, line 57

Returns:

Type
  Promise.<Array.<QuizSubmissionQuestion>>

#### getQuiz() → {Promise.<Quiz>}

Get the quiz that the quiz submission is for.

Source:
  - structures/QuizSubmission.js, line 48

Returns:

Type
  Promise.<Quiz>

#### getStudent() → {Promise.<Student>}

Get the student who submitted the flexible task submission.

Overrides:
  - Submission#getStudent
Source:
  - structures/Submission.js, line 91

Returns:

Type
  Promise.<Student>

#### postComment(text) → {Promise.<QuizSubmissionComment>}

Post a comment on the submission from the client user.

Parameters:

Name | Type | Description
--- | --- | ---
`text` | String | The text of the comment.

Source:
  - structures/QuizSubmission.js, line 104

Returns:

Type
  Promise.<QuizSubmissionComment>