76 lines
1.7 KiB
JavaScript
76 lines
1.7 KiB
JavaScript
const express = require("express");
|
|
const cors = require("cors");
|
|
const db = require("./app/models");
|
|
const Role = db.role;
|
|
|
|
const app = express();
|
|
|
|
var corsOptions = {
|
|
origin: "http://localhost:8080"
|
|
};
|
|
|
|
app.use(cors(corsOptions));
|
|
|
|
// parse requests of content-type - application/json
|
|
app.use(express.json());
|
|
|
|
// parse requests of content-type - application/x-www-form-urlencoded
|
|
app.use(express.urlencoded({ extended: true }));
|
|
app.use(express.static('public'));
|
|
|
|
// simple route
|
|
//app.get("/getd", (req, res) => {
|
|
// res.json({ message: "ljdp." });
|
|
//});
|
|
|
|
// routes
|
|
require('./app/routes/auth.routes')(app);
|
|
require('./app/routes/user.routes')(app);
|
|
|
|
// db
|
|
db.mongoose
|
|
.connect(`mongodb+srv://quoije:[email protected]/?retryWrites=true&w=majority`, {
|
|
useNewUrlParser: true,
|
|
useUnifiedTopology: true
|
|
})
|
|
.then(() => {
|
|
console.log("yay mongodb");
|
|
initial();
|
|
})
|
|
.catch(err => {
|
|
console.error("connection à RIP :(", err);
|
|
});
|
|
|
|
function initial() {
|
|
Role.estimatedDocumentCount((err, count) => {
|
|
if (!err && count === 0) {
|
|
new Role({
|
|
name: "user"
|
|
}).save(err => {
|
|
if (err) {
|
|
console.log("error", err);
|
|
}
|
|
|
|
console.log("added 'user' to roles collection");
|
|
});
|
|
|
|
new Role({
|
|
name: "admin"
|
|
}).save(err => {
|
|
if (err) {
|
|
console.log("error", err);
|
|
}
|
|
|
|
console.log("added 'admin' to roles collection");
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
// set port, listen for requests
|
|
const PORT = process.env.PORT || 8080;
|
|
app.listen(PORT, () => {
|
|
console.log(`server started at http://localhost:${PORT}.`);
|
|
});
|