diff --git a/config/routes/api.js b/config/routes/api.js index e69de29..6a21a60 100644 --- a/config/routes/api.js +++ b/config/routes/api.js @@ -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: 'Такой категории не существует.'}); + }) +} \ No newline at end of file diff --git a/config/server.js b/config/server.js index d1efbee..ae46de9 100644 --- a/config/server.js +++ b/config/server.js @@ -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'));