added cors

This commit is contained in:
leca 2023-11-18 14:12:46 +03:00
parent 0b3a178715
commit ce72dd40a8
3 changed files with 28 additions and 3 deletions

21
package-lock.json generated
View File

@ -12,6 +12,7 @@
"@vitejs/plugin-vue": "^4.4.1", "@vitejs/plugin-vue": "^4.4.1",
"axios": "^1.6.1", "axios": "^1.6.1",
"bcryptjs": "^2.4.3", "bcryptjs": "^2.4.3",
"cors": "^2.8.5",
"dotenv": "^16.3.1", "dotenv": "^16.3.1",
"ejs": "^3.1.9", "ejs": "^3.1.9",
"express": "^4.18.2", "express": "^4.18.2",
@ -779,6 +780,18 @@
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
"integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
}, },
"node_modules/cors": {
"version": "2.8.5",
"resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
"integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
"dependencies": {
"object-assign": "^4",
"vary": "^1"
},
"engines": {
"node": ">= 0.10"
}
},
"node_modules/csstype": { "node_modules/csstype": {
"version": "3.1.2", "version": "3.1.2",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
@ -1531,6 +1544,14 @@
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/object-inspect": { "node_modules/object-inspect": {
"version": "1.13.1", "version": "1.13.1",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",

View File

@ -7,7 +7,8 @@
"dev": "nodemon src/index.js & vite --host", "dev": "nodemon src/index.js & vite --host",
"build": "vite build", "build": "vite build",
"preview": "vite preview", "preview": "vite preview",
"start": "node src/index.js & vite --host" "start": "node src/index.js & vite --host",
"back": "nodemon src/index.js"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@ -22,6 +23,7 @@
"@vitejs/plugin-vue": "^4.4.1", "@vitejs/plugin-vue": "^4.4.1",
"axios": "^1.6.1", "axios": "^1.6.1",
"bcryptjs": "^2.4.3", "bcryptjs": "^2.4.3",
"cors": "^2.8.5",
"dotenv": "^16.3.1", "dotenv": "^16.3.1",
"ejs": "^3.1.9", "ejs": "^3.1.9",
"express": "^4.18.2", "express": "^4.18.2",

View File

@ -6,6 +6,7 @@ const MemoryStore = require('memorystore')(session);
const fs = require('fs'); const fs = require('fs');
const bcrypt = require('bcryptjs'); const bcrypt = require('bcryptjs');
// const fileupload = require('express-fileupload'); // const fileupload = require('express-fileupload');
const cors = require('cors');
const app = express(); const app = express();
@ -50,7 +51,7 @@ let tokens = {};
app.use(express.urlencoded({ extended: true })) app.use(express.urlencoded({ extended: true }))
app.use(express.json()) app.use(express.json())
app.use(cors());
app.use(session({ app.use(session({
secret: process.env.SESSION_SECRET, secret: process.env.SESSION_SECRET,
@ -150,6 +151,7 @@ app.get('/api/getBoards', async (req, res) => {
res.setHeader('Content-Type', 'application/json'); res.setHeader('Content-Type', 'application/json');
res.end(JSON.stringify(queryRes.rows)); res.end(JSON.stringify(queryRes.rows));
// res.json(JSON.stringify(queryRes.rows));
}); });
app.post('/api/login', async (req, res) => { app.post('/api/login', async (req, res) => {
@ -209,7 +211,7 @@ app.listen(process.env.APP_PORT, () => {
const validateThread = (threadName, isLocked, isPinned, content, options, boardOptions, isAdmin) => { const validateThread = (threadName, isLocked, isPinned, content, options, boardOptions, isAdmin) => {
if ((isPinned || isLocked) && !isAdmin) return "Нет прав на выставление админских флагов"; if ((isPinned || isLocked) && !isAdmin) return "Нет прав на выставление админских флагов";
if (!content) return "Нельзя создать тред без текста"; if (!content && boardOptions.requireContentForThreadCreation) return "Нельзя создать тред без текста";
//TODO: check if image is required //TODO: check if image is required
return 'ok' return 'ok'