roboto-js 1.0.16 → 1.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs +54 -0
- package/dist/cjs/rbt_api.cjs +122 -4
- package/dist/esm/index.js +54 -0
- package/dist/esm/rbt_api.js +122 -4
- package/package.json +1 -1
- package/src/index.js +22 -1
- package/src/rbt_api.js +78 -4
package/dist/cjs/index.cjs
CHANGED
|
@@ -30,12 +30,28 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _ty
|
|
|
30
30
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
31
31
|
var Roboto = exports["default"] = /*#__PURE__*/function () {
|
|
32
32
|
function Roboto() {
|
|
33
|
+
var proxyReq = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
33
34
|
_classCallCheck(this, Roboto);
|
|
34
35
|
var isBrowser = typeof window !== "undefined";
|
|
35
36
|
this.config = {
|
|
36
37
|
apiKey: isBrowser ? process.env.NEXT_PUBLIC_ROBOTO_API_KEY : process.env.ROBOTO_API_KEY,
|
|
37
38
|
baseUrl: 'https://' + (isBrowser ? process.env.NEXT_PUBLIC_ROBOTO_HOST : process.env.ROBOTO_HOST)
|
|
38
39
|
};
|
|
40
|
+
|
|
41
|
+
// Check if a request object is provided
|
|
42
|
+
if (proxyReq && proxyReq.headers) {
|
|
43
|
+
var authtoken = proxyReq.headers.authtoken;
|
|
44
|
+
var accesskey = proxyReq.headers.accesskey;
|
|
45
|
+
// Optionally add more headers as needed
|
|
46
|
+
if (authtoken) {
|
|
47
|
+
this.config.authtoken = authtoken; // Set the authtoken in the config
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (accesskey) {
|
|
51
|
+
this.config.accesskey = accesskey; // Set the accesskey in the config
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
39
55
|
this.api = _rbt_api["default"].configure(this.config);
|
|
40
56
|
if (isBrowser) {
|
|
41
57
|
this.api.initLocalDb();
|
|
@@ -161,6 +177,44 @@ var Roboto = exports["default"] = /*#__PURE__*/function () {
|
|
|
161
177
|
}
|
|
162
178
|
return query;
|
|
163
179
|
}()
|
|
180
|
+
}, {
|
|
181
|
+
key: "get",
|
|
182
|
+
value: function () {
|
|
183
|
+
var _get = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(endpoint, params) {
|
|
184
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
185
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
186
|
+
case 0:
|
|
187
|
+
return _context7.abrupt("return", this.api.get(endpoint, params));
|
|
188
|
+
case 1:
|
|
189
|
+
case "end":
|
|
190
|
+
return _context7.stop();
|
|
191
|
+
}
|
|
192
|
+
}, _callee7, this);
|
|
193
|
+
}));
|
|
194
|
+
function get(_x8, _x9) {
|
|
195
|
+
return _get.apply(this, arguments);
|
|
196
|
+
}
|
|
197
|
+
return get;
|
|
198
|
+
}()
|
|
199
|
+
}, {
|
|
200
|
+
key: "post",
|
|
201
|
+
value: function () {
|
|
202
|
+
var _post = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(endpoint, data) {
|
|
203
|
+
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
204
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
205
|
+
case 0:
|
|
206
|
+
return _context8.abrupt("return", this.api.post(endpoint, data));
|
|
207
|
+
case 1:
|
|
208
|
+
case "end":
|
|
209
|
+
return _context8.stop();
|
|
210
|
+
}
|
|
211
|
+
}, _callee8, this);
|
|
212
|
+
}));
|
|
213
|
+
function post(_x10, _x11) {
|
|
214
|
+
return _post.apply(this, arguments);
|
|
215
|
+
}
|
|
216
|
+
return post;
|
|
217
|
+
}()
|
|
164
218
|
}]);
|
|
165
219
|
return Roboto;
|
|
166
220
|
}();
|
package/dist/cjs/rbt_api.cjs
CHANGED
|
@@ -314,6 +314,120 @@ var RbtApi = exports["default"] = /*#__PURE__*/function () {
|
|
|
314
314
|
}
|
|
315
315
|
return load;
|
|
316
316
|
}()
|
|
317
|
+
/**
|
|
318
|
+
* Performs a GET request to the specified endpoint.
|
|
319
|
+
*
|
|
320
|
+
* This method uses the Axios instance to make an authenticated GET request.
|
|
321
|
+
* The `authtoken` stored in the class instance is included in the request headers
|
|
322
|
+
* for authorization. It handles any errors and returns the response data.
|
|
323
|
+
*
|
|
324
|
+
* @param {string} endpoint - The endpoint URL to which the GET request is made.
|
|
325
|
+
* @param {Object} [params={}] - Optional parameters to be sent with the request.
|
|
326
|
+
* @returns {Promise<Object>} - The response data from the API.
|
|
327
|
+
*/
|
|
328
|
+
}, {
|
|
329
|
+
key: "get",
|
|
330
|
+
value: function () {
|
|
331
|
+
var _get = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(endpoint) {
|
|
332
|
+
var params,
|
|
333
|
+
headers,
|
|
334
|
+
response,
|
|
335
|
+
_args8 = arguments;
|
|
336
|
+
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
337
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
338
|
+
case 0:
|
|
339
|
+
params = _args8.length > 1 && _args8[1] !== undefined ? _args8[1] : {};
|
|
340
|
+
_context8.prev = 1;
|
|
341
|
+
// Add the authToken to the headers
|
|
342
|
+
headers = {
|
|
343
|
+
authtoken: this.authtoken
|
|
344
|
+
}; // Make the GET request using Axios
|
|
345
|
+
_context8.next = 5;
|
|
346
|
+
return this.axios.get(endpoint, {
|
|
347
|
+
params: params,
|
|
348
|
+
headers: headers
|
|
349
|
+
});
|
|
350
|
+
case 5:
|
|
351
|
+
response = _context8.sent;
|
|
352
|
+
if (!(response.data.ok === false)) {
|
|
353
|
+
_context8.next = 8;
|
|
354
|
+
break;
|
|
355
|
+
}
|
|
356
|
+
return _context8.abrupt("return", this._handleError(response));
|
|
357
|
+
case 8:
|
|
358
|
+
return _context8.abrupt("return", response.data);
|
|
359
|
+
case 11:
|
|
360
|
+
_context8.prev = 11;
|
|
361
|
+
_context8.t0 = _context8["catch"](1);
|
|
362
|
+
return _context8.abrupt("return", this._handleError(_context8.t0));
|
|
363
|
+
case 14:
|
|
364
|
+
case "end":
|
|
365
|
+
return _context8.stop();
|
|
366
|
+
}
|
|
367
|
+
}, _callee8, this, [[1, 11]]);
|
|
368
|
+
}));
|
|
369
|
+
function get(_x7) {
|
|
370
|
+
return _get.apply(this, arguments);
|
|
371
|
+
}
|
|
372
|
+
return get;
|
|
373
|
+
}()
|
|
374
|
+
/**
|
|
375
|
+
* Performs a POST request to the specified endpoint.
|
|
376
|
+
*
|
|
377
|
+
* This method uses the Axios instance to make an authenticated POST request.
|
|
378
|
+
* It includes the `authtoken` in the request headers for authorization. The method
|
|
379
|
+
* sends the provided data as the request body. It handles any errors and returns
|
|
380
|
+
* the response data.
|
|
381
|
+
*
|
|
382
|
+
* @param {string} endpoint - The endpoint URL to which the POST request is made.
|
|
383
|
+
* @param {Object} [data={}] - Data to be sent in the body of the POST request.
|
|
384
|
+
* @returns {Promise<Object>} - The response data from the API.
|
|
385
|
+
*/
|
|
386
|
+
}, {
|
|
387
|
+
key: "post",
|
|
388
|
+
value: function () {
|
|
389
|
+
var _post = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9(endpoint) {
|
|
390
|
+
var data,
|
|
391
|
+
headers,
|
|
392
|
+
response,
|
|
393
|
+
_args9 = arguments;
|
|
394
|
+
return _regeneratorRuntime().wrap(function _callee9$(_context9) {
|
|
395
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
396
|
+
case 0:
|
|
397
|
+
data = _args9.length > 1 && _args9[1] !== undefined ? _args9[1] : {};
|
|
398
|
+
_context9.prev = 1;
|
|
399
|
+
// Add the authToken to the headers
|
|
400
|
+
headers = {
|
|
401
|
+
authtoken: this.authtoken
|
|
402
|
+
}; // Make the POST request using Axios
|
|
403
|
+
_context9.next = 5;
|
|
404
|
+
return this.axios.post(endpoint, data, {
|
|
405
|
+
headers: headers
|
|
406
|
+
});
|
|
407
|
+
case 5:
|
|
408
|
+
response = _context9.sent;
|
|
409
|
+
if (!(response.data.ok === false)) {
|
|
410
|
+
_context9.next = 8;
|
|
411
|
+
break;
|
|
412
|
+
}
|
|
413
|
+
return _context9.abrupt("return", this._handleError(response));
|
|
414
|
+
case 8:
|
|
415
|
+
return _context9.abrupt("return", response.data);
|
|
416
|
+
case 11:
|
|
417
|
+
_context9.prev = 11;
|
|
418
|
+
_context9.t0 = _context9["catch"](1);
|
|
419
|
+
return _context9.abrupt("return", this._handleError(_context9.t0));
|
|
420
|
+
case 14:
|
|
421
|
+
case "end":
|
|
422
|
+
return _context9.stop();
|
|
423
|
+
}
|
|
424
|
+
}, _callee9, this, [[1, 11]]);
|
|
425
|
+
}));
|
|
426
|
+
function post(_x8) {
|
|
427
|
+
return _post.apply(this, arguments);
|
|
428
|
+
}
|
|
429
|
+
return post;
|
|
430
|
+
}()
|
|
317
431
|
}, {
|
|
318
432
|
key: "_handleError",
|
|
319
433
|
value: function _handleError(err) {
|
|
@@ -331,18 +445,22 @@ var RbtApi = exports["default"] = /*#__PURE__*/function () {
|
|
|
331
445
|
key: "configure",
|
|
332
446
|
value: function configure(_ref) {
|
|
333
447
|
var apiKey = _ref.apiKey,
|
|
334
|
-
baseUrl = _ref.baseUrl
|
|
448
|
+
baseUrl = _ref.baseUrl,
|
|
449
|
+
authtoken = _ref.authtoken,
|
|
450
|
+
accesskey = _ref.accesskey;
|
|
335
451
|
if (!RbtApi.instance) {
|
|
336
452
|
var isClient = typeof window !== 'undefined';
|
|
337
|
-
var
|
|
453
|
+
var authTokenToUse = isClient && !authtoken ? localStorage.getItem('authtoken') : authtoken;
|
|
454
|
+
console.log('RbtApi authtoken ' + authtoken);
|
|
338
455
|
var axiosInstance = _axios["default"].create({
|
|
339
456
|
baseURL: baseUrl,
|
|
340
457
|
headers: {
|
|
341
|
-
accesskey: apiKey,
|
|
342
|
-
authtoken:
|
|
458
|
+
'accesskey': accesskey || apiKey,
|
|
459
|
+
'authtoken': authTokenToUse
|
|
343
460
|
}
|
|
344
461
|
});
|
|
345
462
|
RbtApi.instance = new RbtApi(axiosInstance);
|
|
463
|
+
RbtApi.instance.authtoken = authTokenToUse;
|
|
346
464
|
}
|
|
347
465
|
return RbtApi.instance;
|
|
348
466
|
}
|
package/dist/esm/index.js
CHANGED
|
@@ -30,12 +30,28 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _ty
|
|
|
30
30
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
31
31
|
var Roboto = exports["default"] = /*#__PURE__*/function () {
|
|
32
32
|
function Roboto() {
|
|
33
|
+
var proxyReq = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
33
34
|
_classCallCheck(this, Roboto);
|
|
34
35
|
var isBrowser = typeof window !== "undefined";
|
|
35
36
|
this.config = {
|
|
36
37
|
apiKey: isBrowser ? process.env.NEXT_PUBLIC_ROBOTO_API_KEY : process.env.ROBOTO_API_KEY,
|
|
37
38
|
baseUrl: 'https://' + (isBrowser ? process.env.NEXT_PUBLIC_ROBOTO_HOST : process.env.ROBOTO_HOST)
|
|
38
39
|
};
|
|
40
|
+
|
|
41
|
+
// Check if a request object is provided
|
|
42
|
+
if (proxyReq && proxyReq.headers) {
|
|
43
|
+
var authtoken = proxyReq.headers.authtoken;
|
|
44
|
+
var accesskey = proxyReq.headers.accesskey;
|
|
45
|
+
// Optionally add more headers as needed
|
|
46
|
+
if (authtoken) {
|
|
47
|
+
this.config.authtoken = authtoken; // Set the authtoken in the config
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (accesskey) {
|
|
51
|
+
this.config.accesskey = accesskey; // Set the accesskey in the config
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
39
55
|
this.api = _rbt_api["default"].configure(this.config);
|
|
40
56
|
if (isBrowser) {
|
|
41
57
|
this.api.initLocalDb();
|
|
@@ -161,6 +177,44 @@ var Roboto = exports["default"] = /*#__PURE__*/function () {
|
|
|
161
177
|
}
|
|
162
178
|
return query;
|
|
163
179
|
}()
|
|
180
|
+
}, {
|
|
181
|
+
key: "get",
|
|
182
|
+
value: function () {
|
|
183
|
+
var _get = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(endpoint, params) {
|
|
184
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
185
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
186
|
+
case 0:
|
|
187
|
+
return _context7.abrupt("return", this.api.get(endpoint, params));
|
|
188
|
+
case 1:
|
|
189
|
+
case "end":
|
|
190
|
+
return _context7.stop();
|
|
191
|
+
}
|
|
192
|
+
}, _callee7, this);
|
|
193
|
+
}));
|
|
194
|
+
function get(_x8, _x9) {
|
|
195
|
+
return _get.apply(this, arguments);
|
|
196
|
+
}
|
|
197
|
+
return get;
|
|
198
|
+
}()
|
|
199
|
+
}, {
|
|
200
|
+
key: "post",
|
|
201
|
+
value: function () {
|
|
202
|
+
var _post = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(endpoint, data) {
|
|
203
|
+
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
204
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
205
|
+
case 0:
|
|
206
|
+
return _context8.abrupt("return", this.api.post(endpoint, data));
|
|
207
|
+
case 1:
|
|
208
|
+
case "end":
|
|
209
|
+
return _context8.stop();
|
|
210
|
+
}
|
|
211
|
+
}, _callee8, this);
|
|
212
|
+
}));
|
|
213
|
+
function post(_x10, _x11) {
|
|
214
|
+
return _post.apply(this, arguments);
|
|
215
|
+
}
|
|
216
|
+
return post;
|
|
217
|
+
}()
|
|
164
218
|
}]);
|
|
165
219
|
return Roboto;
|
|
166
220
|
}();
|
package/dist/esm/rbt_api.js
CHANGED
|
@@ -314,6 +314,120 @@ var RbtApi = exports["default"] = /*#__PURE__*/function () {
|
|
|
314
314
|
}
|
|
315
315
|
return load;
|
|
316
316
|
}()
|
|
317
|
+
/**
|
|
318
|
+
* Performs a GET request to the specified endpoint.
|
|
319
|
+
*
|
|
320
|
+
* This method uses the Axios instance to make an authenticated GET request.
|
|
321
|
+
* The `authtoken` stored in the class instance is included in the request headers
|
|
322
|
+
* for authorization. It handles any errors and returns the response data.
|
|
323
|
+
*
|
|
324
|
+
* @param {string} endpoint - The endpoint URL to which the GET request is made.
|
|
325
|
+
* @param {Object} [params={}] - Optional parameters to be sent with the request.
|
|
326
|
+
* @returns {Promise<Object>} - The response data from the API.
|
|
327
|
+
*/
|
|
328
|
+
}, {
|
|
329
|
+
key: "get",
|
|
330
|
+
value: function () {
|
|
331
|
+
var _get = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(endpoint) {
|
|
332
|
+
var params,
|
|
333
|
+
headers,
|
|
334
|
+
response,
|
|
335
|
+
_args8 = arguments;
|
|
336
|
+
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
337
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
338
|
+
case 0:
|
|
339
|
+
params = _args8.length > 1 && _args8[1] !== undefined ? _args8[1] : {};
|
|
340
|
+
_context8.prev = 1;
|
|
341
|
+
// Add the authToken to the headers
|
|
342
|
+
headers = {
|
|
343
|
+
authtoken: this.authtoken
|
|
344
|
+
}; // Make the GET request using Axios
|
|
345
|
+
_context8.next = 5;
|
|
346
|
+
return this.axios.get(endpoint, {
|
|
347
|
+
params: params,
|
|
348
|
+
headers: headers
|
|
349
|
+
});
|
|
350
|
+
case 5:
|
|
351
|
+
response = _context8.sent;
|
|
352
|
+
if (!(response.data.ok === false)) {
|
|
353
|
+
_context8.next = 8;
|
|
354
|
+
break;
|
|
355
|
+
}
|
|
356
|
+
return _context8.abrupt("return", this._handleError(response));
|
|
357
|
+
case 8:
|
|
358
|
+
return _context8.abrupt("return", response.data);
|
|
359
|
+
case 11:
|
|
360
|
+
_context8.prev = 11;
|
|
361
|
+
_context8.t0 = _context8["catch"](1);
|
|
362
|
+
return _context8.abrupt("return", this._handleError(_context8.t0));
|
|
363
|
+
case 14:
|
|
364
|
+
case "end":
|
|
365
|
+
return _context8.stop();
|
|
366
|
+
}
|
|
367
|
+
}, _callee8, this, [[1, 11]]);
|
|
368
|
+
}));
|
|
369
|
+
function get(_x7) {
|
|
370
|
+
return _get.apply(this, arguments);
|
|
371
|
+
}
|
|
372
|
+
return get;
|
|
373
|
+
}()
|
|
374
|
+
/**
|
|
375
|
+
* Performs a POST request to the specified endpoint.
|
|
376
|
+
*
|
|
377
|
+
* This method uses the Axios instance to make an authenticated POST request.
|
|
378
|
+
* It includes the `authtoken` in the request headers for authorization. The method
|
|
379
|
+
* sends the provided data as the request body. It handles any errors and returns
|
|
380
|
+
* the response data.
|
|
381
|
+
*
|
|
382
|
+
* @param {string} endpoint - The endpoint URL to which the POST request is made.
|
|
383
|
+
* @param {Object} [data={}] - Data to be sent in the body of the POST request.
|
|
384
|
+
* @returns {Promise<Object>} - The response data from the API.
|
|
385
|
+
*/
|
|
386
|
+
}, {
|
|
387
|
+
key: "post",
|
|
388
|
+
value: function () {
|
|
389
|
+
var _post = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9(endpoint) {
|
|
390
|
+
var data,
|
|
391
|
+
headers,
|
|
392
|
+
response,
|
|
393
|
+
_args9 = arguments;
|
|
394
|
+
return _regeneratorRuntime().wrap(function _callee9$(_context9) {
|
|
395
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
396
|
+
case 0:
|
|
397
|
+
data = _args9.length > 1 && _args9[1] !== undefined ? _args9[1] : {};
|
|
398
|
+
_context9.prev = 1;
|
|
399
|
+
// Add the authToken to the headers
|
|
400
|
+
headers = {
|
|
401
|
+
authtoken: this.authtoken
|
|
402
|
+
}; // Make the POST request using Axios
|
|
403
|
+
_context9.next = 5;
|
|
404
|
+
return this.axios.post(endpoint, data, {
|
|
405
|
+
headers: headers
|
|
406
|
+
});
|
|
407
|
+
case 5:
|
|
408
|
+
response = _context9.sent;
|
|
409
|
+
if (!(response.data.ok === false)) {
|
|
410
|
+
_context9.next = 8;
|
|
411
|
+
break;
|
|
412
|
+
}
|
|
413
|
+
return _context9.abrupt("return", this._handleError(response));
|
|
414
|
+
case 8:
|
|
415
|
+
return _context9.abrupt("return", response.data);
|
|
416
|
+
case 11:
|
|
417
|
+
_context9.prev = 11;
|
|
418
|
+
_context9.t0 = _context9["catch"](1);
|
|
419
|
+
return _context9.abrupt("return", this._handleError(_context9.t0));
|
|
420
|
+
case 14:
|
|
421
|
+
case "end":
|
|
422
|
+
return _context9.stop();
|
|
423
|
+
}
|
|
424
|
+
}, _callee9, this, [[1, 11]]);
|
|
425
|
+
}));
|
|
426
|
+
function post(_x8) {
|
|
427
|
+
return _post.apply(this, arguments);
|
|
428
|
+
}
|
|
429
|
+
return post;
|
|
430
|
+
}()
|
|
317
431
|
}, {
|
|
318
432
|
key: "_handleError",
|
|
319
433
|
value: function _handleError(err) {
|
|
@@ -331,18 +445,22 @@ var RbtApi = exports["default"] = /*#__PURE__*/function () {
|
|
|
331
445
|
key: "configure",
|
|
332
446
|
value: function configure(_ref) {
|
|
333
447
|
var apiKey = _ref.apiKey,
|
|
334
|
-
baseUrl = _ref.baseUrl
|
|
448
|
+
baseUrl = _ref.baseUrl,
|
|
449
|
+
authtoken = _ref.authtoken,
|
|
450
|
+
accesskey = _ref.accesskey;
|
|
335
451
|
if (!RbtApi.instance) {
|
|
336
452
|
var isClient = typeof window !== 'undefined';
|
|
337
|
-
var
|
|
453
|
+
var authTokenToUse = isClient && !authtoken ? localStorage.getItem('authtoken') : authtoken;
|
|
454
|
+
console.log('RbtApi authtoken ' + authtoken);
|
|
338
455
|
var axiosInstance = _axios["default"].create({
|
|
339
456
|
baseURL: baseUrl,
|
|
340
457
|
headers: {
|
|
341
|
-
accesskey: apiKey,
|
|
342
|
-
authtoken:
|
|
458
|
+
'accesskey': accesskey || apiKey,
|
|
459
|
+
'authtoken': authTokenToUse
|
|
343
460
|
}
|
|
344
461
|
});
|
|
345
462
|
RbtApi.instance = new RbtApi(axiosInstance);
|
|
463
|
+
RbtApi.instance.authtoken = authTokenToUse;
|
|
346
464
|
}
|
|
347
465
|
return RbtApi.instance;
|
|
348
466
|
}
|
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -11,7 +11,7 @@ export {
|
|
|
11
11
|
|
|
12
12
|
export default class Roboto{
|
|
13
13
|
|
|
14
|
-
constructor() {
|
|
14
|
+
constructor(proxyReq = null) {
|
|
15
15
|
|
|
16
16
|
const isBrowser = typeof window !== "undefined";
|
|
17
17
|
|
|
@@ -20,6 +20,20 @@ export default class Roboto{
|
|
|
20
20
|
baseUrl: 'https://' + (isBrowser ? process.env.NEXT_PUBLIC_ROBOTO_HOST : process.env.ROBOTO_HOST),
|
|
21
21
|
};
|
|
22
22
|
|
|
23
|
+
// Check if a request object is provided
|
|
24
|
+
if (proxyReq && proxyReq.headers) {
|
|
25
|
+
const authtoken = proxyReq.headers.authtoken;
|
|
26
|
+
const accesskey = proxyReq.headers.accesskey;
|
|
27
|
+
// Optionally add more headers as needed
|
|
28
|
+
if (authtoken) {
|
|
29
|
+
this.config.authtoken = authtoken; // Set the authtoken in the config
|
|
30
|
+
}
|
|
31
|
+
if (accesskey) {
|
|
32
|
+
this.config.accesskey = accesskey; // Set the accesskey in the config
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
|
|
23
37
|
this.api = RbtApi.configure(this.config);
|
|
24
38
|
if(isBrowser){
|
|
25
39
|
this.api.initLocalDb();
|
|
@@ -50,5 +64,12 @@ export default class Roboto{
|
|
|
50
64
|
return this.api.query(type, params);
|
|
51
65
|
}
|
|
52
66
|
|
|
67
|
+
async get(endpoint, params){
|
|
68
|
+
return this.api.get(endpoint, params);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
async post(endpoint, data){
|
|
72
|
+
return this.api.post(endpoint, data);
|
|
73
|
+
}
|
|
53
74
|
}
|
|
54
75
|
|
package/src/rbt_api.js
CHANGED
|
@@ -14,21 +14,23 @@ export default class RbtApi {
|
|
|
14
14
|
this.authtoken = null;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
static configure({ apiKey, baseUrl }) {
|
|
17
|
+
static configure({ apiKey, baseUrl, authtoken, accesskey }) {
|
|
18
18
|
if (!RbtApi.instance) {
|
|
19
19
|
const isClient = typeof window !== 'undefined';
|
|
20
20
|
|
|
21
|
-
const
|
|
21
|
+
const authTokenToUse = isClient && !authtoken ? localStorage.getItem('authtoken') : authtoken;
|
|
22
22
|
|
|
23
|
+
console.log('RbtApi authtoken '+authtoken);
|
|
23
24
|
const axiosInstance = axios.create({
|
|
24
25
|
baseURL: baseUrl,
|
|
25
26
|
headers: {
|
|
26
|
-
accesskey: apiKey,
|
|
27
|
-
authtoken:
|
|
27
|
+
'accesskey': accesskey || apiKey,
|
|
28
|
+
'authtoken': authTokenToUse
|
|
28
29
|
}
|
|
29
30
|
});
|
|
30
31
|
|
|
31
32
|
RbtApi.instance = new RbtApi(axiosInstance);
|
|
33
|
+
RbtApi.instance.authtoken = authTokenToUse;
|
|
32
34
|
}
|
|
33
35
|
return RbtApi.instance;
|
|
34
36
|
}
|
|
@@ -47,6 +49,7 @@ export default class RbtApi {
|
|
|
47
49
|
|
|
48
50
|
async login(params) {
|
|
49
51
|
try {
|
|
52
|
+
|
|
50
53
|
// create a md5 hash of the password using crypto-js
|
|
51
54
|
const hash_password = CryptoJS.MD5(params.password).toString(CryptoJS.enc.Hex);
|
|
52
55
|
const response = await this.axios.post('/user_service/loginUser', [{
|
|
@@ -161,6 +164,77 @@ export default class RbtApi {
|
|
|
161
164
|
|
|
162
165
|
}
|
|
163
166
|
|
|
167
|
+
/**
|
|
168
|
+
* Performs a GET request to the specified endpoint.
|
|
169
|
+
*
|
|
170
|
+
* This method uses the Axios instance to make an authenticated GET request.
|
|
171
|
+
* The `authtoken` stored in the class instance is included in the request headers
|
|
172
|
+
* for authorization. It handles any errors and returns the response data.
|
|
173
|
+
*
|
|
174
|
+
* @param {string} endpoint - The endpoint URL to which the GET request is made.
|
|
175
|
+
* @param {Object} [params={}] - Optional parameters to be sent with the request.
|
|
176
|
+
* @returns {Promise<Object>} - The response data from the API.
|
|
177
|
+
*/
|
|
178
|
+
async get(endpoint, params = {}) {
|
|
179
|
+
try {
|
|
180
|
+
|
|
181
|
+
// Add the authToken to the headers
|
|
182
|
+
const headers = {
|
|
183
|
+
authtoken: this.authtoken
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
// Make the GET request using Axios
|
|
187
|
+
const response = await this.axios.get(endpoint, { params, headers });
|
|
188
|
+
|
|
189
|
+
// Check if the response is not okay
|
|
190
|
+
if (response.data.ok === false) {
|
|
191
|
+
return this._handleError(response);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
// Return the response data
|
|
195
|
+
return response.data;
|
|
196
|
+
} catch (e) {
|
|
197
|
+
// Handle any errors
|
|
198
|
+
return this._handleError(e);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Performs a POST request to the specified endpoint.
|
|
204
|
+
*
|
|
205
|
+
* This method uses the Axios instance to make an authenticated POST request.
|
|
206
|
+
* It includes the `authtoken` in the request headers for authorization. The method
|
|
207
|
+
* sends the provided data as the request body. It handles any errors and returns
|
|
208
|
+
* the response data.
|
|
209
|
+
*
|
|
210
|
+
* @param {string} endpoint - The endpoint URL to which the POST request is made.
|
|
211
|
+
* @param {Object} [data={}] - Data to be sent in the body of the POST request.
|
|
212
|
+
* @returns {Promise<Object>} - The response data from the API.
|
|
213
|
+
*/
|
|
214
|
+
async post(endpoint, data = {}) {
|
|
215
|
+
try {
|
|
216
|
+
// Add the authToken to the headers
|
|
217
|
+
const headers = {
|
|
218
|
+
authtoken: this.authtoken
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
// Make the POST request using Axios
|
|
222
|
+
const response = await this.axios.post(endpoint, data, { headers });
|
|
223
|
+
|
|
224
|
+
// Check if the response is not okay
|
|
225
|
+
if (response.data.ok === false) {
|
|
226
|
+
return this._handleError(response);
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
// Return the response data
|
|
230
|
+
return response.data;
|
|
231
|
+
} catch (e) {
|
|
232
|
+
// Handle any errors
|
|
233
|
+
return this._handleError(e);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
|
|
164
238
|
_handleError(err){
|
|
165
239
|
|
|
166
240
|
if(_.isObject(err)){
|