From 0e3c4d98e65c5086ee2b25b503ce97fba4b9358b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kasper=20Rynning-T=C3=B8nnesen?= Date: Thu, 25 Mar 2021 20:45:08 +0100 Subject: [PATCH] feat: Add tiny seed for 2 wines, and 2 users --- api/prelotteryWine.js | 2 +- db/seedSingleDay.js | 78 +++++++++++++++++++++++++++++++++++++++++++ package.json | 3 +- 3 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 db/seedSingleDay.js diff --git a/api/prelotteryWine.js b/api/prelotteryWine.js index cfbcfb5..34004fb 100644 --- a/api/prelotteryWine.js +++ b/api/prelotteryWine.js @@ -23,7 +23,7 @@ const addWines = wines => { country: wine.country, id: wine.id }); - + console.log(newPrelotteryWine) return newPrelotteryWine.save(); }); diff --git a/db/seedSingleDay.js b/db/seedSingleDay.js new file mode 100644 index 0000000..952a258 --- /dev/null +++ b/db/seedSingleDay.js @@ -0,0 +1,78 @@ + + +const session = require("express-session"); +const mongoose = require("mongoose"); +const MongoStore = require("connect-mongo")(session); +mongoose.promise = global.Promise; +mongoose + .connect("mongodb://localhost/vinlottis", { + useCreateIndex: true, + useNewUrlParser: true, + useUnifiedTopology: true, + serverSelectionTimeoutMS: 10000 // initial connection timeout + }) + .then(_ => console.log("Mongodb connection established!")) + .catch(err => { + console.log(err); + console.error("ERROR! Mongodb required to run."); + process.exit(1); + }); +mongoose.set("debug", false); + +const path = require("path") +const prelotteryWineRepository = require(path.join(__dirname, "../api/prelotteryWine")); +const attendeeRepository = require(path.join(__dirname, "../api/attendee")); + +async function add() { + const wines = [ + { + vivinoLink: 'https://www.vinmonopolet.no/Land/Frankrike/Devevey-Bourgogne-Hautes-C%C3%B4tes-de-Beaune-Rouge-2018/p/12351301', + name: 'Devevey Bourgogne Hautes-Côtes de Beaune Rouge 2018', + rating: 3, + id: '12351301', + year: 2018, + image: "https://bilder.vinmonopolet.no/cache/300x300-0/12351301-1.jpg", + price: '370', + country: "Frankrike" + }, + { + vivinoLink: 'https://www.vinmonopolet.no/Land/Frankrike/Devevey-Rully-La-Chaume-Rouge-2018/p/12351101', + name: 'Devevey Rully La Chaume Rouge 2018', + rating: 4, + id: '12351101', + year: 2018, + image: 'https://bilder.vinmonopolet.no/cache/300x300-0/12351101-1.jpg', + price: '372', + country: 'Frankrike' + } + ] + + const attendees = [ + { + name: "Kasper Rynning-Tønnesen", + red: 0, + blue: 10, + green: 0, + yellow: 0, + phoneNumber: 97777777, + winner: false + }, + { + name: "Kevin Midbøe", + red: 3, + blue: 3, + green: 3, + yellow: 3, + phoneNumber: 95012321, + winner: false + } + ] + + await prelotteryWineRepository.addWines(wines) + await Promise.all(attendees.map(attendee => attendeeRepository.addAttendee(attendee))) + + console.log("Added some wines, and 2 attendees to database.") + process.exit(1) +} + +add() \ No newline at end of file diff --git a/package.json b/package.json index 8ab33eb..2a3910f 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,8 @@ "watch": "yarn webpack serve --mode development --env development", "start": "node server.js", "dev": "cross-env NODE_ENV=development node server.js", - "test": "echo \"Error: no test specified\" && exit 1" + "test": "echo \"Error: no test specified\" && exit 1", + "seed:single": "node db/seedSingleDay.js" }, "author": "", "license": "ISC",