Creating User Database
// app.js var createError = require('http-errors'); var express = require('express'); var path = require('path'); var cookieParser = require('cookie-parser'); var logger = require('morgan'); const mongoose = require('mongoose'); const vdict = require('./config'); const databaseAccess = vdict.databaseAccess; mongoose.connect(databaseAccess, {useNewUrlParser: true, useUnifiedTopology: true}); process.env.TZ = "Asia/Phnom_Penh"; var indexRouter = require('./routes/index'); var usersRouter = require('./routes/users'); var app = express(); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); app.use(logger('dev')); app.use(express.json()); app.use(express.urlencoded({ extended: false })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); app.use('/', indexRouter); app.use('/users', usersRouter); // catch 404 and forward to error handler app.use(function(req, res, next) { next(createError(404)); }); // error handler app.use(function(err, req, res, next) { // set locals, only providing error in development res.locals.message = err.message; res.locals.error = req.app.get('env') === 'development' ? err : {}; // render the error page res.status(err.status || 500); res.render('error'); }); module.exports = app;
// routes/users.js const express = require('express'); const vdict = require('../config'); const router = express.Router(); const usersdb = require('../models/usersdb') router.get('/', function(req, res, next) { res.render('login', vdict); }); module.exports = router;
// models/usersdb.js class Usersdb{ constructor(){ const mongoose = require('mongoose'); const usersSchema = new mongoose.Schema({ name: {type: String, required: true}, email: {type: String, required: true}, role: {type: String, required: true} }); const users = mongoose.model('users', usersSchema); this.users = users; users.findOne(function (err, user){ if (err) return console.error(err); if(!user){ const root = new users({name:'root', email:'root@multimedia.com', role:'Admin'}); root.save(function (err, root){ if (err) return console.error(err); }); } }); } }//end class const usersdb = new Usersdb(); module.exports = usersdb;
GitHub: "https://github.com/Sokhavuth/multimedia
Heroku: https://khmerweb-multimedia.herokuapp.com/
Comments
Post a Comment