2015-06-02 23:57:57 +00:00
|
|
|
{
|
2015-06-03 23:48:17 +00:00
|
|
|
"name": "user",
|
|
|
|
"base": "User",
|
2015-06-09 23:43:08 +00:00
|
|
|
"strict": true,
|
2015-08-18 06:57:38 +00:00
|
|
|
"emailVerificationRequired": false,
|
2015-06-11 06:59:42 +00:00
|
|
|
"idInjection": true,
|
|
|
|
"trackChanges": false,
|
2015-06-02 23:57:57 +00:00
|
|
|
"properties": {
|
|
|
|
"email": {
|
|
|
|
"type": "string",
|
2015-06-04 21:21:01 +00:00
|
|
|
"index": {
|
|
|
|
"mongodb": {
|
|
|
|
"unique": true,
|
2015-08-06 02:08:25 +00:00
|
|
|
"background": true,
|
2015-06-04 21:21:01 +00:00
|
|
|
"sparse": true
|
|
|
|
}
|
2015-08-06 01:51:15 +00:00
|
|
|
}
|
2015-06-11 06:59:42 +00:00
|
|
|
},
|
|
|
|
"password": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
2015-06-02 23:57:57 +00:00
|
|
|
"progressTimestamps": {
|
|
|
|
"type": "array",
|
|
|
|
"default": []
|
|
|
|
},
|
2016-01-13 06:07:19 +00:00
|
|
|
"isBanned": {
|
|
|
|
"type": "boolean",
|
|
|
|
"default": false,
|
|
|
|
"description": "User is banned from posting to camper news"
|
|
|
|
},
|
2016-01-24 23:28:15 +00:00
|
|
|
"isCheater": {
|
|
|
|
"type": "boolean",
|
|
|
|
"default": false,
|
|
|
|
"description": "Users who are confirmed to break academic honesty policy are marked as cheaters"
|
|
|
|
},
|
2015-08-04 20:39:59 +00:00
|
|
|
"isGithubCool": {
|
|
|
|
"type": "boolean",
|
|
|
|
"default": false
|
|
|
|
},
|
2015-08-06 00:49:19 +00:00
|
|
|
"githubId": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"githubURL": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"githubEmail": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"joinedGithubOn": {
|
|
|
|
"type": "date"
|
|
|
|
},
|
2015-08-05 18:29:19 +00:00
|
|
|
"isMigrationGrandfathered": {
|
|
|
|
"type": "boolean",
|
|
|
|
"default": false
|
|
|
|
},
|
2015-06-04 19:47:31 +00:00
|
|
|
"username": {
|
|
|
|
"type": "string",
|
2015-08-06 01:51:15 +00:00
|
|
|
"require": true,
|
|
|
|
"index": {
|
|
|
|
"mongodb": {
|
2015-08-06 02:08:25 +00:00
|
|
|
"unique": true,
|
|
|
|
"background": true
|
2015-08-06 01:51:15 +00:00
|
|
|
}
|
|
|
|
}
|
2015-06-02 23:57:57 +00:00
|
|
|
},
|
2015-06-04 19:47:31 +00:00
|
|
|
"bio": {
|
|
|
|
"type": "string",
|
|
|
|
"default": ""
|
|
|
|
},
|
|
|
|
"name": {
|
|
|
|
"type": "string",
|
|
|
|
"default": ""
|
|
|
|
},
|
|
|
|
"gender": {
|
|
|
|
"type": "string",
|
|
|
|
"default": ""
|
|
|
|
},
|
|
|
|
"location": {
|
|
|
|
"type": "string",
|
|
|
|
"default": ""
|
|
|
|
},
|
|
|
|
"picture": {
|
|
|
|
"type": "string",
|
|
|
|
"default": ""
|
|
|
|
},
|
2015-08-13 03:09:15 +00:00
|
|
|
"linkedin": {
|
|
|
|
"type": "string"
|
2015-06-04 19:47:31 +00:00
|
|
|
},
|
2015-08-13 03:09:15 +00:00
|
|
|
"codepen": {
|
|
|
|
"type": "string"
|
2015-06-04 19:47:31 +00:00
|
|
|
},
|
2015-08-13 03:09:15 +00:00
|
|
|
"twitter": {
|
|
|
|
"type": "string"
|
2015-06-04 19:47:31 +00:00
|
|
|
},
|
2015-06-02 23:57:57 +00:00
|
|
|
"currentStreak": {
|
|
|
|
"type": "number",
|
|
|
|
"default": 0
|
|
|
|
},
|
|
|
|
"longestStreak": {
|
|
|
|
"type": "number",
|
|
|
|
"default": 0
|
|
|
|
},
|
|
|
|
"sendMonthlyEmail": {
|
2016-03-13 23:06:04 +00:00
|
|
|
"type": "boolean",
|
|
|
|
"default": true
|
|
|
|
},
|
|
|
|
"sendNotificationEmail": {
|
|
|
|
"type": "boolean",
|
|
|
|
"default": true
|
|
|
|
},
|
|
|
|
"sendQuincyEmail": {
|
2015-06-02 23:57:57 +00:00
|
|
|
"type": "boolean",
|
|
|
|
"default": true
|
|
|
|
},
|
2015-10-02 06:03:52 +00:00
|
|
|
"isLocked": {
|
2015-09-28 00:08:56 +00:00
|
|
|
"type": "boolean",
|
2015-10-02 18:47:36 +00:00
|
|
|
"default": false,
|
2015-10-06 03:00:25 +00:00
|
|
|
"description": "Campers profile does not show challenges/certificates to the public"
|
2015-09-28 00:08:56 +00:00
|
|
|
},
|
2015-06-11 06:59:42 +00:00
|
|
|
"currentChallenge": {
|
|
|
|
"type": {}
|
|
|
|
},
|
2015-10-02 04:44:24 +00:00
|
|
|
"isUniqMigrated": {
|
|
|
|
"type": "boolean",
|
2015-10-02 18:47:36 +00:00
|
|
|
"default": false,
|
|
|
|
"description": "Campers completedChallenges array is free of duplicates"
|
|
|
|
},
|
|
|
|
"isHonest": {
|
|
|
|
"type": "boolean",
|
|
|
|
"default": false,
|
|
|
|
"description": "Camper has signed academic honesty policy"
|
|
|
|
},
|
|
|
|
"isFrontEndCert": {
|
|
|
|
"type": "boolean",
|
|
|
|
"defaut": false,
|
|
|
|
"description": "Camper is front end certified"
|
|
|
|
},
|
2016-01-11 23:58:37 +00:00
|
|
|
"isDataVisCert": {
|
|
|
|
"type": "boolean",
|
|
|
|
"defaut": false,
|
|
|
|
"description": "Camper is data visualization certified"
|
|
|
|
},
|
2015-12-09 20:56:05 +00:00
|
|
|
"isBackEndCert": {
|
|
|
|
"type": "boolean",
|
|
|
|
"default": false,
|
|
|
|
"description": "Campers is back end certified"
|
|
|
|
},
|
2015-10-02 18:47:36 +00:00
|
|
|
"isFullStackCert": {
|
|
|
|
"type": "boolean",
|
|
|
|
"default": false,
|
|
|
|
"description": "Campers is full stack certified"
|
2015-10-02 04:44:24 +00:00
|
|
|
},
|
2016-02-09 21:22:43 +00:00
|
|
|
"isChallengeMapMigrated": {
|
|
|
|
"type": "boolean",
|
|
|
|
"default": false,
|
|
|
|
"description": "Migrate completedChallenges array to challenge map"
|
|
|
|
},
|
|
|
|
"challengeMap": {
|
|
|
|
"type": "object",
|
|
|
|
"default": {},
|
|
|
|
"description": "A map by id of all the user completed challenges"
|
|
|
|
},
|
2015-06-04 20:09:22 +00:00
|
|
|
"completedChallenges": {
|
2015-06-11 06:59:42 +00:00
|
|
|
"type": [
|
|
|
|
{
|
|
|
|
"completedDate": "number",
|
2015-10-02 04:44:24 +00:00
|
|
|
"lastUpdated": "number",
|
2015-06-11 06:59:42 +00:00
|
|
|
"id": "string",
|
|
|
|
"name": "string",
|
|
|
|
"completedWith": "string",
|
|
|
|
"solution": "string",
|
|
|
|
"githubLink": "string",
|
|
|
|
"verified": "boolean",
|
|
|
|
"challengeType": {
|
|
|
|
"type": "number",
|
|
|
|
"default": 0
|
|
|
|
}
|
2015-06-04 20:09:22 +00:00
|
|
|
}
|
2015-06-11 06:59:42 +00:00
|
|
|
],
|
2015-06-04 20:09:22 +00:00
|
|
|
"default": []
|
2015-08-15 19:19:36 +00:00
|
|
|
},
|
|
|
|
"rand": {
|
|
|
|
"type": "number",
|
|
|
|
"index": true
|
2015-09-27 17:49:44 +00:00
|
|
|
},
|
|
|
|
"tshirtVote": {
|
|
|
|
"type": "number"
|
2016-01-20 02:11:20 +00:00
|
|
|
},
|
|
|
|
"timezone": {
|
|
|
|
"type": "string"
|
2015-06-11 06:59:42 +00:00
|
|
|
}
|
2015-06-02 23:57:57 +00:00
|
|
|
},
|
|
|
|
"validations": [],
|
2015-06-12 20:14:07 +00:00
|
|
|
"relations": {
|
|
|
|
"credentials": {
|
|
|
|
"type": "hasMany",
|
|
|
|
"model": "userCredential",
|
|
|
|
"foreignKey": ""
|
|
|
|
},
|
|
|
|
"identities": {
|
|
|
|
"type": "hasMany",
|
|
|
|
"model": "userIdentity",
|
|
|
|
"foreignKey": ""
|
2015-10-06 19:27:53 +00:00
|
|
|
},
|
|
|
|
"pledge": {
|
|
|
|
"type": "hasOne",
|
|
|
|
"model": "pledge",
|
|
|
|
"foreignKey": ""
|
2015-06-12 20:14:07 +00:00
|
|
|
}
|
|
|
|
},
|
2015-06-11 06:59:42 +00:00
|
|
|
"acls": [
|
|
|
|
{
|
|
|
|
"accessType": "*",
|
|
|
|
"principalType": "ROLE",
|
|
|
|
"principalId": "$everyone",
|
|
|
|
"permission": "DENY"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"accessType": "EXECUTE",
|
|
|
|
"principalType": "ROLE",
|
|
|
|
"principalId": "$everyone",
|
|
|
|
"permission": "ALLOW",
|
|
|
|
"property": "doesExist"
|
2015-07-29 18:32:16 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"accessType": "EXECUTE",
|
|
|
|
"principalType": "ROLE",
|
|
|
|
"principalId": "$everyone",
|
|
|
|
"permission": "ALLOW",
|
|
|
|
"property": "about"
|
2015-07-29 22:00:24 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"accessType": "EXECUTE",
|
|
|
|
"principalType": "ROLE",
|
|
|
|
"principalId": "$everyone",
|
|
|
|
"permission": "ALLOW",
|
|
|
|
"property": "giveBrowniePoints"
|
2015-06-11 06:59:42 +00:00
|
|
|
}
|
|
|
|
],
|
2015-06-12 18:38:00 +00:00
|
|
|
"methods": []
|
2015-06-02 23:57:57 +00:00
|
|
|
}
|