diff --git a/dist/assets/images/1722641407525.jpg b/dist/assets/images/1722641407525.jpg new file mode 100644 index 0000000..284c96d Binary files /dev/null and b/dist/assets/images/1722641407525.jpg differ diff --git a/dist/config.js b/dist/config.js index 65d96fe..55946c2 100644 --- a/dist/config.js +++ b/dist/config.js @@ -5,8 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) { Object.defineProperty(exports, "__esModule", { value: true }); const express_1 = __importDefault(require("express")); const dotenv_1 = __importDefault(require("dotenv")); -const database_service_1 = __importDefault(require("./services/database.service")); dotenv_1.default.config(); +const database_service_1 = __importDefault(require("./services/database.service")); class Config { PORT = Number(process.env.PORT) || 3000; app = (0, express_1.default)(); diff --git a/dist/routes/index.route.js b/dist/routes/index.route.js index 931035e..ec4d7f2 100644 --- a/dist/routes/index.route.js +++ b/dist/routes/index.route.js @@ -1,12 +1,25 @@ "use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); const express_1 = require("express"); const photo_model_1 = require("../models/photo.model"); +const multer_1 = __importDefault(require("multer")); +const path_1 = __importDefault(require("path")); const router = (0, express_1.Router)(); +const storage = multer_1.default.diskStorage({ + destination: (req, file, cb) => { + cb(null, path_1.default.join(__dirname, '../assets/images')); + }, + filename: (req, file, cb) => { + cb(null, Date.now() + path_1.default.extname(file.originalname)); + } +}); +const upload = (0, multer_1.default)({ storage: storage }); router.get('/', async (req, res, next) => { try { const photos = await photo_model_1.Photo.find(); - /** @TODO Render Existing Photos in index.ejs */ res.render('index', { photos }); } catch (err) { @@ -14,11 +27,14 @@ router.get('/', async (req, res, next) => { next(err); } }); -router.post('/', -/** @TODO Add multer middleware */ -async (req, res, next) => { +router.post('/', upload.single('file'), async (req, res, next) => { try { - /** @TODO Save Photo in database */ + console.log(req.file); + const newPhoto = new photo_model_1.Photo({ + path: req.file?.filename, + title: req.body.title + }); + await newPhoto.save(); res.redirect('/'); } catch (err) { diff --git a/dist/views/index.ejs b/dist/views/index.ejs index 2259ea9..5977b09 100644 --- a/dist/views/index.ejs +++ b/dist/views/index.ejs @@ -30,33 +30,36 @@

Gallery