/
ExchangePairs.js
106 lines (95 loc) · 3.33 KB
/
ExchangePairs.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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
var exchangePairsSchema = require('./schema/exchangePairs');
exports.storePair = function(data, callback){
var newPair = new exchangePairsSchema(data);
newPair.save(function(err , result){
if (err) {
callback(false, err);
return false;
}
callback(true, result);
})
};
exports.checkPairExist = function(condition , callback){
exchangePairsSchema.find(condition, function (err, pair) {
if(err){
callback(false, err);
return false;
}
callback(true , pair);
});
};
// Working here.
exports.getPair = function(primaryCurrency, secondaryCurrency, callback){
let condition = {};
exchangePairsSchema.find(condition, function (err, pair) {
if(err){
callback(false, err);
return false;
}
callback(true , pair);
});
};
exports.getCurrencyPair = function(curId , req , callback){
var findArray = {};
findArray['primaryCurrency'] = mongoose.Types.ObjectId(curId);
if (req.body.status !== undefined && req.body.status !== '') {
findArray['status'] = Number(req.body.status);
}
if (req.body.primaryCurrency !== undefined && req.body.primaryCurrency !== '') {
findArray['primaryCurrency'] = req.body.primaryCurrency;
}
if (req.body.secondaryCurrency !== undefined && req.body.secondaryCurrency !== '') {
findArray['secondaryCurrency'] = req.body.secondaryCurrency;
}
var query = exchangePairsSchema.find(findArray).populate({path: 'primaryCurrency',select:'symbol'}).populate({path: 'secondaryCurrency', select:'symbol'})
query.sort({createdAt: -1})
query.skip(Number(req.body.start))
query.limit(Number(req.body.length))
query.lean()
query.exec(function (err, response) {
if (err) {
callback({status: false});
return false;
}
getPairCounts(findArray, function (count) {
callback({status: true, data: response, total: count});
})
});
};
exports.getExchangeCurrencyPair = function(pair , callback){
//var query = exchangePairsSchema.find()
}
getPairCounts = function(condition, callback){
exchangePairsSchema.count(condition, function (err, count) {
if (err) {
count = 0;
}
callback(count);
});
};
exports.updatePairByColumnName = function (updateField, whereField, callback) {
exchangePairsSchema.update(whereField, {$set: updateField}, function (err, data) {
if (err) {
callback(false, err);
return false;
}
callback(true, data);
});
};
exports.getAllCurrencyPair = function(condition ,callback){
var query = exchangePairsSchema.find(condition)
.populate({path: 'primaryCurrency',select:'symbol'})
.populate({path: 'secondaryCurrency', select:'symbol'});
query.exec(function(err, data){
if (err) {
// console.log(err);
callback(false, err);
return false;
}
//console.log(data[0].firstPayment, data[0].latestPayment,data[0].todayPayment)
callback(true, data);
})
}
exports.getAllCurrencyPairsPromise = function(condition){
return exchangePairsSchema.find(condition).populate({path: 'primaryCurrency',select:'symbol'}).populate({path: 'secondaryCurrency', select:'symbol'}).exec();
};