mirror of
https://github.com/sergeyyarkov/digital-store.git
synced 2026-10-11 10:19:15 +03:00
http status
This commit is contained in:
parent
83a176543d
commit
d482f0bf43
@ -9,9 +9,14 @@ function checkAuthenticated(req, res, next) {
|
|||||||
module.exports = function(server, db) {
|
module.exports = function(server, db) {
|
||||||
server.get('/api/items', async (req, res) => {
|
server.get('/api/items', async (req, res) => {
|
||||||
if (req.query.q) {
|
if (req.query.q) {
|
||||||
|
try {
|
||||||
const items = await db.collection('items').find({title: {$regex: req.query.q, $options: "i"}}, {limit: 5}).toArray();
|
const items = await db.collection('items').find({title: {$regex: req.query.q, $options: "i"}}, {limit: 5}).toArray();
|
||||||
res.json(items);
|
res.json(items);
|
||||||
|
} catch {
|
||||||
|
res.status(500).render('main/404');
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
|
try {
|
||||||
const items = await db.collection('items').find({}).toArray(),
|
const items = await db.collection('items').find({}).toArray(),
|
||||||
info = await db.collection('info').find({}).toArray(),
|
info = await db.collection('info').find({}).toArray(),
|
||||||
sortBy = req.query.sorting;
|
sortBy = req.query.sorting;
|
||||||
@ -19,7 +24,13 @@ module.exports = function(server, db) {
|
|||||||
|
|
||||||
if (items.length > 0) {
|
if (items.length > 0) {
|
||||||
// устанавливаем count для каждого товара.
|
// устанавливаем count для каждого товара.
|
||||||
info.forEach(info => db.collection('items').updateOne({"_id": ObjectID(info._id)}, {$set: {count: info.data.length}}));
|
info.forEach(info => db.collection('items').updateOne({
|
||||||
|
"_id": ObjectID(info._id)
|
||||||
|
}, {
|
||||||
|
$set: {
|
||||||
|
count: info.data.length
|
||||||
|
}
|
||||||
|
}));
|
||||||
switch (sortBy) {
|
switch (sortBy) {
|
||||||
case 'ascending':
|
case 'ascending':
|
||||||
res.json(items.sort((a, b) => a.price - b.price));
|
res.json(items.sort((a, b) => a.price - b.price));
|
||||||
@ -37,9 +48,13 @@ module.exports = function(server, db) {
|
|||||||
res.json(items);
|
res.json(items);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else res.send({error: 'Товаров в магазине пока что нет.'});
|
} else res.send({
|
||||||
|
error: 'Товаров в магазине пока что нет.'
|
||||||
|
});
|
||||||
|
} catch {
|
||||||
|
res.status(500).render('main/404');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
server.get('/api/items/page/:page', async (req, res) => {
|
server.get('/api/items/page/:page', async (req, res) => {
|
||||||
@ -48,8 +63,8 @@ module.exports = function(server, db) {
|
|||||||
limit = 5,
|
limit = 5,
|
||||||
items = await db.collection('items').find({}, {skip: limit * (page - 1), limit}).toArray();
|
items = await db.collection('items').find({}, {skip: limit * (page - 1), limit}).toArray();
|
||||||
items.length > 0 && !isNaN(page) ? res.json(items) : res.json({error: 'Такой страницы не существует.'});
|
items.length > 0 && !isNaN(page) ? res.json(items) : res.json({error: 'Такой страницы не существует.'});
|
||||||
} catch (error) {
|
} catch {
|
||||||
res.render('main/404');
|
res.status(500).render('main/404');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -57,8 +72,8 @@ module.exports = function(server, db) {
|
|||||||
try {
|
try {
|
||||||
const data = await db.collection('info').find({}).toArray();
|
const data = await db.collection('info').find({}).toArray();
|
||||||
res.json(data);
|
res.json(data);
|
||||||
} catch (error) {
|
} catch {
|
||||||
res.render('main/404');
|
res.status(500).render('main/404');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -66,8 +81,8 @@ module.exports = function(server, db) {
|
|||||||
try {
|
try {
|
||||||
const buyers = await db.collection('buyers').find({}).toArray();
|
const buyers = await db.collection('buyers').find({}).toArray();
|
||||||
res.json(buyers);
|
res.json(buyers);
|
||||||
} catch (error) {
|
} catch {
|
||||||
res.render('main/404');
|
res.status(500).render('main/404');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -75,8 +90,8 @@ module.exports = function(server, db) {
|
|||||||
try {
|
try {
|
||||||
const buyers = await db.collection('buyers').find({bill_id: req.params.bill_id}).toArray();
|
const buyers = await db.collection('buyers').find({bill_id: req.params.bill_id}).toArray();
|
||||||
res.json(buyers);
|
res.json(buyers);
|
||||||
} catch (error) {
|
} catch {
|
||||||
res.render('main/404');
|
res.status(500).render('main/404');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -86,13 +101,16 @@ module.exports = function(server, db) {
|
|||||||
limit = 5,
|
limit = 5,
|
||||||
buyers = await db.collection('buyers').find({}, {skip: limit * (page - 1), limit}).toArray();
|
buyers = await db.collection('buyers').find({}, {skip: limit * (page - 1), limit}).toArray();
|
||||||
buyers.length > 0 && !isNaN(page) ? res.json(buyers) : res.json({error: 'Такой страницы не существует.'});
|
buyers.length > 0 && !isNaN(page) ? res.json(buyers) : res.json({error: 'Такой страницы не существует.'});
|
||||||
} catch (error) {
|
} catch {
|
||||||
res.render('main/404');
|
res.status(500).render('main/404');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
server.get('/api/items/:category', async (req, res) => {
|
server.get('/api/items/:category', async (req, res) => {
|
||||||
const items = await db.collection('items').find({category: req.params.category}).toArray(),
|
try {
|
||||||
|
const items = await db.collection('items').find({
|
||||||
|
category: req.params.category
|
||||||
|
}).toArray(),
|
||||||
sortBy = req.query.sorting;
|
sortBy = req.query.sorting;
|
||||||
|
|
||||||
if (items.length > 0) {
|
if (items.length > 0) {
|
||||||
@ -113,21 +131,38 @@ module.exports = function(server, db) {
|
|||||||
res.json(items);
|
res.json(items);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else res.send({error: 'Товаров в магазине пока что нет.'});
|
} else res.send({
|
||||||
|
error: 'Товаров в магазине пока что нет.'
|
||||||
|
});
|
||||||
|
} catch {
|
||||||
|
res.status(500).render('main/404');
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
server.get('/api/categories', async (req, res) => {
|
server.get('/api/categories', async (req, res) => {
|
||||||
|
try {
|
||||||
const categories = await db.collection('categories').find({}).toArray();
|
const categories = await db.collection('categories').find({}).toArray();
|
||||||
categories.length > 0 ? res.send(categories) : res.send({error: 'Категорий в магазине пока что нет.'})
|
categories.length > 0 ? res.json(categories) : res.send({error: 'Категорий в магазине пока что нет.'});
|
||||||
|
} catch {
|
||||||
|
res.status(500).render('main/404');
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
server.get('/api/category/:category', async (req, res) => {
|
server.get('/api/category/:category', async (req, res) => {
|
||||||
|
try {
|
||||||
const category = await db.collection('categories').find({title: req.params.category}).toArray();
|
const category = await db.collection('categories').find({title: req.params.category}).toArray();
|
||||||
category.length > 0 ? res.send(category) : res.send({error: 'Такой категории не существует.'});
|
category.length > 0 ? res.json(category) : res.send({error: 'Такой категории не существует.'});
|
||||||
|
} catch {
|
||||||
|
res.status(500).render('main/404');
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
server.get('/api/icons', checkAuthenticated, (req, res) => {
|
server.get('/api/icons', checkAuthenticated, (req, res) => {
|
||||||
|
try {
|
||||||
const icons = fs.readdirSync('dist/public/img/service-icons');
|
const icons = fs.readdirSync('dist/public/img/service-icons');
|
||||||
res.json(icons);
|
res.json(icons);
|
||||||
|
} catch {
|
||||||
|
res.status(500).render('main/404');
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -52,9 +52,8 @@ module.exports = function (server, db) {
|
|||||||
quantitySold: quantitySold(),
|
quantitySold: quantitySold(),
|
||||||
count: itemsAmount()
|
count: itemsAmount()
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch {
|
||||||
console.log(error);
|
res.status(500).render('main/404');
|
||||||
res.render('main/404');
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
server.get('/control-panel/items', checkAuthenticated, async (req, res) => {
|
server.get('/control-panel/items', checkAuthenticated, async (req, res) => {
|
||||||
@ -71,8 +70,8 @@ module.exports = function (server, db) {
|
|||||||
pageName: ['Товары', 'items'],
|
pageName: ['Товары', 'items'],
|
||||||
count: count / 2
|
count: count / 2
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch {
|
||||||
res.render('main/404');
|
res.status(500).render('main/404');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
server.get('/control-panel/categories', checkAuthenticated, async (req, res) => {
|
server.get('/control-panel/categories', checkAuthenticated, async (req, res) => {
|
||||||
@ -87,8 +86,8 @@ module.exports = function (server, db) {
|
|||||||
pageName: ['Категории', 'categories'],
|
pageName: ['Категории', 'categories'],
|
||||||
categoriesCount: categories.length
|
categoriesCount: categories.length
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch {
|
||||||
res.render('main/404');
|
res.status(500).render('main/404');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
server.get('/control-panel/icons', checkAuthenticated, async (req, res) => {
|
server.get('/control-panel/icons', checkAuthenticated, async (req, res) => {
|
||||||
@ -101,8 +100,8 @@ module.exports = function (server, db) {
|
|||||||
host: req.headers.host,
|
host: req.headers.host,
|
||||||
pageName: ['Иконки', 'icons']
|
pageName: ['Иконки', 'icons']
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch {
|
||||||
res.render('main/404');
|
res.status(500).render('main/404');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
server.get('/control-panel/content', checkAuthenticated, async (req, res) => {
|
server.get('/control-panel/content', checkAuthenticated, async (req, res) => {
|
||||||
@ -116,14 +115,15 @@ module.exports = function (server, db) {
|
|||||||
pageName: ['Контент', 'content'],
|
pageName: ['Контент', 'content'],
|
||||||
store: {
|
store: {
|
||||||
title: store.title,
|
title: store.title,
|
||||||
|
email: store.email,
|
||||||
info: store.info,
|
info: store.info,
|
||||||
infoBottom: store.infoBottom,
|
infoBottom: store.infoBottom,
|
||||||
howToBuy: store.howToBuy,
|
howToBuy: store.howToBuy,
|
||||||
contacts: store.contacts
|
contacts: store.contacts
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch {
|
||||||
res.render('main/404');
|
res.status(500).render('main/404');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
server.get('/control-panel/administrators', checkAuthenticated, async (req, res) => {
|
server.get('/control-panel/administrators', checkAuthenticated, async (req, res) => {
|
||||||
@ -137,8 +137,8 @@ module.exports = function (server, db) {
|
|||||||
host: req.headers.host,
|
host: req.headers.host,
|
||||||
pageName: ['Администраторы', 'administrators'],
|
pageName: ['Администраторы', 'administrators'],
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch {
|
||||||
res.render('main/404');
|
res.status(500).render('main/404');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -154,7 +154,7 @@ module.exports = function (server, db) {
|
|||||||
db.collection('categories').insertOne(data);
|
db.collection('categories').insertOne(data);
|
||||||
res.redirect('/control-panel/categories');
|
res.redirect('/control-panel/categories');
|
||||||
} catch {
|
} catch {
|
||||||
res.render('main/404');
|
res.status(500).render('main/404');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
server.post('/control-panel/categories/delete', checkAuthenticated, (req, res) => {
|
server.post('/control-panel/categories/delete', checkAuthenticated, (req, res) => {
|
||||||
@ -162,9 +162,8 @@ module.exports = function (server, db) {
|
|||||||
const data = JSON.parse(req.body.category);
|
const data = JSON.parse(req.body.category);
|
||||||
db.collection('categories').deleteOne({"_id": ObjectID(data.id)});
|
db.collection('categories').deleteOne({"_id": ObjectID(data.id)});
|
||||||
res.redirect('/control-panel/categories');
|
res.redirect('/control-panel/categories');
|
||||||
} catch (error) {
|
} catch {
|
||||||
console.log(error);
|
res.status(500).render('main/404');
|
||||||
res.render('main/404');
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
server.post('/control-panel/categories/update', checkAuthenticated, (req, res) => {
|
server.post('/control-panel/categories/update', checkAuthenticated, (req, res) => {
|
||||||
@ -180,8 +179,8 @@ module.exports = function (server, db) {
|
|||||||
db.collection('categories').updateOne({"_id": ObjectID(data.id)}, {$set: {title: data.title, img: data.img, type: data.type, format: data.format}});
|
db.collection('categories').updateOne({"_id": ObjectID(data.id)}, {$set: {title: data.title, img: data.img, type: data.type, format: data.format}});
|
||||||
db.collection('items').updateMany({"category": data.originalTitle}, {$set: {category: data.title}});
|
db.collection('items').updateMany({"category": data.originalTitle}, {$set: {category: data.title}});
|
||||||
res.redirect('/control-panel/categories');
|
res.redirect('/control-panel/categories');
|
||||||
} catch (error) {
|
} catch {
|
||||||
res.render('main/404');
|
res.status(500).render('main/404');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -189,8 +188,8 @@ module.exports = function (server, db) {
|
|||||||
server.post('/control-panel/icons/create', checkAuthenticated, (req, res) => {
|
server.post('/control-panel/icons/create', checkAuthenticated, (req, res) => {
|
||||||
try {
|
try {
|
||||||
res.redirect('/control-panel/icons');
|
res.redirect('/control-panel/icons');
|
||||||
} catch (error) {
|
} catch {
|
||||||
res.render('main/404');
|
res.status(500).render('main/404');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
server.post('/control-panel/icons/delete', checkAuthenticated, (req, res) => {
|
server.post('/control-panel/icons/delete', checkAuthenticated, (req, res) => {
|
||||||
@ -198,8 +197,8 @@ module.exports = function (server, db) {
|
|||||||
try {
|
try {
|
||||||
fs.unlinkSync(path);
|
fs.unlinkSync(path);
|
||||||
res.redirect('/control-panel/icons');
|
res.redirect('/control-panel/icons');
|
||||||
} catch (error) {
|
} catch {
|
||||||
res.render('main/404');
|
res.status(500).render('main/404');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -226,8 +225,8 @@ module.exports = function (server, db) {
|
|||||||
db.collection('info').insertOne(info);
|
db.collection('info').insertOne(info);
|
||||||
db.collection('items').insertOne(item);
|
db.collection('items').insertOne(item);
|
||||||
res.redirect('/control-panel/items');
|
res.redirect('/control-panel/items');
|
||||||
} catch (error) {
|
} catch {
|
||||||
res.render('main/404');
|
res.status(500).render('main/404');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
server.post('/control-panel/items/delete', checkAuthenticated, (req, res) => {
|
server.post('/control-panel/items/delete', checkAuthenticated, (req, res) => {
|
||||||
@ -236,7 +235,7 @@ module.exports = function (server, db) {
|
|||||||
db.collection('items').deleteOne({"_id": id});
|
db.collection('items').deleteOne({"_id": id});
|
||||||
db.collection('info').deleteOne({"_id": id});
|
db.collection('info').deleteOne({"_id": id});
|
||||||
res.redirect('/control-panel/items');
|
res.redirect('/control-panel/items');
|
||||||
} catch (error) {
|
} catch {
|
||||||
res.render('main/404');
|
res.render('main/404');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -253,8 +252,8 @@ module.exports = function (server, db) {
|
|||||||
db.collection('items').updateOne({"_id": ObjectID(data.id)}, {$set: {title: data.title, price: data.price, description: data.description, category: data.category.title}});
|
db.collection('items').updateOne({"_id": ObjectID(data.id)}, {$set: {title: data.title, price: data.price, description: data.description, category: data.category.title}});
|
||||||
db.collection('info').updateOne({"_id": ObjectID(data.id)}, {$set: {title: data.title, data: data.info}});
|
db.collection('info').updateOne({"_id": ObjectID(data.id)}, {$set: {title: data.title, data: data.info}});
|
||||||
res.redirect('/control-panel/items');
|
res.redirect('/control-panel/items');
|
||||||
} catch (error) {
|
} catch {
|
||||||
res.render('main/404');
|
res.status(500).render('main/404');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -264,14 +263,15 @@ module.exports = function (server, db) {
|
|||||||
const data = {
|
const data = {
|
||||||
title: req.body.title,
|
title: req.body.title,
|
||||||
info: req.body.info,
|
info: req.body.info,
|
||||||
|
email: req.body.email,
|
||||||
infoBottom: req.body.infoBottom,
|
infoBottom: req.body.infoBottom,
|
||||||
howToBuy: req.body.howToBuy,
|
howToBuy: req.body.howToBuy,
|
||||||
contacts: req.body.contacts
|
contacts: req.body.contacts
|
||||||
}
|
}
|
||||||
db.collection('content').updateOne({}, {$set: {title: data.title, info: data.info, infoBottom: data.infoBottom, howToBuy: data.howToBuy, contacts: data.contacts}});
|
db.collection('content').updateOne({}, {$set: {title: data.title, email: data.email, info: data.info, infoBottom: data.infoBottom, howToBuy: data.howToBuy, contacts: data.contacts}});
|
||||||
res.redirect('/control-panel/content');
|
res.redirect('/control-panel/content');
|
||||||
} catch (error) {
|
} catch {
|
||||||
res.render('main/404');
|
res.status(500).render('main/404');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -286,7 +286,7 @@ module.exports = function (server, db) {
|
|||||||
newPass: req.body.newPass
|
newPass: req.body.newPass
|
||||||
}
|
}
|
||||||
const admin = await db.collection('administrators').findOne({id: data.id});
|
const admin = await db.collection('administrators').findOne({id: data.id});
|
||||||
if(await bcrypt.compare(data.oldPass, admin.password)) {
|
if (await bcrypt.compare(data.oldPass, admin.password)) {
|
||||||
const hashedPassword = await bcrypt.hash(data.newPass, 10);
|
const hashedPassword = await bcrypt.hash(data.newPass, 10);
|
||||||
db.collection('administrators').updateOne({id: data.id}, {$set: {name: data.name, email: data.email, password: hashedPassword}});
|
db.collection('administrators').updateOne({id: data.id}, {$set: {name: data.name, email: data.email, password: hashedPassword}});
|
||||||
req.user.name = data.name;
|
req.user.name = data.name;
|
||||||
@ -294,8 +294,8 @@ module.exports = function (server, db) {
|
|||||||
req.user.password = hashedPassword;
|
req.user.password = hashedPassword;
|
||||||
res.send('Данные успешно изменены.');
|
res.send('Данные успешно изменены.');
|
||||||
} else res.send('Неверный пароль.');
|
} else res.send('Неверный пароль.');
|
||||||
} catch (error) {
|
} catch {
|
||||||
res.render('main/404');
|
res.status(500).render('main/404');
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -17,8 +17,8 @@ module.exports = function (server, db) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch {
|
||||||
res.render('main/404');
|
res.status(500).render('main/404');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
server.get('/how-to-buy', async (req, res) => {
|
server.get('/how-to-buy', async (req, res) => {
|
||||||
@ -32,8 +32,8 @@ module.exports = function (server, db) {
|
|||||||
howToBuy: store.howToBuy
|
howToBuy: store.howToBuy
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch {
|
||||||
res.send('main/404');
|
res.status(500).render('main/404');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
server.get('/contacts', async (req, res) => {
|
server.get('/contacts', async (req, res) => {
|
||||||
@ -47,8 +47,8 @@ module.exports = function (server, db) {
|
|||||||
contacts: store.contacts
|
contacts: store.contacts
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch {
|
||||||
res.send('main/404');
|
res.status(500).render('main/404');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
server.get('/comments', async (req, res) => {
|
server.get('/comments', async (req, res) => {
|
||||||
@ -61,8 +61,8 @@ module.exports = function (server, db) {
|
|||||||
title: store.title
|
title: store.title
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch {
|
||||||
res.render('main/404');
|
res.status(500).render('main/404');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
server.get('/my-orders', async (req, res) => {
|
server.get('/my-orders', async (req, res) => {
|
||||||
@ -75,8 +75,8 @@ module.exports = function (server, db) {
|
|||||||
title: store.title
|
title: store.title
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch {
|
||||||
res.render('main/404');
|
res.status(500).render('main/404');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
server.get('/product/:id', async (req, res) => {
|
server.get('/product/:id', async (req, res) => {
|
||||||
@ -118,7 +118,7 @@ module.exports = function (server, db) {
|
|||||||
});
|
});
|
||||||
}))
|
}))
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
res.render('main/404');
|
res.status(500).render('main/404');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,8 +2,9 @@ const ObjectID = require('mongodb').ObjectID;
|
|||||||
const nodemailer = require('../nodemailer.config');
|
const nodemailer = require('../nodemailer.config');
|
||||||
|
|
||||||
module.exports = function(server, db, qiwiApi) {
|
module.exports = function(server, db, qiwiApi) {
|
||||||
server.get('/success', (req, res) => {
|
server.get('/success', async (req, res) => {
|
||||||
const query = req.query;
|
const store = await db.collection('content').findOne({}),
|
||||||
|
query = req.query;
|
||||||
|
|
||||||
// qiwi
|
// qiwi
|
||||||
if (query.bill_id && query.item_id && query.payment === 'qiwi') {
|
if (query.bill_id && query.item_id && query.payment === 'qiwi') {
|
||||||
@ -53,12 +54,11 @@ module.exports = function(server, db, qiwiApi) {
|
|||||||
res.send('Время жизни счета истекло. Счет не оплачен');
|
res.send('Время жизни счета истекло. Счет не оплачен');
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch(() => {
|
||||||
console.log(error);
|
res.render('main/failure', {email: store.email});
|
||||||
res.render('main/404');
|
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
res.render('main/404');
|
res.status(404).render('main/404');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
2
dist/public/js/admin.js
vendored
2
dist/public/js/admin.js
vendored
File diff suppressed because one or more lines are too long
2
dist/public/js/main.js
vendored
2
dist/public/js/main.js
vendored
File diff suppressed because one or more lines are too long
3
dist/views/admin/content.pug
vendored
3
dist/views/admin/content.pug
vendored
@ -17,6 +17,9 @@ body.has-fixed-sidenav
|
|||||||
.input-field.col.s12
|
.input-field.col.s12
|
||||||
input(id="title" type="text" name="title" value=store.title)
|
input(id="title" type="text" name="title" value=store.title)
|
||||||
label(for="title") Название магазина
|
label(for="title") Название магазина
|
||||||
|
.input-field.col.s12
|
||||||
|
input(id="email" type="email" name="email" value=store.email)
|
||||||
|
label(for="email") Почта службы поддержки
|
||||||
.input-field.col.s12
|
.input-field.col.s12
|
||||||
textarea(id="contacts" class="materialize-textarea" type="text" name="contacts") #{store.contacts}
|
textarea(id="contacts" class="materialize-textarea" type="text" name="contacts") #{store.contacts}
|
||||||
label(for="contacts") Контакты магазина
|
label(for="contacts") Контакты магазина
|
||||||
|
|||||||
10
dist/views/main/failure.pug
vendored
Normal file
10
dist/views/main/failure.pug
vendored
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
//- Head HTML
|
||||||
|
include ./assets/head.pug
|
||||||
|
|
||||||
|
main.main-section
|
||||||
|
.container
|
||||||
|
.row
|
||||||
|
.col.s12
|
||||||
|
h1(style="margin-top: 2rem;font-size:70px;margin-bottom:2rem;") Произошла непредвиденная ошибка.
|
||||||
|
p Напишите в службу поддержки по адресу #{email}
|
||||||
|
a(href="/") Вернуться на главную.
|
||||||
Loading…
x
Reference in New Issue
Block a user