feat: Reselect existing contributions when updating a user

This commit is contained in:
Mehdi Achour 2017-11-07 19:07:29 +01:00 committed by GitHub
commit 5b6358425f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -29,8 +29,27 @@ function getQuestions(options, username, contributions) {
name: 'contributions',
message: 'What are the contribution types?',
when: !contributions,
default: function (answers) {
// default values for contributions when updating existing users
answers.username = answers.username || username;
return options.contributors
.filter((entry) => entry.login.toLowerCase() === answers.username.toLowerCase())
.reduce((allEntries, entry) => allEntries.concat(entry.contributions), []);
},
choices: contributionChoices(options),
validate: input => input.length ? true : 'Use space to select at least one contribution type.'
validate: function (input, answers) {
answers.username = answers.username || username;
var previousContributions = options.contributors
.filter((entry) => entry.login.toLowerCase() === answers.username.toLowerCase())
.reduce((allEntries, entry) => allEntries.concat(entry.contributions), []);
if (!input.length) {
return 'Use space to select at least one contribution type.';
} else if (_.isEqual(input, previousContributions)) {
return 'Nothing changed, use space to select contribution types.';
}
return true;
}
}];
}