const { response } = require("express");
const express = require("express");
const app = express();
const {Router} = require('express');
const common_router = Router();
const user_router = Router();
//подключение движка handle bars
const exphbs = require('express-handlebars');
const port = 3000;
const routerController = require('./controllers/routerController.js');
const userController = require('./controllers/userController.js');
/*
подключаем multer
*/
const multer = require('multer');
const upload = multer({dest: 'uploads/'});
//общие адреса
common_router.get('/', routerController.index);
common_router.get('/about', routerController.about);
common_router.get('/contact',
routerController.contact);
/*common_router.get('/upload', routerController.upload);*/
//cопоставляем роутер с конечной точкой /
app.use('/', common_router);
//множество адресов /users
user_router.use('/create', userController.addUser);
user_router.use('/', userController.getUsers);
//сопоставляем роутер с конечной точкой /users
app.use('/users', user_router);
//обработка ошибки 404
app.use((req, res, next) => {
res.status(404).send('Not Found');
})
/*
Настройки движка представлений hbs
*/
const hbs = exphbs.create({
defaultLayout: 'main',
extname: 'hbs'
});
/*
регистрация движка handlebars по ключу hbs
*/
app.engine('hbs', hbs.engine);
//указываем, что по умолчанию будем использовать handlebars
app.set('view engine', 'hbs');
//регистрируем папку с представлениями для сайта
app.set('views', 'views');
/*
Используем multer для получения отправленного файла
*/
app.use(multer({dest:"uploads"}).single("filedata"));
common_router.get('/upload', routerController.upload);
common_router.post('/upload', upload.single("filedata"), (req, res, next) => {
console.log('Результат response');
console.log(res);
console.log('Результат request');
console.log(req);
})
app.listen(port, () => {
console.log('Server has been started...');
});