mirror of
https://github.com/muerwre/orchidmap-front.git
synced 2025-04-25 19:16:41 +07:00
backend: auth, check, guest, creation
This commit is contained in:
parent
c456f938b1
commit
6f6e6ae6d7
2 changed files with 15 additions and 5 deletions
|
@ -4,7 +4,11 @@ const { Schema } = mongoose;
|
||||||
// Schemas
|
// Schemas
|
||||||
const UserSchema = new Schema({
|
const UserSchema = new Schema({
|
||||||
id: { type: String, required: true },
|
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 },
|
token: { type: String, required: true },
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,14 @@ const generateUser = id => {
|
||||||
const saveUser = user => {
|
const saveUser = user => {
|
||||||
const model = new User({ ...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));
|
const generateRandomUrl = () => Promise.resolve(genRandomSequence(16));
|
||||||
|
@ -35,10 +42,9 @@ const generateGuest = async () => {
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = async (req, res) => {
|
module.exports = async (req, res) => {
|
||||||
const user = await generateGuest();
|
const user = await generateGuest().then(saveUser);
|
||||||
await saveUser(user);
|
|
||||||
|
|
||||||
res.send({ success: 'true', ...user });
|
res.send({ success: true, ...user });
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports.generateGuest = generateGuest;
|
module.exports.generateGuest = generateGuest;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue