@intuned/runtime-dev 1.3.1-api-token.1 → 1.3.1-api-token.2

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.
@@ -23,5 +23,5 @@ async function getAuthCredentials(options) {
23
23
  };
24
24
  }
25
25
  function getBaseUrl() {
26
- return process.env.INTUNED_API_BASE_URL || process.env.INTUNED_API_DOMAIN || `https://app.intuned.io`;
26
+ return process.env[_constants.API_BASE_URL_ENV_VAR_KEY] || process.env.INTUNED_API_DOMAIN || `https://app.intuned.io`;
27
27
  }
@@ -5,3 +5,4 @@ export declare const WORKSPACE_ID_ENV_VAR_KEY = "INTUNED_WORKSPACE_ID";
5
5
  export declare const PROJECT_ID_ENV_VAR_KEY = "INTUNED_PROJECT_ID";
6
6
  export declare const API_KEY_ENV_VAR_KEY = "INTUNED_API_KEY";
7
7
  export declare const API_KEY_HEADER_NAME = "x-api-key";
8
+ export declare const API_BASE_URL_ENV_VAR_KEY = "INTUNED_API_BASE_URL";
@@ -3,11 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.WORKSPACE_ID_ENV_VAR_KEY = exports.PROJECT_ID_ENV_VAR_KEY = exports.AUTH_SESSIONS_INSTANCES_FOLDER_NAME = exports.AUTH_SESSIONS_FOLDER_NAME = exports.API_KEY_HEADER_NAME = exports.API_KEY_ENV_VAR_KEY = exports.API_FOLDER_NAME = void 0;
6
+ exports.WORKSPACE_ID_ENV_VAR_KEY = exports.PROJECT_ID_ENV_VAR_KEY = exports.AUTH_SESSIONS_INSTANCES_FOLDER_NAME = exports.AUTH_SESSIONS_FOLDER_NAME = exports.API_KEY_HEADER_NAME = exports.API_KEY_ENV_VAR_KEY = exports.API_FOLDER_NAME = exports.API_BASE_URL_ENV_VAR_KEY = void 0;
7
7
  const API_FOLDER_NAME = exports.API_FOLDER_NAME = "api";
8
8
  const AUTH_SESSIONS_FOLDER_NAME = exports.AUTH_SESSIONS_FOLDER_NAME = "auth-sessions";
9
9
  const AUTH_SESSIONS_INSTANCES_FOLDER_NAME = exports.AUTH_SESSIONS_INSTANCES_FOLDER_NAME = "auth-sessions-instances";
10
10
  const WORKSPACE_ID_ENV_VAR_KEY = exports.WORKSPACE_ID_ENV_VAR_KEY = "INTUNED_WORKSPACE_ID";
11
11
  const PROJECT_ID_ENV_VAR_KEY = exports.PROJECT_ID_ENV_VAR_KEY = "INTUNED_PROJECT_ID";
12
12
  const API_KEY_ENV_VAR_KEY = exports.API_KEY_ENV_VAR_KEY = "INTUNED_API_KEY";
13
- const API_KEY_HEADER_NAME = exports.API_KEY_HEADER_NAME = "x-api-key";
13
+ const API_KEY_HEADER_NAME = exports.API_KEY_HEADER_NAME = "x-api-key";
14
+ const API_BASE_URL_ENV_VAR_KEY = exports.API_BASE_URL_ENV_VAR_KEY = "INTUNED_API_BASE_URL";
@@ -9,6 +9,7 @@ var _crossFetch = _interopRequireDefault(require("cross-fetch"));
9
9
  var jwt = _interopRequireWildcard(require("jsonwebtoken"));
10
10
  var _neverthrow = require("neverthrow");
11
11
  var _constants = require("./constants");
12
+ var _helpers = require("../commands/intuned-cli/helpers");
12
13
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
14
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -63,26 +64,36 @@ class JwtTokenManager {
63
64
  const newToken = jsonResult.value.token;
64
65
  if (newToken) this._token = newToken;
65
66
  }
66
- fetchWithToken(...[input, init]) {
67
+ async fetchWithToken(...[input, init]) {
67
68
  const headers = new Headers(init?.headers);
68
69
  if (process.env[_constants.API_KEY_ENV_VAR_KEY]) {
69
70
  headers.set(_constants.API_KEY_HEADER_NAME, process.env[_constants.API_KEY_ENV_VAR_KEY]);
70
71
  } else if (this.token !== undefined) {
71
72
  headers.set("Authorization", `Bearer ${this.token}`);
72
73
  }
73
- return (0, _crossFetch.default)(input, {
74
+ const result = await (0, _crossFetch.default)(input, {
74
75
  ...init,
75
76
  headers
76
77
  });
78
+ if (result.status === 401) {
79
+ console.warn("Unauthorized backend function call - make sure you are running in an Intuned environment or have set your API key");
80
+ }
81
+ return result;
77
82
  }
78
83
  get backendFunctionsBaseUrl() {
79
- if (!process.env.FUNCTIONS_DOMAIN || !process.env[_constants.WORKSPACE_ID_ENV_VAR_KEY]) {
80
- throw new Error(`Cannot call backend function - FUNCTIONS_DOMAIN or ${_constants.WORKSPACE_ID_ENV_VAR_KEY} not set`);
84
+ if (!process.env.FUNCTIONS_DOMAIN && !(0, _helpers.getBaseUrl)()) {
85
+ throw new Error(`Cannot call backend function - FUNCTIONS_DOMAIN or ${_constants.API_BASE_URL_ENV_VAR_KEY} not set`);
86
+ }
87
+ const domain = process.env.FUNCTIONS_DOMAIN ?? (0, _helpers.getBaseUrl)().replace(/\/+$/, "");
88
+ if (!process.env[_constants.WORKSPACE_ID_ENV_VAR_KEY]) {
89
+ throw new Error(`Cannot call backend function - ${_constants.WORKSPACE_ID_ENV_VAR_KEY} not set`);
81
90
  }
91
+ const workspaceId = process.env[_constants.WORKSPACE_ID_ENV_VAR_KEY];
82
92
  if (!process.env[_constants.PROJECT_ID_ENV_VAR_KEY] && !process.env.INTUNED_INTEGRATION_ID) {
83
93
  throw new Error(`Cannot call backend function - ${_constants.PROJECT_ID_ENV_VAR_KEY} or INTUNED_INTEGRATION_ID not set`);
84
94
  }
85
- return `${process.env.FUNCTIONS_DOMAIN}/api/${process.env[_constants.WORKSPACE_ID_ENV_VAR_KEY]}/functions/${process.env[_constants.PROJECT_ID_ENV_VAR_KEY] ?? process.env.INTUNED_INTEGRATION_ID}`;
95
+ const projectId = process.env.INTUNED_INTEGRATION_ID ?? process.env[_constants.PROJECT_ID_ENV_VAR_KEY];
96
+ return `${domain}/api/${workspaceId}/functions/${projectId}`;
86
97
  }
87
98
  }
88
99
  const backendFunctionsTokenManager = exports.backendFunctionsTokenManager = new JwtTokenManager(`refreshBackendFunctionsToken`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intuned/runtime-dev",
3
- "version": "1.3.1-api-token.1",
3
+ "version": "1.3.1-api-token.2",
4
4
  "description": "Intuned runtime",
5
5
  "exports": {
6
6
  ".": "./dist/index.js",