User model:
Responsible: Kurt Junghanns
objectid = { | |
type: 'string', | |
maxLength: 24, | |
minLength: 24 | |
}; |
user =
...
property | type | required | format checking | state of implementation (master branch) in terms of attribute added and connected with the frontend |
---|---|---|---|---|
_id | integer, autoincrement | yes | isInteger |
|
string | yes | isEmail, unique |
| |
username | string | yes | unique, is alphanumeric plus .-_~ |
|
password | string |
(contains SHA512) | yes |
alphanumerical |
|
defaults |
[ object ] | no |
is integer,
preference object exists with such idnormally just an array of an object with one key |
|
registered |
date |
passive | datetime |
|
surname | string |
yes |
implemented | ||||
forename | string | yes | implemented | |
country | string | no | entry from a list of states | not implemented (list of countries is missing) |
spokenLanguages | array of languages | no |
language (see below) |
| |||
frontendLanguage | string | yes | ISO-639: 2-5 characters | implemented, We started using 5 letters as this is more specific, but the library for our different UI languages uses 2 characters |
picture | string | no | implemented
| |
interests | string | no |
not implemented |
description | string | no | implemented | |
birthday | date | no | date | not implemented - should not used for now |
infodeck | object | no |
object which contains the id and revision of a deck | not implemented | |
organization | string | no |
{
year: integer,
month: integer,
day: integer
}
Deck/Slide model
User preferences
implemented | ||||
lastLogin | datetime | passive | datetime | UTC - not implemented |
deactivated | boolean | yes | boolean | implemented - SWIK-692 |
authorised | boolean | yes | boolean | implemented - have to be merged from SWIK-668 |
providers | Array of Provider | no | implemented | |
reviewed | boolean | no | in master - introduced with review users functionality | |
isReviewer | boolean | no | in master - introduced with review users functionality | |
suspended | boolean | no | in master - introduced with review users functionality | |
lastReviewDoneBy | integer | no | userid | in master - introduced with review users functionality |
displayName | string | no | implemented |
Not yet implemented: preferences =
property | type | required | format checking | state of implementation |
---|---|---|---|---|
_id | integer, autoincrement | yes | isInteger | |
language | language | yes | isValidLanguage | |
theme | objectId | yes | theme exists with the id |
Provider:
property | type | required | format checking |
---|---|---|---|
provider | string | true | name of the provider - facebook/github/google |
token | string | true | |
expires | number | integer | |
extra_token | string | ||
scope | string | ||
token_creation | Date | true | ISO format |
id | string | ||
identifier | string | true | depends on provider - number or date as string |
string |
LTI Group
property | type | required | format checking | state of implementation |
---|---|---|---|---|
_id | integer, autoincrement | yes | isInteger | implemented |
key | string | yes | implemented | |
secret | string | yes | implemented |
LTI user is assigned a username with suffix "@lti.org" and dummy email in the format 'lti-{lti._id}-user{number of lti group members}@slidewiki.org'.