/
index.js
90 lines (83 loc) · 2.77 KB
/
index.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
var skimlinks = require('skimlinksjs');
var util = require('util');
var async = require('async');
module.exports.setup = function(token, theSiteId) {
skimlinks.setup(token, theSiteId);
}
var currencySymbol = function(currency) {
if (currency === "USD") {
return "$";
} else if (currency === "GBP") {
return "£";
} else if (currency === "EU") {
return "€";
} else {
return "";
}
}
module.exports.queryAll = function(config, partial, query, callback) {
var rows = [];
skimlinks.query(query, function(err, data) {
if (err) {
throw err;
} else {
async.eachSeries(data.skimlinksProductAPI.products,
function(row, cb) {
row.currencySymbol = currencySymbol(row.currency);
rows.push(row);
cb();
},
function(err) {
if (err) throw err;
else {
config.partial(
{
template: partial,
data: {
rows: rows,
query: query
}
}, function(err, data) {
if (err) throw err;
else callback(null, data);
});
}
}
);
}
});
}
module.exports.query = function(config, partial, query, callback) {
skimlinks.query(query, function(err, data) {
if (err) {
throw err;
} else {
// util.log("# found: " + data.skimlinksProductAPI.numFound);
var render2 = "";
async.eachSeries(data.skimlinksProductAPI.products,
function(row, cb) {
row.currencySymbol = currencySymbol(row.currency);
// util.log(util.inspect(row));
// util.log(util.inspect(config));
var rndrd = config.partial(
{
template: partial,
data: {
row: row,
query: query
}
}, function(err, data) {
if (err) throw err;
render2 += data; // .content; // Wrap rndrd in any way?
// util.log('data ' + util.inspect(data));
cb();
});
},
function(err) {
if (err) throw err;
else callback(null, render2);
}
);
}
});
}