# User

A User of the PASS system. This includes preferred person information that can be used to autopopulate [Contributor](https://github.com/eclipse-pass/pass-documentation/blob/development/developer-documentation/pass-core/model/Contributor.md) records.

| Field        | Type       | Description                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ------------ | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| id\*         | String     | Autogenerated identifier of object                                                                                                                                                                                                                                                                                                                                                                                                  |
| username\*   | String     | Unique login name used by User                                                                                                                                                                                                                                                                                                                                                                                                      |
| firstName    | String     | First name(s) of User                                                                                                                                                                                                                                                                                                                                                                                                               |
| middleName   | String     | Middle name(s) of User                                                                                                                                                                                                                                                                                                                                                                                                              |
| lastName     | String     | Last name(s) of User                                                                                                                                                                                                                                                                                                                                                                                                                |
| displayName  | String     | Name for display. Separate names may not be available, but a person should always at least have a display name.                                                                                                                                                                                                                                                                                                                     |
| email        | String     | Contact email for User                                                                                                                                                                                                                                                                                                                                                                                                              |
| affiliation  | String\[]  | The affiliation(s) of the User with their institution, for example `STAFF@inst.edu`. An institution may have multiple organizational units, and a User may have a different affiliation with any given OU. A User having an affiliation with multiple OUs in an institution would have multiple values, for example `FACULTY@medicine.inst.edu` and `STUDENT@engineering.inst.edu`.                                                 |
| locatorIds\* | String\[ ] | A list of ids associated with the user by various system that PASS interacts with. The value of each entry would be in the form of : `domain:type:value`. For example, `["johnshopkins.edu:hopkinsid:DRA2D", "johnshopkins.edu:employeeid:12345", "johnshopkins.edu:jhed:bostaur1"]`. The following values for `type` are considered deprecated: `jhed`, `hopkinsid`. The preferred types are `eppn` and `unique-id`, respectively. |
| orcidId      | String     | ORCID ID for the User                                                                                                                                                                                                                                                                                                                                                                                                               |
| roles\*      | String\[]  | User roles ([*see list below*](#role-options))                                                                                                                                                                                                                                                                                                                                                                                      |

\*required

## Role options

Role options for User.

| Value     | Description                                                                                                                                     |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| submitter | User who can view and manage Submissions for personal Publications or those associated with their own Grants                                    |
| admin     | User who can manage Submissions for personal Publications or those associated with their own Grants, as well as view Submissions for all Grants |
