diff --git a/common/models/user.js b/common/models/user.js
index af104e8e39..0806d97e0b 100644
--- a/common/models/user.js
+++ b/common/models/user.js
@@ -8,6 +8,8 @@ module.exports = function(User) {
// see:
// https://github.com/strongloop/loopback/issues/1137#issuecomment-109200135
delete User.validations.email;
+ // set salt factor for passwords
+ User.settings.saltWorkFactor = 5;
debug('setting up user hooks');
// send verification email to new camper
User.afterRemote('create', function(ctx, user, next) {
diff --git a/common/models/user.json b/common/models/user.json
index 7aeca01d1e..ff0cab3495 100644
--- a/common/models/user.json
+++ b/common/models/user.json
@@ -44,7 +44,8 @@
"username": {
"type": "string",
"lowercase": true,
- "trim": true
+ "trim": true,
+ "id": true
},
"bio": {
"type": "string",
@@ -226,7 +227,18 @@
}
},
"validations": [],
- "relations": {},
+ "relations": {
+ "credentials": {
+ "type": "hasMany",
+ "model": "userCredential",
+ "foreignKey": ""
+ },
+ "identities": {
+ "type": "hasMany",
+ "model": "userIdentity",
+ "foreignKey": ""
+ }
+ },
"acls": [
{
"accessType": "*",
@@ -242,5 +254,5 @@
"property": "doesExist"
}
],
- "methods": ["login"]
+ "methods": []
}
diff --git a/seed/challenges/basic-bonfires.json b/seed/challenges/basic-bonfires.json
index 37692c2dad..998d46df23 100644
--- a/seed/challenges/basic-bonfires.json
+++ b/seed/challenges/basic-bonfires.json
@@ -8,11 +8,12 @@
"difficulty": 0.44,
"challengeSeed": ["119657641"],
"description": [
+ "Please note that the video for this challenge is a little outdated, and doesn't perfectly match these steps. We plan to record a new video soon.",
"OK, we're finally ready to start pair programming!",
"Pair Programming is where two people code together on the same computer. It is an efficient way to collaborate, and widely practiced at software companies. Pair Programming is one of the core concepts of \"Agile\" Software Development, which you will hear more about later.",
"Many people use Skype or Google Hangouts to pair program, but if you talk with professional software engineers, they will tell you that it's not really pair programming unless both people have the ability to use the keyboard and mouse.",
"The most popular tool for pair programming is Screen Hero. You can download Screen Hero for Mac or Windows. Create your new user account from within the app.",
- "We have a special chat room for people ready to pair program. Go to our Slack chat room, navigate to the #letspair channel and type \"Hello Pair Programmers!\"",
+ "We have a special chat room for people ready to pair program. Go to our http://freecodecamp.slack.com/messages/letspair and type \"Hello Pair Programmers!\"",
"If someone is available, they will be your \"pair\" - the person you pair programming with.",
"If no one gets back to you in the first few minutes, don't worry. There will be lots of opportunities to pair program in the future.",
"If someone does get back to you, private message them and ask for the email address they used to register Screen Hero.",
diff --git a/seed/challenges/basic-html5-and-css.json b/seed/challenges/basic-html5-and-css.json
index c07b2e3c89..6b8ef98def 100644
--- a/seed/challenges/basic-html5-and-css.json
+++ b/seed/challenges/basic-html5-and-css.json
@@ -201,7 +201,7 @@
],
"tests": [
"assert(($('h1').length === 0), 'Comment out your h1
element so that it is not visible on your page.')",
- "assert(($('h2').length > 0), 'Leave your h2
element uncommented so that is not visible on your page.')",
+ "assert(($('h2').length > 0), 'Leave your h2
element uncommented so that it is visible on your page.')",
"assert(($('p').length === 0), 'Comment out your p
element so that it is not visible on your page.')",
"assert(editor.match(/-->/g).length > 1, 'Be sure to close each of your comments with -->
.')"
],
@@ -1304,7 +1304,7 @@
"assert($('ul').length > 0, 'Create a ul
element.')",
"assert($('li').length > 2, 'Add three li
elements to your ul
element.')",
"assert(editor.match(/<\\/ul>/g) && editor.match(/
li
element has a closing tag.')"
],
"challengeSeed": [
"",
@@ -1372,7 +1372,7 @@
"assert($('li').length > 5, 'You should have three li
elements within your ol
element.')",
"assert(editor.match(/<\\/ul>/g) && editor.match(/<\\/ul>/g).length === editor.match(/ul
element has a closing tag.')",
"assert(editor.match(/<\\/ol>/g) && editor.match(/<\\/ol>/g).length === editor.match(/ol
element has a closing tag.')",
- "assert(editor.match(/<\\/li>/g) && editor.match(/<\\/li>/g).length === editor.match(/li
element has a closing tag.')"
+ "assert(editor.match(/<\\/li>/g) && editor.match(/li
element has a closing tag.')"
],
"challengeSeed": [
"",
diff --git a/seed/field-guides.json b/seed/field-guides.json
index 307039bbf3..2de429b569 100644
--- a/seed/field-guides.json
+++ b/seed/field-guides.json
@@ -394,6 +394,8 @@
" Employers are gradually moving to a pair-programming interview format. You don't need to make special preparations for these types of interviews - just pair program like you would on any Free Code Camp project.
", - "If you intend to apply for a job at older tech companies like Apple, Microsoft, Google, Facebook or Amazon, you should prepare for your interviews by working through this single authoritative book:
", - "You can download the 4th edition of this book in PDF form for free here or buy the 5th edition of the book here.", - "
Many of the questions you'll be asked during your interviews will come straight out of this book, which is standard-issue in Silicon Valley.
", - "We may focus more on interview preparation in the future if we determine that it's necessary. In the mean time, Free Code Camp will continue to focus skills that are directly related to becoming a job-ready software engineer.", - "