{ "name": "user", "base": "User", "strict": "filter", "idInjection": true, "emailVerificationRequired": false, "trackChanges": false, "properties": { "email": { "type": "string", "index": { "mongodb": { "unique": true, "background": true, "sparse": true } } }, "newEmail": { "type": "string" }, "emailVerifyTTL": { "type": "date" }, "emailVerified": { "type": "boolean", "default": false }, "emailAuthLinkTTL": { "type": "date" }, "externalId": { "type": "string", "description": "A uuid/v4 used to identify user accounts" }, "unsubscribeId": { "type": "string", "description": "An ObjectId used to unsubscribe users from the mailing list(s)" }, "password": { "type": "string", "description": "No longer used for new accounts" }, "progressTimestamps": { "type": "array", "default": [] }, "isBanned": { "type": "boolean", "description": "User is banned from posting to camper news", "default": false }, "isCheater": { "type": "boolean", "description": "Users who are confirmed to have broken academic honesty policy are marked as cheaters", "default": false }, "githubProfile": { "type": "string" }, "website": { "type": "string" }, "_csrf": { "type": "string" }, "username": { "type": "string", "index": { "mongodb": { "unique": true, "background": true } }, "require": true }, "about": { "type": "string", "default": "" }, "name": { "type": "string", "default": "" }, "location": { "type": "string", "default": "" }, "picture": { "type": "string", "default": "" }, "linkedin": { "type": "string" }, "codepen": { "type": "string" }, "twitter": { "type": "string" }, "acceptedPrivacyTerms": { "type": "boolean", "default": true }, "sendQuincyEmail": { "type": "boolean", "default": true }, "currentChallengeId": { "type": "string", "description": "The challenge last visited by the user", "default": "" }, "isHonest": { "type": "boolean", "description": "Camper has signed academic honesty policy", "default": false }, "isFrontEndCert": { "type": "boolean", "description": "Camper is front end certified", "default": false }, "isDataVisCert": { "type": "boolean", "description": "Camper is data visualization certified", "default": false }, "isBackEndCert": { "type": "boolean", "description": "Campers is back end certified", "default": false }, "isFullStackCert": { "type": "boolean", "description": "Campers is full stack certified", "default": false }, "isRespWebDesignCert": { "type": "boolean", "description": "Camper is responsive web design certified", "default": false }, "is2018DataVisCert": { "type": "boolean", "description": "Camper is data visualization certified (2018)", "default": false }, "isFrontEndLibsCert": { "type": "boolean", "description": "Camper is front end libraries certified", "default": false }, "isJsAlgoDataStructCert": { "type": "boolean", "description": "Camper is javascript algorithms and data structures certified", "default": false }, "isApisMicroservicesCert": { "type": "boolean", "description": "Camper is apis and microservices certified", "default": false }, "isInfosecQaCert": { "type": "boolean", "description": "Camper is information security and quality assurance certified", "default": false }, "is2018FullStackCert": { "type": "boolean", "description": "Camper is full stack certified (2018)", "default": false }, "completedChallenges": { "type": [ { "completedDate": "number", "id": "string", "solution": "string", "githubLink": "string", "challengeType": "number", "files": { "type": [ { "contents": { "type": "string", "default": "" }, "ext": { "type": "string" }, "path": { "type": "string" }, "name": { "type": "string" }, "key": { "type": "string" } } ], "default": [] } } ], "default": [] }, "portfolio": { "type": "array", "default": [] }, "yearsTopContributor": { "type": "array", "default": [] }, "rand": { "type": "number", "index": true }, "timezone": { "type": "string" }, "theme": { "type": "string", "default": "default" }, "profileUI": { "type": "object", "default": { "isLocked": true, "showAbout": false, "showCerts": false, "showDonation": false, "showHeatMap": false, "showLocation": false, "showName": false, "showPoints": false, "showPortfolio": false, "showTimeLine": false } }, "badges": { "type": { "coreTeam": { "type": "array", "default": [] } }, "default": {} }, "donationEmails": { "type": [ "string" ] }, "isDonating": { "type": "boolean", "description": "Does the camper have an active donation", "default": false } }, "validations": [], "relations": { "donations": { "type": "hasMany", "foreignKey": "", "modal": "donation" }, "credentials": { "type": "hasMany", "model": "userCredential", "foreignKey": "" }, "identities": { "type": "hasMany", "model": "userIdentity", "foreignKey": "" }, "pledge": { "type": "hasOne", "model": "pledge", "foreignKey": "" }, "authTokens": { "type": "hasMany", "model": "AuthToken", "foreignKey": "userId", "options": { "disableInclude": true } }, "articles": { "type": "hasMany", "model": "article", "foreignKey": "externalId" } }, "acls": [ { "accessType": "*", "principalType": "ROLE", "principalId": "$everyone", "permission": "DENY" }, { "principalType": "ROLE", "principalId": "$everyone", "permission": "DENY", "property": "create" }, { "principalType": "ROLE", "principalId": "$everyone", "permission": "DENY", "property": "login" }, { "accessType": "EXECUTE", "principalType": "ROLE", "principalId": "$everyone", "permission": "DENY", "property": "verify" }, { "accessType": "EXECUTE", "principalType": "ROLE", "principalId": "$everyone", "permission": "DENY", "property": "resetPassword" }, { "accessType": "EXECUTE", "principalType": "ROLE", "principalId": "$everyone", "permission": "ALLOW", "property": "doesExist" }, { "accessType": "EXECUTE", "principalType": "ROLE", "principalId": "$everyone", "permission": "ALLOW", "property": "about" }, { "accessType": "EXECUTE", "principalType": "ROLE", "principalId": "$everyone", "permission": "ALLOW", "property": "getPublicProfile" }, { "accessType": "EXECUTE", "principalType": "ROLE", "principalId": "$everyone", "permission": "ALLOW", "property": "giveBrowniePoints" }, { "accessType": "EXECUTE", "principalType": "ROLE", "principalId": "$owner", "permission": "ALLOW", "property": "updateTheme" }, { "accessType": "EXECUTE", "principalType": "ROLE", "principalId": "$everyone", "permission": "ALLOW", "property": "getMessages" } ], "methods": {} }