diff --git a/backend/models/User.js b/backend/models/User.js index 6ac87b6..7a148fe 100644 --- a/backend/models/User.js +++ b/backend/models/User.js @@ -4,7 +4,11 @@ const { Schema } = mongoose; // Schemas const UserSchema = new Schema({ id: { type: String, required: true }, - role: { type: String, required: true }, + role: { + type: String, + required: true, + enum: ['admin', 'guest', 'user', 'vk'], + }, token: { type: String, required: true }, }); diff --git a/backend/routes/auth/guest.js b/backend/routes/auth/guest.js index eb1f418..ba8c54a 100644 --- a/backend/routes/auth/guest.js +++ b/backend/routes/auth/guest.js @@ -21,7 +21,14 @@ const generateUser = id => { const saveUser = user => { const model = new User({ ...user }); - return model.save(); + return model.save() + .then(() => model.toObject()) + .catch(() => ({ + ...user, + success: false, + error: 'Error saving user model', + error_code: 1232, + })); }; const generateRandomUrl = () => Promise.resolve(genRandomSequence(16)); @@ -35,10 +42,9 @@ const generateGuest = async () => { }; module.exports = async (req, res) => { - const user = await generateGuest(); - await saveUser(user); + const user = await generateGuest().then(saveUser); - res.send({ success: 'true', ...user }); + res.send({ success: true, ...user }); }; module.exports.generateGuest = generateGuest;