based api refactor

This commit is contained in:
Sergey Yarkov 2019-12-19 22:24:53 +03:00
parent b0caa26e3e
commit e634650119
2 changed files with 20 additions and 0 deletions

View File

@ -0,0 +1,18 @@
module.exports = function(server, db) {
server.get('/api/v1/items', async (req, res) => {
const items = await db.collection('items').find({}).toArray();
items.length > 0 ? res.send(items) : res.send({error: 'Товаров в магазине пока что нет.'});
});
server.get('/api/v1/items/:category', async (req, res) => {
const items = await db.collection('items').find({category: req.params.category}).toArray();
items.length > 0 ? res.send(items) : res.send({error: 'Такой категории не существует или там нет товаров.'});
});
server.get('/api/v1/categories', async (req, res) => {
const categories = await db.collection('categories').find({}).toArray();
categories.length > 0 ? res.send(categories) : res.send({error: 'Категорий в магазине пока что нет.'})
});
server.get('/api/v1/categories/:category', async (req, res) => {
const category = await db.collection('categories').find({title: req.params.category}).toArray();
category.length > 0 ? res.send(category) : res.send({error: 'Такой категории не существует.'});
})
}

View File

@ -35,6 +35,7 @@ MongoClient.connect(db_config.url, {useNewUrlParser: true, useUnifiedTopology: t
server.use(session({secret: process.env.SESSION_SECRET,resave: false,saveUninitialized: false}));
server.use(passport.initialize());
server.use(passport.session());
///server.use(express.json());
server.use(methodOverride('_method'));
server.set('view engine', 'pug');
server.set('views', path.join(__dirname, '../dist/views'));
@ -43,6 +44,7 @@ MongoClient.connect(db_config.url, {useNewUrlParser: true, useUnifiedTopology: t
require('./routes/main')(server, db); // маршруты сайта
require('./routes/admin')(server, db); // маршрут с формой авторизации админа
require('./routes/control-panel')(server, db); // маршруты с панелью управления
require('./routes/api')(server, db); // rest api
// 404 Redirect
server.use((req, res) => res.status(404).render('main/404'));