diff --git a/src/draw.js b/src/draw.js new file mode 100644 index 0000000..f1f1a1f --- /dev/null +++ b/src/draw.js @@ -0,0 +1,29 @@ +import * as mongodb from 'mongodb'; +import { strategies } from './strategies'; + +const MongoClient = mongodb.MongoClient; + +const drawCard = async () => { + const url = 'mongodb://localhost:27017'; + const dbName = 'oblique'; + + const client = await MongoClient.connect(url, { useNewUrlParser: true }); + const db = client.db(dbName); + const cardCounts = db.collection('counts'); + + const theCard = strategies[ Math.floor(Math.random()*strategies.length) ].toLowerCase(); + const trackingName = theCard.replace(/\W/g, ''); + + const updated = await cardCounts.findOneAndUpdate( + { card: trackingName }, + { $set: { card: trackingName }, $inc: { count: 1 } }, + { upsert: true, returnNewDocument: true }, + ); + + client.close(); + return theCard; +} + +module.exports = { + drawCard, +}