Skip to content

Commit ce50a88

Browse files
author
Dan Tolbert
committed
update to promises
1 parent 73c667e commit ce50a88

File tree

2 files changed

+144
-1
lines changed

2 files changed

+144
-1
lines changed

lib/importTnorder.js

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
var fs = require("fs");
2+
var Client = require("./client");
3+
var ORDER_PATH = "orders";
4+
5+
function Order(){
6+
}
7+
8+
Order.create = function(client, item, callback){
9+
if(arguments.length === 2){
10+
callback = item;
11+
item = client;
12+
client = new Client();
13+
};
14+
client.makeRequest("post", client.concatAccountPath(ORDER_PATH), {order: item}, function(err, item){
15+
if(err){
16+
return callback(err, item);
17+
}
18+
item.order.client = client;
19+
item.order.__proto__ = Order.prototype;
20+
callback(null, item);
21+
});
22+
};
23+
24+
Order.get = function(client, id, callback){
25+
if(arguments.length === 2){
26+
callback = id;
27+
id = client;
28+
client = new Client();
29+
};
30+
client.makeRequest("get", client.concatAccountPath(ORDER_PATH) + "/" + id, function(err, item){
31+
if(err){
32+
return callback(err, item);
33+
}
34+
item.order.client = client;
35+
item.order.__proto__ = Order.prototype;
36+
callback(null, item);
37+
});
38+
};
39+
40+
Order.list = function(client, query, callback){
41+
if(arguments.length === 2){
42+
callback = query;
43+
query = client;
44+
client = new Client();
45+
}
46+
client.makeRequest("get", client.concatAccountPath(ORDER_PATH), query, function(err, res){
47+
if(err){
48+
return callback(err);
49+
}
50+
callback(null, res);
51+
});
52+
};
53+
54+
Order.prototype.getAreaCodes = function(callback){
55+
this.client.makeRequest("get", this.client.concatAccountPath(ORDER_PATH) + "/" + this.id + "/areaCodes", function(err,areaCodes){
56+
if(err){
57+
return callback(err);
58+
}
59+
var items = areaCodes.telephoneDetailsReport;
60+
callback(null, Array.isArray(items)?items:[items]);
61+
});
62+
};
63+
64+
Order.prototype.getNpaNxx = function(callback){
65+
this.client.makeRequest("get", this.client.concatAccountPath(ORDER_PATH) + "/" + this.id + "/npaNxx", function(err,npaNxx){
66+
if(err){
67+
return callback(err);
68+
}
69+
var items = npaNxx.telephoneDetailsReport;
70+
callback(null, Array.isArray(items)?items:[items]);
71+
});
72+
};
73+
74+
Order.prototype.getTotals = function(callback) {
75+
this.client.makeRequest("get", this.client.concatAccountPath(ORDER_PATH) + "/" + this.id + "/totals", function(err,totals){
76+
if(err){
77+
return callback(err);
78+
}
79+
var items = totals.telephoneDetailsReport;
80+
callback(null, Array.isArray(items)?items:[items]);
81+
});
82+
};
83+
84+
Order.prototype.getTns = function(callback){
85+
this.client.makeRequest("get", this.client.concatAccountPath(ORDER_PATH) + "/" + this.id + "/tns", function(err,tns){
86+
if(err){
87+
return callback(err);
88+
}
89+
callback(null, tns);
90+
});
91+
}
92+
93+
Order.prototype.getHistory = function(callback){
94+
this.client.makeRequest("get", this.client.concatAccountPath(ORDER_PATH) + "/" + this.id + "/history", function(err,history){
95+
if(err){
96+
return callback(err);
97+
}
98+
var items = history.orderHistory;
99+
callback(null, Array.isArray(items)?items:[items]);
100+
});
101+
}
102+
103+
Order.prototype.update = function(data, callback){
104+
this.client.makeRequest("put", this.client.concatAccountPath(ORDER_PATH) + "/" + this.id, {order: data}, callback);
105+
};
106+
107+
108+
Order.prototype.getNotes = function(callback){
109+
this.client.makeRequest("get", this.client.concatAccountPath(ORDER_PATH) + "/" + this.id + "/notes", function(err, notes){
110+
if(err){
111+
return callback(err);
112+
}
113+
var items = notes.note;
114+
callback(null, Array.isArray(items)?items:[items]);
115+
});
116+
};
117+
118+
Order.prototype.addNote = function(note, callback){
119+
var self = this;
120+
var request = this.client.createPostRequest(this.client.concatAccountPath(ORDER_PATH + "/" + this.id + "/notes"), {note: note});
121+
request.buffer().then(res => {
122+
if(res.ok && res.headers.location){
123+
Client.getIdFromLocationHeader(res.headers.location, function(err, id){
124+
if(err){
125+
return callback(err);
126+
}
127+
self.getNotes(function(err, notes){
128+
if(err){
129+
return callback(err);
130+
}
131+
callback(null, notes.filter(function(n){ return n.id == id;})[0]);
132+
});
133+
});
134+
}
135+
else{
136+
self.client.checkResponse(res, callback);
137+
}
138+
}).catch(err => {
139+
return callback(err);
140+
});
141+
};
142+
143+
module.exports = Order;

lib/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,4 @@ for (const property in module.exports) {
3333
if (module.exports[property].hasOwnProperty("prototype")) {
3434
Promise.promisifyAll(module.exports[property].prototype);
3535
}
36-
}
36+
}

0 commit comments

Comments
 (0)