# Student

Represents a student on SMHW.

## Constructor

#### new Student(client, response)

Instantiate a Student object.

Parameters:

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

Source:
  - structures/Student.js, line 13

### Extends

- User

### Members

#### (private) _client :Client

The client that instantiated this object.

Type:

- Client

Overrides:
  - User#_client
Source:
  - structures/User.js, line 16

#### anonymous :Boolean

Whether or not the user is anonymous.

Type:

- Boolean

Overrides:
  - User#anonymous
Source:
  - structures/User.js, line 22

#### avatar :String

The Avatar URL of the user.

Type:

- String

Overrides:
  - User#avatar
Source:
  - structures/User.js, line 28

#### avatar_large_thumb :String

The large avatar URL of the user.

Type:

- String

Overrides:
  - User#avatar_large_thumb
Source:
  - structures/User.js, line 34

#### avatar_small_thumb :String

The small avatar URL of the user.

Type:

- String

Overrides:
  - User#avatar_small_thumb
Source:
  - structures/User.js, line 40

#### backend_type :String

The type of user that the user is on the back-end.

Type:

- String

Overrides:
  - User#backend_type
Source:
  - structures/User.js, line 46

#### bio :String

The bio of the user.

Type:

- String

Overrides:
  - User#bio
Source:
  - structures/User.js, line 52

#### categories :Array.<String>

An array of categories that the student falls into.

Type:

- Array.<String>

Source:
  - structures/Student.js, line 20

#### class_group_ids :Array.<Number>

An array of class group ids that the student is in.

Type:

- Array.<Number>

Source:
  - structures/Student.js, line 26

#### created_at :Number

The timestamp when the user was created.

Type:

- Number

Overrides:
  - User#created_at
Source:
  - structures/User.js, line 58

#### disabled :Boolean

Whether or not the user is disabled.

Type:

- Boolean

Overrides:
  - User#disabled
Source:
  - structures/User.js, line 64

#### facebook :String

The facebook account of the user.

Type:

- String

Overrides:
  - User#facebook
Source:
  - structures/User.js, line 70

#### forename :String

The forename of the user.

Type:

- String

Overrides:
  - User#forename
Source:
  - structures/User.js, line 76

#### gender :String

The gender of the user.

Type:

- String

Source:
  - structures/Student.js, line 32

#### id :Number

The ID of the user.

Type:

- Number

Overrides:
  - User#id
Source:
  - structures/User.js, line 82

#### invite_code :String

The invite code that the student used.

Type:

- String

Source:
  - structures/Student.js, line 38

#### invite_code_expires_on :Number

The timestamp of when then invite code expires.

Type:

- Number

Source:
  - structures/Student.js, line 44

#### left_at :Number

The timestamp of when the user left.

Type:

- Number

Overrides:
  - User#left_at
Source:
  - structures/User.js, line 88

#### linked_in :String

The LinkedIn account of the user.

Type:

- String

Overrides:
  - User#linked_in
Source:
  - structures/User.js, line 94

#### mobile_beta_user :Boolean

Whether or not the user is a mobile beta user.

Type:

- Boolean

Overrides:
  - User#mobile_beta_user
Source:
  - structures/User.js, line 100

#### parent_ids :Array.<Number>

An array of IDs to the student's parents.

Type:

- Array.<Number>

Source:
  - structures/Student.js, line 50

#### pintrest :String

The Pintrest account of the user.

Type:

- String

Overrides:
  - User#pintrest
Source:
  - structures/User.js, line 106

#### push_notifications_enabled :Boolean

Whether or not the user has push notifications enabled.

Type:

- Boolean

Overrides:
  - User#push_notifications_enabled
Source:
  - structures/User.js, line 112

#### registration_group_id :Number

The ID of the registration group that the student belongs to.

Type:

- Number

Source:
  - structures/Student.js, line 56

#### school_id :Number

The ID of the school that the user belongs to.

Type:

- Number

Overrides:
  - User#school_id
Source:
  - structures/User.js, line 118

#### sims_id :String

The ID of the user on SIMS.

Type:

- String

Overrides:
  - User#sims_id
Source:
  - structures/User.js, line 124

#### student_badge_ids :Array.<Number>

An array of badge IDs that the student has.

Type:

- Array.<Number>

Source:
  - structures/Student.js, line 62

#### student_category_ids :Array.<Number>

An array of category IDs that the student falls into.

Type:

- Array.<Number>

Source:
  - structures/Student.js, line 68

#### student_friday_summary :Boolean

Type:

- Boolean

Overrides:
  - User#student_friday_summary
Source:
  - structures/User.js, line 129

#### student_marked_homework :Boolean

Type:

- Boolean

Overrides:
  - User#student_marked_homework
Source:
  - structures/User.js, line 134

#### student_overdue_summary :Boolean

Type:

- Boolean

Overrides:
  - User#student_overdue_summary
Source:
  - structures/User.js, line 139

#### student_praise_summary_id :Number

The ID of the student's praise summary.

Type:

- Number

Source:
  - structures/Student.js, line 74

#### surname :String

The surname of the user.

Type:

- String

Overrides:
  - User#surname
Source:
  - structures/User.js, line 145

#### teacher_stats :Boolean

Type:

- Boolean

Overrides:
  - User#teacher_stats
Source:
  - structures/User.js, line 150

#### teacher_summary :Boolean

Type:

- Boolean

Overrides:
  - User#teacher_summary
Source:
  - structures/User.js, line 155

#### title :String

The title of the user.

Type:

- String

Overrides:
  - User#title
Source:
  - structures/User.js, line 161

#### twitter :String

The twitter account of the user.

Type:

- String

Overrides:
  - User#twitter
Source:
  - structures/User.js, line 167

#### updated_at :Number

The timestamp of when the user was updated.

Type:

- Number

Overrides:
  - User#updated_at
Source:
  - structures/User.js, line 173

#### user_identity_id :Number

The ID of the user's private information.

Type:

- Number

Overrides:
  - User#user_identity_id
Source:
  - structures/User.js, line 179

#### user_private_info_id :Number

The ID of the user's private information.

Type:

- Number

Overrides:
  - User#user_private_info_id
Source:
  - structures/User.js, line 185

#### year :String

The year that the student belongs to.

Type:

- String

Source:
  - structures/Student.js, line 80

### Methods

#### getClassGroups(idsopt) → {Promise.<Array.<ClassGroup>>}

Get class groups that the student is in.

Parameters:

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

Source:
  - structures/Student.js, line 88

Returns:

Type
  Promise.<Array.<ClassGroup>>