mirror of
https://github.com/muerwre/orchidmap-front.git
synced 2025-04-25 11:06:40 +07:00
backend: generating guests
This commit is contained in:
parent
b6bd300e1b
commit
5025a43dbd
16 changed files with 1380 additions and 167 deletions
32
backend/routes/auth/guest.js
Normal file
32
backend/routes/auth/guest.js
Normal file
|
@ -0,0 +1,32 @@
|
|||
const { genRandomSequence } = require('../../utils/gen');
|
||||
const { UserModel } = require('../../config/db');
|
||||
|
||||
const generateGuestToken = () => {
|
||||
const id = `guest:${genRandomSequence(32)}`;
|
||||
|
||||
return UserModel.find({ id }).then(user => {
|
||||
if (user.length) return generateGuestToken();
|
||||
|
||||
return id;
|
||||
});
|
||||
};
|
||||
|
||||
const generateUser = id => {
|
||||
const token = `seq:${genRandomSequence(32)}`;
|
||||
const role = 'guest';
|
||||
|
||||
return { id, token, role };
|
||||
};
|
||||
|
||||
const saveUser = user => {
|
||||
const model = new UserModel({ ...user });
|
||||
|
||||
return model.save();
|
||||
};
|
||||
|
||||
module.exports = (req, res) => (
|
||||
generateGuestToken()
|
||||
.then(generateUser)
|
||||
.then(saveUser)
|
||||
.then(result => res.send({ success: 'true', type: 'guest', token: result }))
|
||||
);
|
9
backend/routes/auth/list.js
Normal file
9
backend/routes/auth/list.js
Normal file
|
@ -0,0 +1,9 @@
|
|||
const { UserModel } = require('../../config/db');
|
||||
|
||||
module.exports = (req, res) => UserModel.find((err, articles) => {
|
||||
if (!err) return res.send(articles);
|
||||
|
||||
res.statusCode = 500;
|
||||
return res.send({ error: 'Server error' });
|
||||
});
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue