From ef58af8a9aa2ca493b28393f892393b35ce022d7 Mon Sep 17 00:00:00 2001 From: oat Date: Mon, 12 Oct 2020 03:39:44 +0300 Subject: [PATCH] user checking when user uploads --- src/upload.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/upload.ts b/src/upload.ts index 5718dcf..9b731e8 100644 --- a/src/upload.ts +++ b/src/upload.ts @@ -3,14 +3,18 @@ import * as fs from 'fs'; const StreamZip = require('node-stream-zip'); import { parseSM } from './lib/smparse'; -import { File } from './schema'; +import { File, User } from './schema'; export function run(app) { const logger = app.get('logger'); app.post('/api/upload', async (req, res) => { // only for testing, very abusable if (!req.files) return res.status(400).send('No files were given'); - if (!req.session.uuid) return res.status(401).send('Not authorized'); + if (!req.session.uuid) return res.status(401).send('Not authorized, use /discordauth'); + + const user = (await User.find({uuid: req.session.uuid}))[0]; + if (!user) return res.status(401).send('User doesn\'t exist, try re-logging in'); + if (!user.get('approvedUpload')) return res.status(403).send('Your account is not allowed to upload files! Contact a moderator to verify your account'); const file = req.files.file;