socialbot/routes/user.js

84 lines
1.9 KiB
JavaScript
Raw Normal View History

2022-02-03 18:41:15 +01:00
var express = require('express');
2022-02-06 20:42:11 +01:00
const db = require('../models');
2022-02-03 18:41:15 +01:00
var router = express.Router();
2022-02-06 20:42:11 +01:00
var User = db.User;
2022-02-13 21:48:01 +01:00
var lib = require('../lib');
2022-02-03 18:41:15 +01:00
/* GET users listing. */
router.get('/profile/:username', async function(req, res, next) {
2022-02-13 21:48:01 +01:00
var test = 123;
var sessionId = req.cookies.sessionid;
var search = req.params.username;
var auth = await lib.getAuthUser(sessionId);
if(auth) {
var user = await User.findOne({
where: {
name: search,
}
});
if(user) {
var messages = await user.getMessages();
var messageCount = await user.countMessages();
res.render('user', {auth:auth, user:user, messages:messages, messageCount:messageCount});
} else {
res.redirect('/');
}
} else {
res.redirect('/login');
}
2022-02-03 18:41:15 +01:00
});
router.get('/settings', async function(req, res, next) {
var sessionId = req.cookies.sessionid;
var auth = await lib.getAuthUser(sessionId);
if(auth) {
res.render('settings', { auth:auth });
} else {
res.redirect('/login');
}
});
router.post('/settings', async function(req, res, next) {
var sessionId = req.cookies.sessionid;
var auth = await lib.getAuthUser(sessionId);
2022-03-02 21:11:43 +01:00
var newData = {};
if(req.body.bio != '') {
newData.bio = req.body.bio;
}
if(req.body.name != '') {
newData.name = req.body.name;
}
if(req.files) {
if(req.files.avatar.data) {
newData.avatar = req.files.avatar.data;
}
}
if(auth) {
console.log(req);
console.log(req.files);
2022-03-02 21:11:43 +01:00
await auth.update(newData);
res.redirect('/user/settings');
} else {
res.redirect('/login');
}
});
router.get('/avatar/:id', async function(req, res, next) {
var user = await db.User.findOne({
where: {
id: req.params.id
}
});
res.contentType('image/png');
if(user.avatar) {
res.end(Buffer.from(user.avatar.buffer, 'base64'));
} else {
res.send();
}
//res.send(user.avatar.buffer);
});
2022-02-03 18:41:15 +01:00
module.exports = router;