Reward with negative cost can no longer be created, fixes #11855 (#11870)

* Minor refactoring in scoreTask.js

* Reward value validation added (should be >= 0)
This commit is contained in:
Denys Dorokhov
2020-03-24 13:10:10 +02:00
committed by GitHub
parent 5cf6a67a36
commit 25e72ad907
7 changed files with 128 additions and 37 deletions

View File

@@ -96,7 +96,17 @@ export const TaskSchema = new Schema({
validate: [v => validator.isUUID(v), 'Invalid uuid for task tags.'],
}],
// redness or cost for rewards Required because it must be settable (for rewards)
value: { $type: Number, default: 0, required: true },
value: {
$type: Number,
default: 0,
required: true,
validate: {
validator (value) {
return this.type === 'reward' ? value >= 0 : true;
},
msg: 'Reward cost should be a positive number or 0.',
},
},
priority: {
$type: Number,
default: 1,