Skip to content

Commit 73783f2

Browse files
authored
Merge pull request #1 from joaograca/master
updated version
2 parents 0239534 + a6788e0 commit 73783f2

2 files changed

Lines changed: 150 additions & 28 deletions

File tree

lib/globalsignapi.js

Lines changed: 146 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,25 @@
11
var soap = require('soap'),
22
events = require('events'),
3-
sys = require('sys');
3+
util = require('util');
44

55
var API = function(opts) {
66
var self = this;
77
this.auth = {
88
'UserName': opts.username,
99
'Password': opts.password
1010
};
11-
if (opts.dev === "true") {
12-
this.url = 'https://testsystem.globalsign.com/kb/ws/v1/';
13-
} else {
14-
this.url = 'https://system.globalsign.com/kb/ws/v1/';
15-
}
16-
17-
console.log(this.url);
11+
this.host = opts.host;
12+
console.log(this.host);
1813

19-
soap.createClient(this.url + 'ServerSSLService?wsdl', function(err, client) {
14+
soap.createClient(this.host + 'ServerSSLService?wsdl', function(err, client) {
15+
console.log(err);
2016
if (err) return err;
2117
self.client = client;
2218
self.emit('ready');
2319
});
2420
};
2521

26-
sys.inherits(API, events.EventEmitter);
22+
util.inherits(API, events.EventEmitter);
2723

2824

2925
/**
@@ -49,6 +45,18 @@ API.prototype.getAccountInfo = function(callback) {
4945
'message': err
5046
}
5147
}, undefined);
48+
49+
if (result.Response.QueryResponseHeader.SuccessCode == -1) {
50+
var errors = _getErrorMessage(result.Response.QueryResponseHeader.Errors.Error);
51+
return callback({
52+
'status': '500',
53+
'output': {
54+
'result': 'error',
55+
'message': errors
56+
}
57+
});
58+
}
59+
5260
callback(undefined, {
5361
'status': '200',
5462
'output': {
@@ -69,10 +77,6 @@ API.prototype.getAccountInfo = function(callback) {
6977
DV - DomainSSL
7078
OV - OrganizationSSL
7179
EV - ExtendedSSL
72-
DV_LOW_SHA2 - AlphaSSL SHA256
73-
DV_SHA2 - DomainSSL SHA256
74-
OV_SHA2 - OrganizationSSL SHA256
75-
EV_SHA2 - ExtendedSSL SHA256
7680
* @param {Function} callback
7781
*/
7882
API.prototype.asslDecodeCSR = function(csr, ptype, callback) {
@@ -95,6 +99,18 @@ API.prototype.asslDecodeCSR = function(csr, ptype, callback) {
9599
'message': err
96100
}
97101
}, undefined);
102+
103+
if (result.Response.QueryResponseHeader.SuccessCode == -1) {
104+
var errors = _getErrorMessage(result.ResponseQueryResponseHeader.Errors.Error);
105+
return callback({
106+
'status': '500',
107+
'output': {
108+
'result': 'error',
109+
'message': errors
110+
}
111+
});
112+
}
113+
98114
callback(undefined, {
99115
'status': '200',
100116
'output': {
@@ -131,6 +147,18 @@ API.prototype.asslGetDVApproverList = function(fqdn, callback) {
131147
'message': err
132148
}
133149
}, undefined);
150+
151+
if (result.Response.QueryResponseHeader.SuccessCode == -1) {
152+
var errors = _getErrorMessage(result.Response.QueryResponseHeader.Errors.Error);
153+
return callback({
154+
'status': '500',
155+
'output': {
156+
'result': 'error',
157+
'message': errors
158+
}
159+
});
160+
}
161+
134162
callback(undefined, {
135163
'status': '200',
136164
'output': {
@@ -176,7 +204,7 @@ API.prototype.asslDVOrderEmail = function(order, wildc, callback) {
176204
'AuthToken': this.auth,
177205
},
178206
'OrderRequestParameter': {
179-
'ProductCode': order.pcode+'_SHA2',
207+
'ProductCode': order.pcode,
180208
'OrderKind': order.orderkind,
181209
'Licenses': order.licenses,
182210
'ValidityPeriod': {
@@ -210,6 +238,18 @@ API.prototype.asslDVOrderEmail = function(order, wildc, callback) {
210238
'message': err
211239
}
212240
}, undefined);
241+
242+
if (result.Response.QueryResponseHeader.SuccessCode == -1) {
243+
var errors = _getErrorMessage(result.Response.QueryResponseHeader.Errors.Error);
244+
return callback({
245+
'status': '500',
246+
'output': {
247+
'result': 'error',
248+
'message': errors
249+
}
250+
});
251+
}
252+
213253
callback(undefined, {
214254
'status': '200',
215255
'output': {
@@ -255,7 +295,7 @@ API.prototype.asslDVOrderMetatag = function(order, wildc, callback) {
255295
'AuthToken': this.auth,
256296
},
257297
'OrderRequestParameter': {
258-
'ProductCode': order.pcode+'_URL_SHA2',
298+
'ProductCode': order.pcode,
259299
'OrderKind': order.orderkind,
260300
'Licenses': order.licenses,
261301
'ValidityPeriod': {
@@ -289,6 +329,18 @@ API.prototype.asslDVOrderMetatag = function(order, wildc, callback) {
289329
'message': err
290330
}
291331
}, undefined);
332+
333+
if (result.Response.QueryResponseHeader.SuccessCode == -1) {
334+
var errors = _getErrorMessage(result.Response.QueryResponseHeader.Errors.Error);
335+
return callback({
336+
'status': '500',
337+
'output': {
338+
'result': 'error',
339+
'message': errors
340+
}
341+
});
342+
}
343+
292344
callback(undefined, {
293345
'status': '200',
294346
'output': {
@@ -326,6 +378,17 @@ API.prototype.URLVerificationForIssue = function(orderid, aproverurl, callback)
326378
}
327379
}, undefined);
328380

381+
if (result.Response.QueryResponseHeader.SuccessCode == -1) {
382+
var errors = _getErrorMessage(result.Response.QueryResponseHeader.Errors.Error);
383+
return callback({
384+
'status': '500',
385+
'output': {
386+
'result': 'error',
387+
'message': errors
388+
}
389+
});
390+
}
391+
329392
callback(undefined, {
330393
'status': '200',
331394
'output': {
@@ -361,23 +424,21 @@ API.prototype.URLVerificationForIssue = function(orderid, aproverurl, callback)
361424
* @param {Function} callback
362425
*/
363426
API.prototype.asslDVOrderDNS = function(order, wildc, callback) {
364-
if (order.pcode === 'DV') {
365-
order.pcode = 'DV_HIGH';
366-
}
367427
var params = {
368428
namespace: 'http://stub.order.gasapiserver.esp.globalsign.com',
369429
'Request': {
370430
'OrderRequestHeader': {
371431
'AuthToken': this.auth,
372432
},
373433
'OrderRequestParameter': {
374-
'ProductCode': order.pcode+'_DNS_SHA2',
434+
'ProductCode': order.pcode,
375435
'OrderKind': order.orderkind,
376436
'Licenses': order.licenses,
377437
'ValidityPeriod': {
378438
'Months': order.months
379439
},
380-
'CSR': order.csr
440+
'CSR': order.csr,
441+
'Options': order.options
381442
},
382443
'OrderID': order.orderid,
383444
'ApproverEmail': order.approveremail,
@@ -386,14 +447,16 @@ API.prototype.asslDVOrderDNS = function(order, wildc, callback) {
386447
'LastName': order.contacinfo.lname,
387448
'Phone': order.contacinfo.phone,
388449
'Email': order.contacinfo.email
389-
},
390-
'SecondContactInfo': {
391-
'FirstName': order.contacinfo2.fname,
392-
'LastName': order.contacinfo2.lname,
393-
'Email': order.contacinfo2.email
394450
}
395451
}
396452
};
453+
if(order.contacinfo2){
454+
params.SecondContactInfo = {
455+
'FirstName': order.contacinfo2.fname,
456+
'LastName': order.contacinfo2.lname,
457+
'Email': order.contacinfo2.email
458+
};
459+
}
397460
if (wildc === true) {
398461
params.Request.OrderRequestParameter.BaseOption = 'wildcard';
399462
}
@@ -405,6 +468,18 @@ API.prototype.asslDVOrderDNS = function(order, wildc, callback) {
405468
'message': err
406469
}
407470
}, undefined);
471+
472+
if (result.Response.OrderResponseHeader.SuccessCode == -1) {
473+
var errors = _getErrorMessage(result.Response.OrderResponseHeader.Errors.Error);
474+
return callback({
475+
'status': '500',
476+
'output': {
477+
'result': 'error',
478+
'message': errors
479+
}
480+
});
481+
}
482+
408483
callback(undefined, {
409484
'status': '200',
410485
'output': {
@@ -442,6 +517,17 @@ API.prototype.DVDNSVerificationForIssue = function(orderid, aproverfqdn, callbac
442517
}
443518
}, undefined);
444519

520+
if (result.Response.OrderResponseHeader.SuccessCode == -1) {
521+
var errors = _getErrorMessage(result.Response.OrderResponseHeader.Errors.Error);
522+
return callback({
523+
'status': '500',
524+
'output': {
525+
'result': 'error',
526+
'message': errors
527+
}
528+
});
529+
}
530+
445531
callback(undefined, {
446532
'status': '200',
447533
'output': {
@@ -524,6 +610,18 @@ API.prototype.orgsslDVOrder = function(order, callback) {
524610
'message': err
525611
}
526612
}, undefined);
613+
614+
if (result.Response.QueryResponseHeader.SuccessCode == -1) {
615+
var errors = _getErrorMessage(result.Response.QueryResponseHeader.Errors.Error);
616+
return callback({
617+
'status': '500',
618+
'output': {
619+
'result': 'error',
620+
'message': errors
621+
}
622+
});
623+
}
624+
527625
callback(undefined, {
528626
'status': '200',
529627
'output': {
@@ -654,6 +752,18 @@ API.prototype.evsslDVOrder = function(order, callback) {
654752
'message': err
655753
}
656754
}, undefined);
755+
756+
if (result.Response.QueryResponseHeader.SuccessCode == -1) {
757+
var errors = _getErrorMessage(result.Response.QueryResponseHeader.Errors.Error);
758+
return callback({
759+
'status': '500',
760+
'output': {
761+
'result': 'error',
762+
'message': errors
763+
}
764+
});
765+
}
766+
657767
callback(undefined, {
658768
'status': '200',
659769
'output': {
@@ -664,4 +774,14 @@ API.prototype.evsslDVOrder = function(order, callback) {
664774
});
665775
};
666776

777+
var _getErrorMessage = function(errors){
778+
var msg = '';
779+
780+
for(var i = 0; i < errors.length; i++){
781+
msg += 'Error ' + errors[i].ErrorCode + ' - ' + (errors[i].ErrorField ? 'Field ' + errors[i].ErrorField + ' - ': '' ) + errors[i].ErrorMessage + '\n';
782+
}
783+
784+
return msg;
785+
};
786+
667787
module.exports = API;

package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "globalsign",
33
"description": "GLOBALSIGN API node client.",
4-
"version": "0.0.1",
4+
"version": "1.0.0",
55
"author": {
66
"name": "PTisp",
77
"email": "dev@ptisp.pt"
@@ -26,8 +26,10 @@
2626
"globalsign"
2727
],
2828
"dependencies": {
29+
"async": "^2.6.0",
30+
"csr-gen": "^0.2.1",
2931
"request": "2.21.x",
30-
"soap": "0.8.x"
32+
"soap": "^0.8.0"
3133
},
3234
"main": "./lib/globalsignapi",
3335
"engines": {

0 commit comments

Comments
 (0)