roboto-js 1.0.16 → 1.0.17

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.
@@ -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
  }();
@@ -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) {
@@ -335,6 +449,7 @@ var RbtApi = exports["default"] = /*#__PURE__*/function () {
335
449
  if (!RbtApi.instance) {
336
450
  var isClient = typeof window !== 'undefined';
337
451
  var authtoken = isClient ? localStorage.getItem('authtoken') : null;
452
+ console.log('RbtApi authtoken ' + authtoken);
338
453
  var axiosInstance = _axios["default"].create({
339
454
  baseURL: baseUrl,
340
455
  headers: {
@@ -343,6 +458,7 @@ var RbtApi = exports["default"] = /*#__PURE__*/function () {
343
458
  }
344
459
  });
345
460
  RbtApi.instance = new RbtApi(axiosInstance);
461
+ RbtApi.instance.authtoken = authtoken;
346
462
  }
347
463
  return RbtApi.instance;
348
464
  }
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
  }();
@@ -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) {
@@ -335,6 +449,7 @@ var RbtApi = exports["default"] = /*#__PURE__*/function () {
335
449
  if (!RbtApi.instance) {
336
450
  var isClient = typeof window !== 'undefined';
337
451
  var authtoken = isClient ? localStorage.getItem('authtoken') : null;
452
+ console.log('RbtApi authtoken ' + authtoken);
338
453
  var axiosInstance = _axios["default"].create({
339
454
  baseURL: baseUrl,
340
455
  headers: {
@@ -343,6 +458,7 @@ var RbtApi = exports["default"] = /*#__PURE__*/function () {
343
458
  }
344
459
  });
345
460
  RbtApi.instance = new RbtApi(axiosInstance);
461
+ RbtApi.instance.authtoken = authtoken;
346
462
  }
347
463
  return RbtApi.instance;
348
464
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "roboto-js",
3
- "version": "1.0.16",
3
+ "version": "1.0.17",
4
4
  "type": "module",
5
5
  "description": "",
6
6
  "main": "dist/cjs/index.cjs",
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
@@ -20,6 +20,7 @@ export default class RbtApi {
20
20
 
21
21
  const authtoken = (isClient)? localStorage.getItem('authtoken'): null;
22
22
 
23
+ console.log('RbtApi authtoken '+authtoken);
23
24
  const axiosInstance = axios.create({
24
25
  baseURL: baseUrl,
25
26
  headers: {
@@ -29,6 +30,7 @@ export default class RbtApi {
29
30
  });
30
31
 
31
32
  RbtApi.instance = new RbtApi(axiosInstance);
33
+ RbtApi.instance.authtoken = authtoken;
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)){