update code for sequelize upgrade

mnt
Lukas F. Hartmann 2023-09-21 20:38:52 +02:00 committed by minute
parent d5cd829834
commit 43577337aa
6 changed files with 12181 additions and 3074 deletions

View File

@ -61,7 +61,7 @@ module.exports = (req, res, next) => {
} }
}); });
}) })
.error((err) => { .catch((err) => {
console.error("Session resolve error", err); console.error("Session resolve error", err);
next(); next();
}); });

15164
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -11,47 +11,47 @@
"node": ">=10.0.0" "node": ">=10.0.0"
}, },
"dependencies": { "dependencies": {
"archiver": "1.3.0", "archiver": "5.3.1",
"async": "2.3.0", "async": "3.2.4",
"bcryptjs": "2.4.3", "bcryptjs": "2.4.3",
"body-parser": "^1.19.0", "body-parser": "^1.19.0",
"cheerio": "0.22.0", "cheerio": "1.0.0-rc.12",
"config": "1.25.1", "config": "3.3.9",
"cookie-parser": "~1.4.3", "cookie-parser": "~1.4.3",
"ejs": "3.1.5", "ejs": "3.1.9",
"execSync": "latest", "execSync": "latest",
"express": "^4.16.4", "express": "^4.16.4",
"file-type": "^7.6.0", "file-type": "^16.5.0",
"glob": "7.1.1", "glob": "10.3.3",
"gm": "^1.23.1", "gm": "^1.23.1",
"helmet": "^3.5.0", "helmet": "^7.0.0",
"i18n-2": "0.6.3", "i18n-2": "0.7.3",
"log-timestamp": "latest", "log-timestamp": "latest",
"mock-aws-s3": "^4.0.2", "mock-aws-s3": "^4.0.2",
"moment": "^2.19.3", "moment": "^2.19.3",
"morgan": "^1.9.1", "morgan": "^1.9.1",
"nodemailer": "^6.6.0", "nodemailer": "^6.6.0",
"puppeteer": "8.0.0", "puppeteer": "^18",
"read-chunk": "^2.1.0", "read-chunk": "^3",
"request": "^2.88.0", "request": "^2.88.0",
"sanitize-html": "^2.3.3", "sanitize-html": "^2.3.3",
"sequelize": "^4.37.6", "sequelize": "^6.33.0",
"serve-favicon": "~2.4.2", "serve-favicon": "~2.5.0",
"serve-static": "^1.13.1", "serve-static": "^1.13.1",
"slug": "^1.1.0", "slug": "^8.2.2",
"sqlite3": "^4.2.0", "sqlite3": "5.*",
"umzug": "^2.1.0", "umzug": "^2",
"underscore": "^1.13.1", "underscore": "^1.13.1",
"uuid": "^3.2.1", "uuid": "^9.0.0",
"validator": "7.0.0", "validator": "13.9.0",
"ws": "5.2.3" "ws": "8.13.0"
}, },
"devDependencies": { "devDependencies": {
"gulp": "^4.0.2", "gulp": "^4.0.2",
"gulp-clean-css": "^4.3.0", "gulp-clean-css": "^4.3.0",
"gulp-concat": "^2.6.1", "gulp-concat": "^2.6.1",
"gulp-sass": "^4.0.2", "gulp-sass": "^5",
"nodemon": "^2.0.6" "nodemon": "^3.0.1"
}, },
"main": "app.js", "main": "app.js",
"description": "", "description": "",

View File

@ -16,12 +16,12 @@ router.post('/', function(req, res) {
res.status(400).json({}); res.status(400).json({});
return; return;
} }
var email = req.body.email.toLowerCase(); var email = req.body.email.toLowerCase();
var password = req.body["password"]; var password = req.body["password"];
db.User.findOne({where: {email: email}}) db.User.findOne({where: {email: email}})
.error(err => { .catch(err => {
res.sendStatus(404); res.sendStatus(404);
}) })
.then(user => { .then(user => {
@ -41,7 +41,7 @@ router.post('/', function(req, res) {
}; };
db.Session.create(session) db.Session.create(session)
.error(err => { .catch(err => {
console.error("Error creating Session:",err); console.error("Error creating Session:",err);
res.sendStatus(500); res.sendStatus(500);
}) })

View File

@ -4,7 +4,7 @@ const os = require('os');
const db = require('../../models/db'); const db = require('../../models/db');
const Sequelize = require('sequelize'); const Sequelize = require('sequelize');
const Op = Sequelize.Op; const Op = Sequelize.Op;
const uuidv4 = require('uuid/v4'); const { v4: uuidv4 } = require('uuid');
var redis = require('../../helpers/redis'); var redis = require('../../helpers/redis');
var mailer = require('../../helpers/mailer'); var mailer = require('../../helpers/mailer');
@ -81,13 +81,13 @@ function listSpacesInFolder(req, res, parent_space_id) {
} }
router.get('/', function(req, res, next) { router.get('/', function(req, res, next) {
if (req.query.parent_space_id && req["spaceAuth"]) { if (req.query.parent_space_id && req["spaceAuth"]) {
// list subspaces of a space authorized anonymously // list subspaces of a space authorized anonymously
listSpacesInFolder(req, res, req.query.parent_space_id); listSpacesInFolder(req, res, req.query.parent_space_id);
return; return;
} }
if (!req.user) { if (!req.user) {
res.status(403).json({ res.status(403).json({
error: "auth required" error: "auth required"
@ -127,11 +127,11 @@ router.get('/', function(req, res, next) {
} else if (req.query.parent_space_id && req.query.parent_space_id != req.user.home_folder_id) { } else if (req.query.parent_space_id && req.query.parent_space_id != req.user.home_folder_id) {
// list spaces in a folder // list spaces in a folder
listSpacesInFolder(req, res, req.query.parent_space_id); listSpacesInFolder(req, res, req.query.parent_space_id);
} else { } else {
// list home folder and spaces/folders that the user is a member of // list home folder and spaces/folders that the user is a member of
db.Membership.findAll({ where: { db.Membership.findAll({ where: {
user_id: req.user._id user_id: req.user._id
}}).then(memberships => { }}).then(memberships => {
@ -186,10 +186,8 @@ router.post('/', function(req, res, next) {
attrs.edit_hash = crypto.randomBytes(64).toString('hex').substring(0, 7); attrs.edit_hash = crypto.randomBytes(64).toString('hex').substring(0, 7);
attrs.edit_slug = attrs.edit_slug || slug(attrs.name); attrs.edit_slug = attrs.edit_slug || slug(attrs.name);
attrs.access_mode = "private"; attrs.access_mode = "private";
db.Space.create(attrs).then(createdSpace => { db.Space.create(attrs).then(createdSpace => {
res.status(201).json(createdSpace);
// create initial admin membership // create initial admin membership
var membership = { var membership = {
_id: uuidv4(), _id: uuidv4(),
@ -198,7 +196,7 @@ router.post('/', function(req, res, next) {
role: "admin", role: "admin",
state: "active" state: "active"
}; };
db.Membership.create(membership).then(() => { db.Membership.create(membership).then(() => {
res.status(201).json(createdSpace); res.status(201).json(createdSpace);
}); });

View File

@ -2,7 +2,8 @@
var config = require('config'); var config = require('config');
const db = require('../../models/db'); const db = require('../../models/db');
const uuidv4 = require('uuid/v4'); const { v4: uuidv4 } = require('uuid');
const os = require('os'); const os = require('os');
var mailer = require('../../helpers/mailer'); var mailer = require('../../helpers/mailer');
@ -32,7 +33,7 @@ router.get('/current', function(req, res, next) {
u.token = req.cookies['sdsession']; u.token = req.cookies['sdsession'];
console.log(u); console.log(u);
res.status(200).json(u); res.status(200).json(u);
} else { } else {
res.status(401).json({"error":"user_not_found"}); res.status(401).json({"error":"user_not_found"});
@ -45,7 +46,7 @@ router.post('/', function(req, res) {
res.status(400).json({"error":"email or password missing"}); res.status(400).json({"error":"email or password missing"});
return; return;
} }
var email = req.body["email"].toLowerCase(); var email = req.body["email"].toLowerCase();
var nickname = req.body["nickname"]; var nickname = req.body["nickname"];
var password = req.body["password"]; var password = req.body["password"];
@ -56,17 +57,17 @@ router.post('/', function(req, res) {
res.status(400).json({"error":"password_confirmation"}); res.status(400).json({"error":"password_confirmation"});
return; return;
} }
if (config.invite_code && invite_code != config.invite_code) { if (config.invite_code && invite_code != config.invite_code) {
res.status(400).json({"error":"Invalid Invite Code."}); res.status(400).json({"error":"Invalid Invite Code."});
return; return;
} }
if (!validator.isEmail(email)) { if (!validator.isEmail(email)) {
res.status(400).json({"error":"email_invalid"}); res.status(400).json({"error":"email_invalid"});
return; return;
} }
var createUser = function() { var createUser = function() {
bcrypt.genSalt(10, function(err, salt) { bcrypt.genSalt(10, function(err, salt) {
bcrypt.hash(password, salt, function(err, hash) { bcrypt.hash(password, salt, function(err, hash) {
@ -84,7 +85,7 @@ router.post('/', function(req, res) {
}; };
db.User.create(u) db.User.create(u)
.error(err => { .catch(err => {
res.sendStatus(400); res.sendStatus(400);
}) })
.then(u => { .then(u => {
@ -95,7 +96,7 @@ router.post('/', function(req, res) {
creator_id: u._id creator_id: u._id
}; };
db.Space.create(homeFolder) db.Space.create(homeFolder)
.error(err => { .catch(err => {
res.sendStatus(400); res.sendStatus(400);
}) })
.then(homeFolder => { .then(homeFolder => {
@ -112,9 +113,9 @@ router.post('/', function(req, res) {
"state": "pending" "state": "pending"
} }
}); });
res.status(201).json({}); res.status(201).json({});
}) })
.error(err => { .catch(err => {
res.status(400).json(err); res.status(400).json(err);
}); });
}) })
@ -123,7 +124,7 @@ router.post('/', function(req, res) {
}); });
}); });
}; };
db.User.findAll({where: {email: email}}) db.User.findAll({where: {email: email}})
.then(users => { .then(users => {
if (users.length == 0) { if (users.length == 0) {
@ -193,7 +194,7 @@ router.delete('/:id', (req, res, next) => {
// TODO: this doesn't currently work. // TODO: this doesn't currently work.
// all objects (indirectly) belonging to the user have // all objects (indirectly) belonging to the user have
// to be walked and deleted first. // to be walked and deleted first.
user.destroy().then(err => { user.destroy().then(err => {
if(err)res.status(400).json(err); if(err)res.status(400).json(err);
else res.sendStatus(204); else res.sendStatus(204);