forked from juice-shop/juice-shop
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathuser.js
27 lines (25 loc) · 761 Bytes
/
user.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* jslint node: true */
const insecurity = require('../lib/insecurity')
const utils = require('../lib/utils')
const challenges = require('../data/datacache').challenges
module.exports = (sequelize, {STRING}) => {
const User = sequelize.define('User', {
email: {
type: STRING,
unique: true,
set (email) {
if (utils.notSolved(challenges.persistedXssChallengeUser) && utils.contains(email, '<script>alert("XSS")</script>')) {
utils.solve(challenges.persistedXssChallengeUser)
}
this.setDataValue('email', email)
}
},
password: {
type: STRING,
set (clearTextPassword) {
this.setDataValue('password', insecurity.hash(clearTextPassword))
}
}
})
return User
}