UNPKG

2.17 kBJavaScriptView Raw
1'use strict'
2
3var request = require('request');
4
5function PB(printbotUrl, printbotAuthToken) {
6 this.PRINTBOT_URL = printbotUrl;
7 this.PRINTBOT_AUTH_TOKEN = printbotAuthToken;
8}
9
10PB.prototype.verifyUserAndGetUserData = function (PSI, onError, onSuccess) {
11 var debug = true;
12
13 var requestSettings = printBotRequestSettings(this.PRINTBOT_URL, this.PRINTBOT_AUTH_TOKEN);
14
15 log(debug, () => { console.log("PRINTBOT_REQUEST => ", requestSettings); });
16
17 request(requestSettings,
18 function (error, response, body) {
19 if (!error && response.statusCode >= 200 && response.statusCode < 300) {
20 var userData = JSON.parse(body);
21 log(debug, () => { console.log(`PRINTBOT_RESPONSE (${response.statusCode}) => `, userData); });
22
23 PSI.PB.USER_DATA = userData;
24
25 onSuccess(body);
26 }
27 else if (response.statusCode == 401) {
28 log(debug, () => { console.log(`UNAUTHORIZED`); });
29 log(debug, () => { console.log(`PRINTBOT_RESPONSE (${response.statusCode}) => `, body); });
30
31 onError({
32 statusCode: response.statusCode,
33 });
34 }
35 else {
36 log(debug, () => { console.log(`PRINTBOT_ERR_MSG (${response.statusCode}) => `, error) });
37 log(debug, () => { console.log(`PRINTBOT_ERR_BODY => `, body); });
38
39 onError({
40 statusCode: response.statusCode,
41 body: body,
42 error: error,
43 errMsg: "Failed to connect to PrintBot."
44 });
45 }
46 }
47 );
48};
49
50// return (success, data, message)
51module.exports = PB;
52
53function printBotRequestSettings(url, authToken) {
54 var fullUrl = url + '/api/getUserData';
55
56 return {
57 uri: fullUrl,
58 method: 'GET',
59 headers: {
60 'Accept': 'application/json',
61 'Authorization': `Bearer ${authToken}`
62 }
63 };
64}
65
66function log(shouldLog, cb) {
67 if (shouldLog) {
68 cb();
69 }
70}
\No newline at end of file