· 5 years ago · Sep 08, 2020, 11:26 PM
1//Importing
2import express from 'express';
3import mongoose from 'mongoose';
4import Messages from "./dbMessages.js";
5import Pusher from "pusher";
6
7//App Config
8const app = express();
9const port = process.env.PORT || 9000;
10
11const pusher = new Pusher({
12 appId: '1069450',
13 key: 'b3599bcf5afe8a29d613',
14 secret: 'ea4ba74014202d8f1000',
15 cluster: 'eu',
16 useTLS: true,
17});
18
19//Middleware
20app.use(express.json());
21
22
23//DB Config
24const connection_url = "mongodb+srv://admin:(yourPassword)@cluster0.l0poh.mongodb.net/(appName)?retryWrites=true&w=majority";
25
26mongoose.connect(connection_url, {
27 useCreateIndex: true,
28 useNewUrlParser: true,
29 useUnifiedTopology: true
30});
31
32const db = mongoose.connection;
33db.once("open", () => {
34 console.log("Db connected");
35
36 const msgCollection = db.collection("messagecontents");
37 const changeStream = msgCollection.watch();
38
39 changeStream.on("change", (change) => {
40 console.log(change);
41
42 });
43
44});
45
46//Api Routes
47app.get("/", (req, res) => res.status(200).send("hello world"));
48
49app.get("/messages/sync", (req, res) => {
50
51 Messages.find((err, data) => {
52 if (err) {
53 res.status(500).send(err);
54 } else {
55 res.status(200).send(data);
56 }
57 });
58});
59
60
61app.post("/messages/new", (req, res) => {
62 const dbMessage = req.body;
63
64 Messages.create(dbMessage, (err, data) => {
65 if (err){
66 res.status(500).send(err);
67 } else {
68 res.status(201).send(data);
69 }
70 });
71});
72
73//Listen
74app.listen(port, () => console.log(`Listening on localhost:${port}`));