Expanded mongo model

This commit is contained in:
2022-03-14 01:41:52 +03:00
parent beb5ff052f
commit 946a9afeac
5 changed files with 38 additions and 14 deletions

View File

@@ -19,13 +19,18 @@ async function initDB () {
}
const setPrice = await item.set.getPrice()
if (partsPrice < setPrice) {
models.ScanResult.findOneAndUpdate(
{ name: item.name },
{ partsPrice, setPrice },
{ upsert: true },
() => {}
)
}
models.ScanResult.findOneAndUpdate(
{ name: item.name },
{
fullName: item.fullName,
url: item.set.url,
timestamp: new Date(),
partsPrice,
setPrice,
difference: setPrice - partsPrice
},
{ upsert: true },
() => {}
)
}
})()

View File

@@ -1,8 +1,13 @@
const Part = require('./Part')
function capitalize (string) {
return string.charAt(0).toUpperCase() + string.slice(1)
}
module.exports = class Item {
constructor (name) {
this.name = name
this.fullName = capitalize(name) + ' Prime'
this.set = new Part(name, 'set')
this.parts = []

View File

@@ -3,12 +3,13 @@ const Api = require('../api')
module.exports = class Part {
constructor (set, part, amount) {
this.part = part
this.url = `${set}_prime_${part}`
this.urlPath = `${set}_prime_${part}`
this.url = `https://warframe.market/items/${set}_prime_${part}`
this.amount = amount ?? 1
}
async getPrice () {
const orders = await Api.getSortedOrders(this.url)
const orders = await Api.getSortedOrders(this.urlPath)
return Number(orders[0].platinum) * this.amount
}
}