Core concepts
Users, Roles, & Profiles
The structures for handling candidates' metadata and authorizational access controls
Overview
Users data is primarly for association to the candidate's questions and recordings in a one-to-many relationship, with a view fields for authorization controls and preferences.
Users
All metadata for a user is shown below:
type User struct {
ID string `json:"id" dynamodbav:"id"`
Email string `json:"email" dynamodbav:"email"`
FirstName string `json:"first_name" dynamodbav:"first_name"`
LastName string `json:"last_name" dynamodbav:"last_name"`
Profile Profile `json:"profile" dynamodbav:"profile"`
Roles []Role `json:"roles" dynamodbav:"roles"`
ModelBase
}
The Profile field is used to store the users PinnedQuestions, which are relevant questions for that candidate.
The Roles field is used to store the roles the user has on the platform.