diff --git a/server/services/user-service.js b/server/services/user-service.js index 6374462..09c588c 100644 --- a/server/services/user-service.js +++ b/server/services/user-service.js @@ -1,3 +1,4 @@ +import {v4 as uuidv4} from 'uuid'; const bcrypt = require('bcrypt') const User = require('../models/user-model') const Role = require('../models/role-model') @@ -15,13 +16,19 @@ class UserService { if (password !== rePassword) { throw new Error({status: 400, message: 'Паролі не співпадають.'}) } + let uniq_id = uuid4(); + let uniq_key = await User.findOne({uniq_id}); + while(uniq_key) { + uniq_id = uuid4(); + uniq_key = await User.findOne({uniq_id}); + } const hashPassword = await bcrypt.hash(password, 5) const {value} = new Role({value: role}) - const user = new User({email, fullName, login, password: hashPassword, role: value}) + const user = new User({email, fullName, login, password: hashPassword, role: value, uniq_key: uniq_id}) return await user.save() } async updateUser () {} async deleteUser () {} } -module.exports = new UserService() \ No newline at end of file +module.exports = new UserService()