-
Notifications
You must be signed in to change notification settings - Fork 0
/
sequelize_utils.js
44 lines (38 loc) · 1.21 KB
/
sequelize_utils.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
const { Sequelize, Op, Model, DataTypes, QueryTypes } = require("sequelize");
const { DB_PATH, ENABLE_SQL_LOGS } = require('./config');
const sequelize = new Sequelize('database', 'username', null, {
dialect: 'sqlite',
storage: DB_PATH,
logging: ENABLE_SQL_LOGS
})
const ethPrice = sequelize.define('ethPrice', {
// Model attributes are defined here
block: {
type: DataTypes.INTEGER,
primaryKey: true,
allowNull: false
},
price: {
type: DataTypes.INTEGER,
allowNull: false
}
}, { timestamps: false });
async function getEthPriceDB(block) {
var { dataValues } = await ethPrice.findByPk(block)
return { 'block': dataValues.block, 'price': dataValues.price }
}
async function getEthPriceMultipleDB(block_list) {
var multPriceRes = await ethPrice.findAll({
where: {
block: {
[Op.or]: block_list
}
}
})
// console.log(multPriceRes)
var multOutput = {}
// Use of object destructuring to retrieve key value
multPriceRes.forEach(({ dataValues }) => multOutput[dataValues.block] = dataValues.price)
return multOutput
}
module.exports = { getEthPriceDB, getEthPriceMultipleDB }