Merge branch 'develop' of s412146/node-raspberry-server into master
This commit is contained in:
commit
ab3375e9eb
10
deviceSchema.js
Normal file
10
deviceSchema.js
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
const mongoose = require("mongoose");
|
||||||
|
const deviceSchema = new mongoose.Schema(
|
||||||
|
{
|
||||||
|
ip: String,
|
||||||
|
name: String,
|
||||||
|
lastStatus: String
|
||||||
|
},
|
||||||
|
{ timestamps: true }
|
||||||
|
);
|
||||||
|
module.exports = mongoose.model("deviceSchema", deviceSchema);
|
84
index.js
84
index.js
@ -2,7 +2,10 @@ const express = require("express");
|
|||||||
const cors = require("cors");
|
const cors = require("cors");
|
||||||
const mongoose = require("mongoose");
|
const mongoose = require("mongoose");
|
||||||
const mongoDB = "mongodb://127.0.0.1/chillroom-database";
|
const mongoDB = "mongodb://127.0.0.1/chillroom-database";
|
||||||
const dbSchema = require("./dbScheme");
|
const deviceSchema = require("./deviceSchema");
|
||||||
|
const bodyParser = require("body-parser");
|
||||||
|
const statusSchema = require("./statusSchema");
|
||||||
|
|
||||||
mongoose.connect(
|
mongoose.connect(
|
||||||
mongoDB,
|
mongoDB,
|
||||||
{ useNewUrlParser: true }
|
{ useNewUrlParser: true }
|
||||||
@ -10,18 +13,34 @@ mongoose.connect(
|
|||||||
const app = express();
|
const app = express();
|
||||||
app.use(cors());
|
app.use(cors());
|
||||||
app.options("*", cors());
|
app.options("*", cors());
|
||||||
|
app.use(bodyParser.json());
|
||||||
const port = 3000;
|
const port = 3000;
|
||||||
|
|
||||||
|
const save_data = async time => {
|
||||||
|
try {
|
||||||
|
const devices = await deviceSchema.find({}).select("name ip");
|
||||||
|
console.log("DEVICES => " + devices);
|
||||||
|
for (const { ip, _id } of devices) {
|
||||||
|
const value_data = await getScript(ip);
|
||||||
|
const data = JSON.parse(value_data);
|
||||||
|
|
||||||
|
await statusSchema.findOneAndUpdate(
|
||||||
|
{ device: _id },
|
||||||
|
{
|
||||||
|
$push: { status: { value: data.Sensors[0].Switch, time } }
|
||||||
|
}
|
||||||
|
);
|
||||||
|
await deviceSchema.findByIdAndUpdate(_id, {
|
||||||
|
lastStatus: data.Sensors[0].Switch
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.log("ERROR z CATCHA => " + error);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
let interval = setInterval(() => {
|
let interval = setInterval(() => {
|
||||||
(async url => {
|
save_data(Date.now());
|
||||||
const value_data = await getScript(url);
|
|
||||||
console.log(value_data);
|
|
||||||
// const item = new dbSchema({
|
|
||||||
// name: value_data.split(",")[0],
|
|
||||||
// value: value_data.split(",")[1]
|
|
||||||
// });
|
|
||||||
// await item.save();
|
|
||||||
})("http://localhost:3000/chillroom-server?ip=192.168.8.107");
|
|
||||||
}, 5000);
|
}, 5000);
|
||||||
|
|
||||||
const getScript = url => {
|
const getScript = url => {
|
||||||
@ -32,6 +51,8 @@ const getScript = url => {
|
|||||||
|
|
||||||
url = "http://" + url + "/json";
|
url = "http://" + url + "/json";
|
||||||
|
|
||||||
|
console.log("DATA URL => " + url);
|
||||||
|
|
||||||
client
|
client
|
||||||
.get(url, resp => {
|
.get(url, resp => {
|
||||||
let data = "";
|
let data = "";
|
||||||
@ -48,7 +69,7 @@ const getScript = url => {
|
|||||||
});
|
});
|
||||||
})
|
})
|
||||||
.on("error", err => {
|
.on("error", err => {
|
||||||
reject(err);
|
resolve('{"Sensors": [{ "Switch": 2 }]}');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@ -65,18 +86,22 @@ app.get("/stop", (req, res) => {
|
|||||||
res.json({ message: "Przestalem dzialac :<" });
|
res.json({ message: "Przestalem dzialac :<" });
|
||||||
});
|
});
|
||||||
|
|
||||||
|
app.get("/status/:id", async (req, res) => {
|
||||||
|
const data = await statusSchema
|
||||||
|
.findOne({
|
||||||
|
device: mongoose.Types.ObjectId(req.params.id)
|
||||||
|
})
|
||||||
|
.select("status");
|
||||||
|
const status = data.status.sort((a, b) => {
|
||||||
|
return b.time - a.time;
|
||||||
|
});
|
||||||
|
res.json(status);
|
||||||
|
});
|
||||||
|
|
||||||
app.get("/start", (req, res) => {
|
app.get("/start", (req, res) => {
|
||||||
if (interval === null) {
|
if (interval === null) {
|
||||||
interval = setInterval(() => {
|
interval = setInterval(() => {
|
||||||
(async url => {
|
save_data(Date.now());
|
||||||
const value_data = await getScript(url);
|
|
||||||
console.log(value);
|
|
||||||
const item = new dbSchema({
|
|
||||||
name: value_data.split(",")[0],
|
|
||||||
value: value_data.split(",")[1]
|
|
||||||
});
|
|
||||||
await item.save();
|
|
||||||
})("http://localhost:3000/chillroom-server?ip=192.168.8.107");
|
|
||||||
}, 5000);
|
}, 5000);
|
||||||
|
|
||||||
res.json({ message: "Zaczalem dzialac :>" });
|
res.json({ message: "Zaczalem dzialac :>" });
|
||||||
@ -86,10 +111,27 @@ app.get("/start", (req, res) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
app.get("/all", async (req, res) => {
|
app.get("/all", async (req, res) => {
|
||||||
const items = await dbSchema.find({});
|
const items = await deviceSchema.find({});
|
||||||
res.json(items);
|
res.json(items);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
app.post("/device", async (req, res) => {
|
||||||
|
console.log(req.body);
|
||||||
|
const newDevice = await deviceSchema.create({
|
||||||
|
name: req.body.name,
|
||||||
|
ip: req.body.ip
|
||||||
|
});
|
||||||
|
await statusSchema.create({ device: newDevice });
|
||||||
|
res.json({ Sukces: "Dodaje OK" });
|
||||||
|
});
|
||||||
|
|
||||||
|
app.delete("/device/:ip", async (req, res) => {
|
||||||
|
console.log(req.body);
|
||||||
|
const newDevice = await deviceSchema.findOneAndRemove({ ip: req.params.ip });
|
||||||
|
await statusSchema.findOneAndRemove({ device: newDevice });
|
||||||
|
res.json({ Sukces: "Usuwa OK" });
|
||||||
|
});
|
||||||
|
|
||||||
app.listen(port, () =>
|
app.listen(port, () =>
|
||||||
console.log(`Chillroom server nasluchuje na porcie ${port}!`)
|
console.log(`Chillroom server nasluchuje na porcie ${port}!`)
|
||||||
);
|
);
|
||||||
|
205
package-lock.json
generated
205
package-lock.json
generated
@ -19,17 +19,17 @@
|
|||||||
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
|
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
|
||||||
},
|
},
|
||||||
"async": {
|
"async": {
|
||||||
"version": "2.6.1",
|
"version": "2.6.0",
|
||||||
"resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
|
"resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz",
|
||||||
"integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
|
"integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"lodash": "^4.17.10"
|
"lodash": "^4.14.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"bluebird": {
|
"bluebird": {
|
||||||
"version": "3.5.1",
|
"version": "3.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
|
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz",
|
||||||
"integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA=="
|
"integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw="
|
||||||
},
|
},
|
||||||
"body-parser": {
|
"body-parser": {
|
||||||
"version": "1.18.3",
|
"version": "1.18.3",
|
||||||
@ -49,9 +49,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"bson": {
|
"bson": {
|
||||||
"version": "1.1.0",
|
"version": "1.0.9",
|
||||||
"resolved": "https://registry.npmjs.org/bson/-/bson-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/bson/-/bson-1.0.9.tgz",
|
||||||
"integrity": "sha512-9Aeai9TacfNtWXOYarkFJRW2CWo+dRon+fuLZYJmvLV3+MiUp0bEI6IAZfXEIg7/Pl/7IWlLaDnhzTsD81etQA=="
|
"integrity": "sha512-IQX9/h7WdMBIW/q/++tGd+emQr0XMdeZ6icnT/74Xk9fnabWn+gZgpE+9V+gujL3hhJOoNrnDVY7tWdzc7NUTg=="
|
||||||
|
},
|
||||||
|
"buffer-shims": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E="
|
||||||
},
|
},
|
||||||
"bytes": {
|
"bytes": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
@ -78,6 +83,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
|
||||||
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
|
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
|
||||||
},
|
},
|
||||||
|
"core-util-is": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
|
||||||
|
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
|
||||||
|
},
|
||||||
"cors": {
|
"cors": {
|
||||||
"version": "2.8.5",
|
"version": "2.8.5",
|
||||||
"resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
|
"resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
|
||||||
@ -115,6 +125,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
|
||||||
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
|
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
|
||||||
},
|
},
|
||||||
|
"es6-promise": {
|
||||||
|
"version": "3.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.2.1.tgz",
|
||||||
|
"integrity": "sha1-7FYjOGgDKQkgcXDDlEjiREndH8Q="
|
||||||
|
},
|
||||||
"escape-html": {
|
"escape-html": {
|
||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
|
||||||
@ -186,6 +201,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
|
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
|
||||||
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
|
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
|
||||||
},
|
},
|
||||||
|
"hooks-fixed": {
|
||||||
|
"version": "2.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/hooks-fixed/-/hooks-fixed-2.0.2.tgz",
|
||||||
|
"integrity": "sha512-YurCM4gQSetcrhwEtpQHhQ4M7Zo7poNGqY4kQGeBS6eZtOcT3tnNs01ThFa0jYBByAiYt1MjMjP/YApG0EnAvQ=="
|
||||||
|
},
|
||||||
"http-errors": {
|
"http-errors": {
|
||||||
"version": "1.6.3",
|
"version": "1.6.3",
|
||||||
"resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
|
"resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
|
||||||
@ -215,27 +235,31 @@
|
|||||||
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz",
|
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz",
|
||||||
"integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4="
|
"integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4="
|
||||||
},
|
},
|
||||||
|
"isarray": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
|
||||||
|
},
|
||||||
"kareem": {
|
"kareem": {
|
||||||
"version": "2.3.0",
|
"version": "1.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/kareem/-/kareem-1.5.0.tgz",
|
||||||
"integrity": "sha512-6hHxsp9e6zQU8nXsP+02HGWXwTkOEw6IROhF2ZA28cYbUk4eJ6QbtZvdqZOdD9YPKghG3apk5eOCvs+tLl3lRg=="
|
"integrity": "sha1-4+QQHZ3P3imXadr0tNtk2JXRdEg="
|
||||||
},
|
},
|
||||||
"lodash": {
|
"lodash": {
|
||||||
"version": "4.17.11",
|
"version": "4.17.11",
|
||||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
|
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
|
||||||
"integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg=="
|
"integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg=="
|
||||||
},
|
},
|
||||||
|
"lodash.get": {
|
||||||
|
"version": "4.4.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
|
||||||
|
"integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk="
|
||||||
|
},
|
||||||
"media-typer": {
|
"media-typer": {
|
||||||
"version": "0.3.0",
|
"version": "0.3.0",
|
||||||
"resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
|
"resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
|
||||||
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
|
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
|
||||||
},
|
},
|
||||||
"memory-pager": {
|
|
||||||
"version": "1.5.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
|
|
||||||
"integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"merge-descriptors": {
|
"merge-descriptors": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
|
||||||
@ -265,73 +289,69 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mongodb": {
|
"mongodb": {
|
||||||
"version": "3.1.10",
|
"version": "2.2.34",
|
||||||
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.1.10.tgz",
|
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-2.2.34.tgz",
|
||||||
"integrity": "sha512-Uml42GeFxhTGQVml1XQ4cD0o/rp7J2ROy0fdYUcVitoE7vFqEhKH4TYVqRDpQr/bXtCJVxJdNQC1ntRxNREkPQ==",
|
"integrity": "sha1-o09Zu+thdUrsQy3nLD/iFSakTBo=",
|
||||||
"requires": {
|
"requires": {
|
||||||
"mongodb-core": "3.1.9",
|
"es6-promise": "3.2.1",
|
||||||
"safe-buffer": "^5.1.2"
|
"mongodb-core": "2.1.18",
|
||||||
|
"readable-stream": "2.2.7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mongodb-core": {
|
"mongodb-core": {
|
||||||
"version": "3.1.9",
|
"version": "2.1.18",
|
||||||
"resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-3.1.9.tgz",
|
"resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.1.18.tgz",
|
||||||
"integrity": "sha512-MJpciDABXMchrZphh3vMcqu8hkNf/Mi+Gk6btOimVg1XMxLXh87j6FAvRm+KmwD1A9fpu3qRQYcbQe4egj23og==",
|
"integrity": "sha1-TEYTm986HwMt7ZHbSfOO7AFlkFA=",
|
||||||
"requires": {
|
"requires": {
|
||||||
"bson": "^1.1.0",
|
"bson": "~1.0.4",
|
||||||
"require_optional": "^1.0.1",
|
"require_optional": "~1.0.0"
|
||||||
"safe-buffer": "^5.1.2",
|
|
||||||
"saslprep": "^1.0.0"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mongoose": {
|
"mongoose": {
|
||||||
"version": "5.4.3",
|
"version": "4.13.15",
|
||||||
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.4.3.tgz",
|
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-4.13.15.tgz",
|
||||||
"integrity": "sha512-zhfypQm63CPYHi43O/3lTcEPVucY3h6CqONbzreMKZIEXtwgkB9HCm4wn441Z9/CpM94G6/NA3wcaRb0N2kPYQ==",
|
"integrity": "sha512-rcbVI915IzeLFzayATSUQRZkcEkqUoUcvuGTMWcVgQwYibWq1rSvNBTGhCJvmAEGA8e9ygAJS3y9gZFQPjRxBA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"async": "2.6.1",
|
"async": "2.6.0",
|
||||||
"bson": "~1.1.0",
|
"bson": "~1.0.4",
|
||||||
"kareem": "2.3.0",
|
"hooks-fixed": "2.0.2",
|
||||||
"mongodb": "3.1.10",
|
"kareem": "1.5.0",
|
||||||
"mongodb-core": "3.1.9",
|
"lodash.get": "4.4.2",
|
||||||
"mongoose-legacy-pluralize": "1.0.2",
|
"mongodb": "2.2.34",
|
||||||
"mpath": "0.5.1",
|
"mpath": "0.3.0",
|
||||||
"mquery": "3.2.0",
|
"mpromise": "0.5.5",
|
||||||
|
"mquery": "2.3.3",
|
||||||
"ms": "2.0.0",
|
"ms": "2.0.0",
|
||||||
|
"muri": "1.3.0",
|
||||||
"regexp-clone": "0.0.1",
|
"regexp-clone": "0.0.1",
|
||||||
"safe-buffer": "5.1.2",
|
|
||||||
"sliced": "1.0.1"
|
"sliced": "1.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mongoose-legacy-pluralize": {
|
|
||||||
"version": "1.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz",
|
|
||||||
"integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ=="
|
|
||||||
},
|
|
||||||
"mpath": {
|
"mpath": {
|
||||||
"version": "0.5.1",
|
"version": "0.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/mpath/-/mpath-0.5.1.tgz",
|
"resolved": "https://registry.npmjs.org/mpath/-/mpath-0.3.0.tgz",
|
||||||
"integrity": "sha512-H8OVQ+QEz82sch4wbODFOz+3YQ61FYz/z3eJ5pIdbMEaUzDqA268Wd+Vt4Paw9TJfvDgVKaayC0gBzMIw2jhsg=="
|
"integrity": "sha1-elj3iem1/TyUUgY0FXlg8mvV70Q="
|
||||||
|
},
|
||||||
|
"mpromise": {
|
||||||
|
"version": "0.5.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/mpromise/-/mpromise-0.5.5.tgz",
|
||||||
|
"integrity": "sha1-9bJCWddjrMIlewoMjG2Gb9UXMuY="
|
||||||
},
|
},
|
||||||
"mquery": {
|
"mquery": {
|
||||||
"version": "3.2.0",
|
"version": "2.3.3",
|
||||||
"resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/mquery/-/mquery-2.3.3.tgz",
|
||||||
"integrity": "sha512-qPJcdK/yqcbQiKoemAt62Y0BAc0fTEKo1IThodBD+O5meQRJT/2HSe5QpBNwaa4CjskoGrYWsEyjkqgiE0qjhg==",
|
"integrity": "sha512-NC8L14kn+qxJbbJ1gbcEMDxF0sC3sv+1cbRReXXwVvowcwY1y9KoVZFq0ebwARibsadu8lx8nWGvm3V0Pf0ZWQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"bluebird": "3.5.1",
|
"bluebird": "3.5.0",
|
||||||
"debug": "3.1.0",
|
"debug": "2.6.9",
|
||||||
"regexp-clone": "0.0.1",
|
"regexp-clone": "0.0.1",
|
||||||
"safe-buffer": "5.1.2",
|
"sliced": "0.0.5"
|
||||||
"sliced": "1.0.1"
|
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"debug": {
|
"sliced": {
|
||||||
"version": "3.1.0",
|
"version": "0.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/sliced/-/sliced-0.0.5.tgz",
|
||||||
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
|
"integrity": "sha1-XtwETKTrb3gW1Qui/GPiXY/kcH8="
|
||||||
"requires": {
|
|
||||||
"ms": "2.0.0"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -340,6 +360,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||||
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
|
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
|
||||||
},
|
},
|
||||||
|
"muri": {
|
||||||
|
"version": "1.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/muri/-/muri-1.3.0.tgz",
|
||||||
|
"integrity": "sha512-FiaFwKl864onHFFUV/a2szAl7X0fxVlSKNdhTf+BM8i8goEgYut8u5P9MqQqIYwvaMxjzVESsoEm/2kfkFH1rg=="
|
||||||
|
},
|
||||||
"negotiator": {
|
"negotiator": {
|
||||||
"version": "0.6.1",
|
"version": "0.6.1",
|
||||||
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
|
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
|
||||||
@ -368,6 +393,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
|
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
|
||||||
"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
|
"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
|
||||||
},
|
},
|
||||||
|
"process-nextick-args": {
|
||||||
|
"version": "1.0.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
|
||||||
|
"integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
|
||||||
|
},
|
||||||
"proxy-addr": {
|
"proxy-addr": {
|
||||||
"version": "2.0.4",
|
"version": "2.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz",
|
||||||
@ -398,6 +428,20 @@
|
|||||||
"unpipe": "1.0.0"
|
"unpipe": "1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"readable-stream": {
|
||||||
|
"version": "2.2.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.7.tgz",
|
||||||
|
"integrity": "sha1-BwV6y+JGeyIELTb5jFrVBwVOlbE=",
|
||||||
|
"requires": {
|
||||||
|
"buffer-shims": "~1.0.0",
|
||||||
|
"core-util-is": "~1.0.0",
|
||||||
|
"inherits": "~2.0.1",
|
||||||
|
"isarray": "~1.0.0",
|
||||||
|
"process-nextick-args": "~1.0.6",
|
||||||
|
"string_decoder": "~1.0.0",
|
||||||
|
"util-deprecate": "~1.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"regexp-clone": {
|
"regexp-clone": {
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-0.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-0.0.1.tgz",
|
||||||
@ -427,15 +471,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
||||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
||||||
},
|
},
|
||||||
"saslprep": {
|
|
||||||
"version": "1.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.2.tgz",
|
|
||||||
"integrity": "sha512-4cDsYuAjXssUSjxHKRe4DTZC0agDwsCqcMqtJAQPzC74nJ7LfAJflAtC1Zed5hMzEQKj82d3tuzqdGNRsLJ4Gw==",
|
|
||||||
"optional": true,
|
|
||||||
"requires": {
|
|
||||||
"sparse-bitfield": "^3.0.3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"semver": {
|
"semver": {
|
||||||
"version": "5.6.0",
|
"version": "5.6.0",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
|
||||||
@ -482,20 +517,19 @@
|
|||||||
"resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz",
|
||||||
"integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E="
|
"integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E="
|
||||||
},
|
},
|
||||||
"sparse-bitfield": {
|
|
||||||
"version": "3.0.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
|
|
||||||
"integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=",
|
|
||||||
"optional": true,
|
|
||||||
"requires": {
|
|
||||||
"memory-pager": "^1.0.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"statuses": {
|
"statuses": {
|
||||||
"version": "1.4.0",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
|
||||||
"integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew=="
|
"integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew=="
|
||||||
},
|
},
|
||||||
|
"string_decoder": {
|
||||||
|
"version": "1.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
|
||||||
|
"integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
|
||||||
|
"requires": {
|
||||||
|
"safe-buffer": "~5.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"type-is": {
|
"type-is": {
|
||||||
"version": "1.6.16",
|
"version": "1.6.16",
|
||||||
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
|
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
|
||||||
@ -510,6 +544,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
|
||||||
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
|
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
|
||||||
},
|
},
|
||||||
|
"util-deprecate": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
||||||
|
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
|
||||||
|
},
|
||||||
"utils-merge": {
|
"utils-merge": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
|
||||||
|
@ -9,8 +9,9 @@
|
|||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"body-parser": "^1.18.3",
|
||||||
"cors": "^2.8.5",
|
"cors": "^2.8.5",
|
||||||
"express": "^4.16.4",
|
"express": "^4.16.4",
|
||||||
"mongoose": "^5.4.1"
|
"mongoose": "4.13.15"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
17
statusSchema.js
Normal file
17
statusSchema.js
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
const mongoose = require("mongoose");
|
||||||
|
const statusSchema = new mongoose.Schema(
|
||||||
|
{
|
||||||
|
status: [
|
||||||
|
{
|
||||||
|
value: String,
|
||||||
|
time: Date
|
||||||
|
}
|
||||||
|
],
|
||||||
|
device: {
|
||||||
|
type: mongoose.Schema.Types.ObjectId,
|
||||||
|
ref: "deviceSchema"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ timestamps: true }
|
||||||
|
);
|
||||||
|
module.exports = mongoose.model("statusSchema", statusSchema);
|
Loading…
Reference in New Issue
Block a user