@tellescope/sdk 1.255.16 → 1.255.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.
Files changed (35) hide show
  1. package/lib/cjs/sdk.d.ts +1 -0
  2. package/lib/cjs/sdk.d.ts.map +1 -1
  3. package/lib/cjs/sdk.js.map +1 -1
  4. package/lib/cjs/tests/api_tests/organization_api_keys.test.js +2 -2
  5. package/lib/cjs/tests/api_tests/organization_api_keys.test.js.map +1 -1
  6. package/lib/cjs/tests/api_tests/scoped_api_keys.test.d.ts +6 -0
  7. package/lib/cjs/tests/api_tests/scoped_api_keys.test.d.ts.map +1 -0
  8. package/lib/cjs/tests/api_tests/scoped_api_keys.test.js +314 -0
  9. package/lib/cjs/tests/api_tests/scoped_api_keys.test.js.map +1 -0
  10. package/lib/cjs/tests/tests.d.ts.map +1 -1
  11. package/lib/cjs/tests/tests.js +147 -143
  12. package/lib/cjs/tests/tests.js.map +1 -1
  13. package/lib/esm/enduser.d.ts +0 -1
  14. package/lib/esm/enduser.d.ts.map +1 -1
  15. package/lib/esm/sdk.d.ts +3 -3
  16. package/lib/esm/sdk.d.ts.map +1 -1
  17. package/lib/esm/sdk.js.map +1 -1
  18. package/lib/esm/session.d.ts +0 -1
  19. package/lib/esm/session.d.ts.map +1 -1
  20. package/lib/esm/tests/api_tests/organization_api_keys.test.js +2 -2
  21. package/lib/esm/tests/api_tests/organization_api_keys.test.js.map +1 -1
  22. package/lib/esm/tests/api_tests/scoped_api_keys.test.d.ts +6 -0
  23. package/lib/esm/tests/api_tests/scoped_api_keys.test.d.ts.map +1 -0
  24. package/lib/esm/tests/api_tests/scoped_api_keys.test.js +307 -0
  25. package/lib/esm/tests/api_tests/scoped_api_keys.test.js.map +1 -0
  26. package/lib/esm/tests/tests.d.ts.map +1 -1
  27. package/lib/esm/tests/tests.js +147 -143
  28. package/lib/esm/tests/tests.js.map +1 -1
  29. package/lib/tsconfig.tsbuildinfo +1 -1
  30. package/package.json +8 -8
  31. package/src/sdk.ts +3 -0
  32. package/src/tests/api_tests/organization_api_keys.test.ts +2 -2
  33. package/src/tests/api_tests/scoped_api_keys.test.ts +237 -0
  34. package/src/tests/tests.ts +2 -0
  35. package/test_generated.pdf +0 -0
@@ -40,7 +40,7 @@ import { assert, async_test, log_header, wait, } from "@tellescope/testing";
40
40
  import { setup_tests } from "../setup";
41
41
  var host = process.env.API_URL || 'http://localhost:8080';
42
42
  // fields that the admin org-wide list endpoint is allowed to return
43
- var ALLOWED_FIELDS = ['id', 'creator', 'businessId', 'updatedAt'].sort();
43
+ var ALLOWED_FIELDS = ['id', 'creator', 'businessId', 'updatedAt', 'scopes'].sort();
44
44
  export var organization_api_keys_tests = function (_a) {
45
45
  var sdk = _a.sdk, sdkNonAdmin = _a.sdkNonAdmin;
46
46
  return __awaiter(void 0, void 0, void 0, function () {
@@ -108,7 +108,7 @@ export var organization_api_keys_tests = function (_a) {
108
108
  offending = apiKeys
109
109
  .map(function (k) { return Object.keys(k).filter(function (key) { return !ALLOWED_FIELDS.includes(key); }); })
110
110
  .find(function (extra) { return extra.length > 0; });
111
- assert(offending === undefined, "a returned record exposed non-allowlisted fields: ".concat(JSON.stringify(offending)), "returned records contain only allowlisted fields (subset of id, creator, businessId, updatedAt)");
111
+ assert(offending === undefined, "a returned record exposed non-allowlisted fields: ".concat(JSON.stringify(offending)), "returned records contain only allowlisted fields (subset of id, creator, businessId, updatedAt, scopes)");
112
112
  // =============================================
113
113
  // CROSS-ORG ISOLATION (no leakage across businesses)
114
114
  // =============================================
@@ -1 +1 @@
1
- {"version":3,"file":"organization_api_keys.test.js","sourceRoot":"","sources":["../../../../src/tests/api_tests/organization_api_keys.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"organization_api_keys.test.js","sourceRoot":"","sources":["../../../../src/tests/api_tests/organization_api_keys.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE,CAAC;AAExC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EACL,MAAM,EACN,UAAU,EACV,UAAU,EACV,IAAI,GACL,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAEtC,IAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,uBAAgC,CAAA;AAEpE,oEAAoE;AACpE,IAAM,cAAc,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAA;AAEpF,MAAM,CAAC,IAAM,2BAA2B,GAAG,UACzC,EAA4D;QAA1D,GAAG,SAAA,EAAE,WAAW,iBAAA;;;;;;;oBAElB,UAAU,CAAC,mDAAmD,CAAC,CAAA;oBAQzD,WAAW,GAAa,EAAE,CAAA;;;;oBAOV,qBAAM,GAAG,CAAC,GAAG,CAAC,6BAA6B,CAAC,SAAS,CAAC;4BACxE,IAAI,EAAE,oBAAoB;4BAC1B,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;yBACxF,CAAC,EAAA;;oBAHI,WAAW,GAAG,SAGlB;oBACF,aAAa,GAAG,WAAW,CAAC,EAAE,CAAA;oBAI5B,qBAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAM,OAAA,IAAI,EAAJ,CAAI,CAAC,EAAA;;oBAD7E,KAAA,CAChB,SAA6F,CAC9F,CAAA;4BAFiB,wBAEjB;oBACC,qBAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,oCAAoC,EAAE,0BAA0B,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAA;;oBADlI,KAAA,CACH,SAAqI,CACtI,CAAA;;;oBAJK,gBAIL;oBACD,WAAW,GAAG,WAAS,CAAC,EAAE,CAAA;oBAC1B,qBAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,WAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,EAAA;;oBAAzG,SAAyG,CAAA;oBACzG,qBAAM,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAA,CAAC,8DAA8D;;oBAA1F,SAA2B,CAAA,CAAC,8DAA8D;yBAErE,OAAO;;wBAC1B,IAAI,MAAA;;oBACQ,qBAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,WAAS,CAAC,EAAE,EAAE,CAAC,EAAA;;oBAFrE,aAAW,cAAI,OAAO,YAE1B,YAAS,GAAE,CAAC,SAA6D,CAAC,CAAC,SAAS;oCACpF;oBAGe,qBAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,EAAA;;oBAA/C,aAAW,SAAoC;oBACrD,WAAW,CAAC,IAAI,CAAC,UAAQ,CAAC,EAAE,CAAC,CAAA;oBAGZ,qBAAM,UAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,EAAA;;oBAApD,QAAQ,GAAG,SAAyC;oBAC1D,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAA;oBAKJ,qBAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,yBAAyB,EAAE,EAAA;;oBAA9D,OAAO,GAAK,CAAA,SAAkD,CAAA,QAAvD;oBAEf,MAAM,CACJ,OAAO,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,EAAE,KAAK,UAAU,EAAnB,CAAmB,CAAC,EACtC,wDAAiD,UAAU,CAAE,EAC7D,gFAAgF,CACjF,CAAA;oBACD,MAAM,CACJ,OAAO,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,EAAE,KAAK,UAAQ,CAAC,EAAE,EAApB,CAAoB,CAAC,EACvC,gDAAgD,EAChD,8DAA8D,CAC/D,CAAA;oBACD,MAAM,CACJ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,EAAE,KAAK,UAAU,IAAI,CAAC,CAAC,OAAO,KAAK,WAAS,CAAC,EAAE,EAAjD,CAAiD,CAAC,EACtE,+CAA+C,EAC/C,0CAA0C,CAC3C,CAAA;oBAED,gDAAgD;oBAChD,4CAA4C;oBAC5C,gDAAgD;oBAChD,MAAM,CACJ,OAAO,CAAC,KAAK,CAAC,UAAA,CAAC,IAAI,OAAC,CAAS,CAAC,GAAG,KAAK,SAAS,EAA5B,CAA4B,CAAC,EAChD,6CAA6C,EAC7C,2DAA2D,CAC5D,CAAA;oBACD,MAAM,CACJ,OAAO,CAAC,KAAK,CAAC,UAAA,CAAC,IAAI,OAAC,CAAS,CAAC,SAAS,KAAK,SAAS,EAAlC,CAAkC,CAAC,EACtD,uCAAuC,EACvC,sCAAsC,CACvC,CAAA;oBAIK,SAAS,GAAG,OAAO;yBACtB,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAA,GAAG,IAAI,OAAA,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAA7B,CAA6B,CAAC,EAA3D,CAA2D,CAAC;yBACrE,IAAI,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,MAAM,GAAG,CAAC,EAAhB,CAAgB,CAAC,CAAA;oBAClC,MAAM,CACJ,SAAS,KAAK,SAAS,EACvB,4DAAqD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAE,EAChF,yGAAyG,CAC1G,CAAA;oBAED,gDAAgD;oBAChD,qDAAqD;oBACrD,gDAAgD;oBAChD,MAAM,CACJ,OAAO,CAAC,KAAK,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,UAAU,KAAK,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAxC,CAAwC,CAAC,EAC5D,iDAAiD,EACjD,wDAAwD,CACzD,CAAA;oBAED,gDAAgD;oBAChD,gCAAgC;oBAChC,gDAAgD;oBAChD,qBAAM,UAAU,CACd,uDAAuD,EACvD,cAAM,OAAA,UAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,yBAAyB,EAAE,EAAjD,CAAiD,EACvD,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,UAAC,CAAM,IAAK,OAAA,CAAC,CAAC,UAAU,KAAK,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,EAAlE,CAAkE,EAAE,CAC/G,EAAA;;oBAPD,gDAAgD;oBAChD,gCAAgC;oBAChC,gDAAgD;oBAChD,SAIC,CAAA;oBACD,qBAAM,UAAU,CACd,yDAAyD,EACzD,cAAM,OAAA,UAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,EAAE,EAAE,UAAQ,CAAC,EAAE,EAAE,CAAC,EAAtE,CAAsE,EAC5E,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,UAAC,CAAM,IAAK,OAAA,CAAC,CAAC,UAAU,KAAK,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,EAAlE,CAAkE,EAAE,CAC/G;wBAED,4CAA4C;sBAF3C;;oBAJD,SAIC,CAAA;oBAGmB,qBAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,yBAAyB,EAAE,EAAA;;oBAAhE,WAAW,GAAG,SAAkD;oBACtE,MAAM,CACJ,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,EAAE,KAAK,UAAQ,CAAC,EAAE,EAApB,CAAoB,CAAC,EACnD,iDAAiD,EACjD,+CAA+C,CAChD,CAAA;oBAED,gDAAgD;oBAChD,kCAAkC;oBAClC,gDAAgD;oBAChD,qBAAM,UAAU,CACd,8DAA8D,EAC9D,cAAM,OAAA,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,EAAE,EAAE,UAAW,EAAE,CAAC,EAAjE,CAAiE,EACvE,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI,EAAE,CAC7C,EAAA;;oBAPD,gDAAgD;oBAChD,kCAAkC;oBAClC,gDAAgD;oBAChD,SAIC,CAAA;oBAEmB,qBAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,yBAAyB,EAAE,EAAA;;oBAAhE,WAAW,GAAG,SAAkD;oBACtE,MAAM,CACJ,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,EAAE,KAAK,UAAU,EAAnB,CAAmB,CAAC,EACnD,4CAA4C,EAC5C,oDAAoD,CACrD,CAAA;oBACD,UAAU,GAAG,SAAS,CAAA,CAAC,4CAA4C;oBAEnE,gFAAgF;oBAChF,qBAAM,UAAU,CACd,iEAAiE,EACjE,cAAM,OAAA,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,EAAE,EAAE,0BAA0B,EAAE,CAAC,EAAhF,CAAgF,EACtF,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI,EAAE,CAC7C,EAAA;;oBALD,gFAAgF;oBAChF,SAIC,CAAA;oBACiB,qBAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,yBAAyB,EAAE,EAAA;;oBAA9D,SAAS,GAAG,SAAkD;oBACpE,MAAM,CACJ,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,EAAE,KAAK,UAAQ,CAAC,EAAE,EAApB,CAAoB,CAAC,EACjD,uCAAuC,EACvC,mDAAmD,CACpD,CAAA;;;0BAG2B,EAAX,2BAAW;;;yBAAX,CAAA,yBAAW,CAAA;oBAAjB,EAAE;oBACX,qBAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAO,CAAC,CAAC,EAAA;;oBAApD,SAAoD,CAAA;;;oBADrC,IAAW,CAAA;;;yBAIxB,UAAU,EAAV,yBAAU;oBACZ,qBAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,cAAO,CAAC,CAAC,EAAA;;oBAAtF,SAAsF,CAAA;;;yBAEpF,WAAW,EAAX,yBAAW;oBACb,qBAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,cAAO,CAAC,CAAC,EAAA;;oBAA1D,SAA0D,CAAA;;;yBAExD,aAAa,EAAb,yBAAa;oBACf,qBAAM,GAAG,CAAC,GAAG,CAAC,6BAA6B,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,cAAO,CAAC,CAAC,EAAA;;oBAApF,SAAoF,CAAA;;;;;;;CAGzF,CAAA;AAED,6CAA6C;AAC7C,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;IAC3B,IAAM,KAAG,GAAG,IAAI,OAAO,CAAC,EAAE,IAAI,MAAA,EAAE,CAAC,CAAA;IACjC,IAAM,aAAW,GAAG,IAAI,OAAO,CAAC,EAAE,IAAI,MAAA,EAAE,CAAC,CAAA;IAEzC,IAAM,QAAQ,GAAG;;;wBACf,qBAAM,WAAW,CAAC,KAAG,EAAE,aAAW,CAAC,EAAA;;oBAAnC,SAAmC,CAAA;oBACnC,qBAAM,2BAA2B,CAAC,EAAE,GAAG,OAAA,EAAE,WAAW,eAAA,EAAE,CAAC,EAAA;;oBAAvD,SAAuD,CAAA;;;;SACxD,CAAA;IAED,QAAQ,EAAE;SACP,IAAI,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAA;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC;SACD,KAAK,CAAC,UAAC,KAAK;QACX,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAA;QAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;CACL"}
@@ -0,0 +1,6 @@
1
+ import { Session } from "../../sdk";
2
+ export declare const scoped_api_keys_tests: ({ sdk, sdkNonAdmin }: {
3
+ sdk: Session;
4
+ sdkNonAdmin: Session;
5
+ }) => Promise<void>;
6
+ //# sourceMappingURL=scoped_api_keys.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scoped_api_keys.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/api_tests/scoped_api_keys.test.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAcnC,eAAO,MAAM,qBAAqB;SAAwC,OAAO;iBAAe,OAAO;mBAqMtG,CAAA"}
@@ -0,0 +1,307 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ require('source-map-support').install();
38
+ import axios from "axios";
39
+ import { Session } from "../../sdk";
40
+ import { assert, async_test, log_header, wait, } from "@tellescope/testing";
41
+ import { setup_tests } from "../setup";
42
+ import { FORM_INGESTION_API_KEY_SCOPE } from "@tellescope/types-models";
43
+ var host = process.env.API_URL || "http://localhost:8080";
44
+ var TEST_EMAIL = "scoped-api-keys@tellescope.com";
45
+ export var scoped_api_keys_tests = function (_a) {
46
+ var sdk = _a.sdk, sdkNonAdmin = _a.sdkNonAdmin;
47
+ return __awaiter(void 0, void 0, void 0, function () {
48
+ var form, buildUrl, bodyFor, keyIds, formResponseIds, throwawayUserId, throwawayRoleId, scoped_1, headerResult, pathResult, apiKeysRole, throwawayUser, _b, otherSdk_1, _c, nonAdminKey, unscoped_1, unscopedKeyValue_1, apiKeys, _i, keyIds_1, id, _d, formResponseIds_1, id, enduser, err_1;
49
+ var _e;
50
+ var _f, _g, _h, _j;
51
+ return __generator(this, function (_k) {
52
+ switch (_k.label) {
53
+ case 0:
54
+ log_header("Scoped API Keys (form-ingestion)");
55
+ return [4 /*yield*/, sdk.api.forms.createOne({ title: "Scoped API Key Test Form" })];
56
+ case 1:
57
+ form = _k.sent();
58
+ buildUrl = function (pathSegment) {
59
+ var url = new URL("".concat(host, "/v1/webhooks/form-ingestion/").concat(pathSegment));
60
+ url.searchParams.set('formId', form.id);
61
+ url.searchParams.set('returnJSON', 'true');
62
+ return url.toString();
63
+ };
64
+ bodyFor = function (responder_uuid) { return ({
65
+ answers: [{ key: 'email', value: TEST_EMAIL }],
66
+ responder_uuid: responder_uuid,
67
+ finalized: true,
68
+ }); };
69
+ keyIds = [];
70
+ formResponseIds = [];
71
+ _k.label = 2;
72
+ case 2:
73
+ _k.trys.push([2, , 26, 44]);
74
+ return [4 /*yield*/, sdk.api.api_keys.createOne({ scopes: [FORM_INGESTION_API_KEY_SCOPE] })];
75
+ case 3:
76
+ scoped_1 = _k.sent();
77
+ keyIds.push(scoped_1.id);
78
+ assert(!!scoped_1.id && !!scoped_1.key, "scoped key create returned no id/key", "admin creates a form-ingestion-scoped key");
79
+ // record reflects the scope for its creator (CREATOR_ONLY_ACCESS read)
80
+ return [4 /*yield*/, async_test("scoped key record stores scopes", function () { return sdk.api.api_keys.getOne(scoped_1.id); }, { onResult: function (k) { return JSON.stringify(k.scopes) === JSON.stringify([FORM_INGESTION_API_KEY_SCOPE]); } })
81
+ // =============================================
82
+ // (b) Scoped key is rejected on all general /v1 auth
83
+ // =============================================
84
+ ];
85
+ case 4:
86
+ // record reflects the scope for its creator (CREATOR_ONLY_ACCESS read)
87
+ _k.sent();
88
+ // =============================================
89
+ // (b) Scoped key is rejected on all general /v1 auth
90
+ // =============================================
91
+ return [4 /*yield*/, async_test("scoped key rejected on /v1/test-authenticated", function () { return new Session({ host: host, apiKey: scoped_1.key }).test_authenticated(); },
92
+ // SDK parseError surfaces a raw 401 body as the string 'Unauthenticated'
93
+ { shouldError: true, onError: function (e) { return e === 'Unauthenticated' || (e === null || e === void 0 ? void 0 : e.statusCode) === 401 || /unauthenticated/i.test((e === null || e === void 0 ? void 0 : e.message) || ''); } })];
94
+ case 5:
95
+ // =============================================
96
+ // (b) Scoped key is rejected on all general /v1 auth
97
+ // =============================================
98
+ _k.sent();
99
+ return [4 /*yield*/, async_test("scoped key rejected on GET /v1/endusers", function () { return axios.get("".concat(host, "/v1/endusers"), { headers: { Authorization: "API_KEY ".concat(scoped_1.key) } }); }, { shouldError: true, onError: function (e) { var _a; return ((_a = e.response) === null || _a === void 0 ? void 0 : _a.status) === 401; } })];
100
+ case 6:
101
+ _k.sent();
102
+ return [4 /*yield*/, async_test("scoped key rejected on cross-org targeting (x-tellescope-organization)", function () { return axios.get("".concat(host, "/v1/endusers"), {
103
+ headers: {
104
+ Authorization: "API_KEY ".concat(scoped_1.key),
105
+ 'x-tellescope-organization': sdk.userInfo.businessId,
106
+ },
107
+ }); }, { shouldError: true, onError: function (e) { var _a; return ((_a = e.response) === null || _a === void 0 ? void 0 : _a.status) === 401; } })
108
+ // =============================================
109
+ // (c) Scoped key IS accepted by the form-ingestion webhook
110
+ // =============================================
111
+ ];
112
+ case 7:
113
+ _k.sent();
114
+ return [4 /*yield*/, axios.post(buildUrl('key-in-header'), bodyFor("scoped-1"), { headers: { Authorization: "API_KEY ".concat(scoped_1.key) } })];
115
+ case 8:
116
+ headerResult = _k.sent();
117
+ assert(headerResult.status === 200 && !!((_f = headerResult.data) === null || _f === void 0 ? void 0 : _f.formResponseId), "scoped key header auth failed: ".concat(headerResult.status, " ").concat(JSON.stringify(headerResult.data)), "scoped key authenticates the form-ingestion webhook via header");
118
+ if ((_g = headerResult.data) === null || _g === void 0 ? void 0 : _g.formResponseId)
119
+ formResponseIds.push(headerResult.data.formResponseId);
120
+ return [4 /*yield*/, axios.post(buildUrl(scoped_1.key), bodyFor("scoped-2"))];
121
+ case 9:
122
+ pathResult = _k.sent();
123
+ assert(pathResult.status === 200 && !!((_h = pathResult.data) === null || _h === void 0 ? void 0 : _h.formResponseId), "scoped key path auth failed: ".concat(pathResult.status, " ").concat(JSON.stringify(pathResult.data)), "scoped key authenticates the form-ingestion webhook via path segment");
124
+ if ((_j = pathResult.data) === null || _j === void 0 ? void 0 : _j.formResponseId)
125
+ formResponseIds.push(pathResult.data.formResponseId);
126
+ return [4 /*yield*/, sdk.api.role_based_access_permissions.createOne({
127
+ role: 'scoped-api-keys-test-role',
128
+ permissions: { api_keys: { create: 'All', read: 'All', update: 'All', delete: 'All' } },
129
+ })];
130
+ case 10:
131
+ apiKeysRole = _k.sent();
132
+ throwawayRoleId = apiKeysRole.id;
133
+ return [4 /*yield*/, sdk.api.users.getOne({ email: 'scoped.api.keys.user@tellescope.com' }).catch(function () { return null; })];
134
+ case 11:
135
+ _b = (_k.sent());
136
+ if (_b) return [3 /*break*/, 13];
137
+ return [4 /*yield*/, sdk.api.users.createOne({ email: 'scoped.api.keys.user@tellescope.com', notificationEmailsDisabled: true, verifiedEmail: true })];
138
+ case 12:
139
+ _b = (_k.sent());
140
+ _k.label = 13;
141
+ case 13:
142
+ throwawayUser = _b;
143
+ throwawayUserId = throwawayUser.id;
144
+ return [4 /*yield*/, sdk.api.users.updateOne(throwawayUser.id, { roles: [apiKeysRole.role] }, { replaceObjectFields: true })];
145
+ case 14:
146
+ _k.sent();
147
+ return [4 /*yield*/, wait(undefined, 2000)]; // wait for the role change to propagate before authenticating
148
+ case 15:
149
+ _k.sent(); // wait for the role change to propagate before authenticating
150
+ _c = Session.bind;
151
+ _e = {
152
+ host: host
153
+ };
154
+ return [4 /*yield*/, sdk.api.users.generate_auth_token({ id: throwawayUser.id })];
155
+ case 16:
156
+ otherSdk_1 = new (_c.apply(Session, [void 0, (_e.authToken = (_k.sent()).authToken,
157
+ _e)]))();
158
+ return [4 /*yield*/, async_test("non-admin cannot create a scoped key (401)", function () { return otherSdk_1.api.api_keys.createOne({ scopes: [FORM_INGESTION_API_KEY_SCOPE] }); }, { shouldError: true, onError: function (e) { return e === 'Unauthenticated' || (e === null || e === void 0 ? void 0 : e.statusCode) === 401 || /admin/i.test((e === null || e === void 0 ? void 0 : e.message) || ''); } })
159
+ // ...but CAN still create an unscoped key; an empty scopes list is rejected by validation (fail closed)
160
+ ];
161
+ case 17:
162
+ _k.sent();
163
+ return [4 /*yield*/, otherSdk_1.api.api_keys.createOne({})];
164
+ case 18:
165
+ nonAdminKey = _k.sent();
166
+ return [4 /*yield*/, async_test("empty scopes list rejected by validation", function () { return otherSdk_1.api.api_keys.createOne({ scopes: [] }); }, { shouldError: true, onError: function (e) { return (e === null || e === void 0 ? void 0 : e.statusCode) === 400 || /empty|not valid|invalid/i.test((e === null || e === void 0 ? void 0 : e.message) || ''); } })
167
+ // creator-only cleanup for the throwaway user's key before the user is deleted
168
+ ];
169
+ case 19:
170
+ _k.sent();
171
+ // creator-only cleanup for the throwaway user's key before the user is deleted
172
+ return [4 /*yield*/, otherSdk_1.api.api_keys.deleteOne(nonAdminKey.id).catch(function () { })
173
+ // =============================================
174
+ // (e) Unscoped keys are unchanged (no regression)
175
+ // =============================================
176
+ ];
177
+ case 20:
178
+ // creator-only cleanup for the throwaway user's key before the user is deleted
179
+ _k.sent();
180
+ return [4 /*yield*/, sdk.api.api_keys.createOne({})];
181
+ case 21:
182
+ unscoped_1 = _k.sent();
183
+ unscopedKeyValue_1 = unscoped_1.key;
184
+ keyIds.push(unscoped_1.id);
185
+ return [4 /*yield*/, async_test("unscoped key still authenticates general /v1", function () { return new Session({ host: host, apiKey: unscopedKeyValue_1 }).test_authenticated(); }, { onResult: function (r) { return !!r; } })
186
+ // Frozen pre-existing behavior: unscoped /v1-created keys store a utf8-encoded hashedKey, which the
187
+ // webhook's hex lookup never matches — only legacy plaintext keys and hex-stored scoped keys work there.
188
+ // (Legacy-key webhook auth is covered by formsort_header_auth.test.ts.)
189
+ ];
190
+ case 22:
191
+ _k.sent();
192
+ // Frozen pre-existing behavior: unscoped /v1-created keys store a utf8-encoded hashedKey, which the
193
+ // webhook's hex lookup never matches — only legacy plaintext keys and hex-stored scoped keys work there.
194
+ // (Legacy-key webhook auth is covered by formsort_header_auth.test.ts.)
195
+ return [4 /*yield*/, async_test("unscoped /v1-created key still does NOT authenticate the webhook (frozen encoding quirk)", function () { return axios.post(buildUrl('key-in-header'), bodyFor("scoped-3"), { headers: { Authorization: "API_KEY ".concat(unscopedKeyValue_1) } }); }, { shouldError: true, onError: function (e) { var _a; return ((_a = e.response) === null || _a === void 0 ? void 0 : _a.status) === 401; } })
196
+ // =============================================
197
+ // (f) Admin org-wide list includes scopes (and still never leaks secrets)
198
+ // =============================================
199
+ ];
200
+ case 23:
201
+ // Frozen pre-existing behavior: unscoped /v1-created keys store a utf8-encoded hashedKey, which the
202
+ // webhook's hex lookup never matches — only legacy plaintext keys and hex-stored scoped keys work there.
203
+ // (Legacy-key webhook auth is covered by formsort_header_auth.test.ts.)
204
+ _k.sent();
205
+ return [4 /*yield*/, sdk.api.api_keys.get_organization_api_keys()];
206
+ case 24:
207
+ apiKeys = (_k.sent()).apiKeys;
208
+ assert(!!apiKeys.find(function (k) { return k.id === scoped_1.id && JSON.stringify(k.scopes) === JSON.stringify([FORM_INGESTION_API_KEY_SCOPE]); }), "org list did not report scopes on the scoped key", "get_organization_api_keys reports scopes on scoped keys");
209
+ assert(!!apiKeys.find(function (k) { return k.id === unscoped_1.id && k.scopes === undefined; }), "org list reported scopes on an unscoped key", "get_organization_api_keys omits scopes on unscoped keys");
210
+ assert(apiKeys.every(function (k) { return k.key === undefined && k.hashedKey === undefined; }), "org list leaked key material", "get_organization_api_keys still never returns key/hashedKey");
211
+ // =============================================
212
+ // Validation: unknown scope values are rejected
213
+ // =============================================
214
+ return [4 /*yield*/, async_test("unknown scope value rejected by validation", function () { return sdk.api.api_keys.createOne({ scopes: ['not-a-real-scope'] }); }, { shouldError: true, onError: function (e) { return (e === null || e === void 0 ? void 0 : e.statusCode) === 400 || /must match|not valid|invalid/i.test((e === null || e === void 0 ? void 0 : e.message) || ''); } })];
215
+ case 25:
216
+ // =============================================
217
+ // Validation: unknown scope values are rejected
218
+ // =============================================
219
+ _k.sent();
220
+ return [3 /*break*/, 44];
221
+ case 26:
222
+ _i = 0, keyIds_1 = keyIds;
223
+ _k.label = 27;
224
+ case 27:
225
+ if (!(_i < keyIds_1.length)) return [3 /*break*/, 30];
226
+ id = keyIds_1[_i];
227
+ return [4 /*yield*/, sdk.api.api_keys.deleteOne(id).catch(function () { })];
228
+ case 28:
229
+ _k.sent();
230
+ _k.label = 29;
231
+ case 29:
232
+ _i++;
233
+ return [3 /*break*/, 27];
234
+ case 30:
235
+ _d = 0, formResponseIds_1 = formResponseIds;
236
+ _k.label = 31;
237
+ case 31:
238
+ if (!(_d < formResponseIds_1.length)) return [3 /*break*/, 34];
239
+ id = formResponseIds_1[_d];
240
+ return [4 /*yield*/, sdk.api.form_responses.deleteOne(id).catch(function () { })];
241
+ case 32:
242
+ _k.sent();
243
+ _k.label = 33;
244
+ case 33:
245
+ _d++;
246
+ return [3 /*break*/, 31];
247
+ case 34:
248
+ _k.trys.push([34, 37, , 38]);
249
+ return [4 /*yield*/, sdk.api.endusers.getOne({ email: TEST_EMAIL })];
250
+ case 35:
251
+ enduser = _k.sent();
252
+ return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
253
+ case 36:
254
+ _k.sent();
255
+ return [3 /*break*/, 38];
256
+ case 37:
257
+ err_1 = _k.sent();
258
+ return [3 /*break*/, 38];
259
+ case 38: return [4 /*yield*/, sdk.api.forms.deleteOne(form.id).catch(function () { })];
260
+ case 39:
261
+ _k.sent();
262
+ if (!throwawayUserId) return [3 /*break*/, 41];
263
+ return [4 /*yield*/, sdk.api.users.deleteOne(throwawayUserId).catch(function () { })];
264
+ case 40:
265
+ _k.sent();
266
+ _k.label = 41;
267
+ case 41:
268
+ if (!throwawayRoleId) return [3 /*break*/, 43];
269
+ return [4 /*yield*/, sdk.api.role_based_access_permissions.deleteOne(throwawayRoleId).catch(function () { })];
270
+ case 42:
271
+ _k.sent();
272
+ _k.label = 43;
273
+ case 43: return [7 /*endfinally*/];
274
+ case 44: return [2 /*return*/];
275
+ }
276
+ });
277
+ });
278
+ };
279
+ // Allow running this test file independently
280
+ if (require.main === module) {
281
+ console.log("\uD83C\uDF10 Using API URL: ".concat(host));
282
+ var sdk_1 = new Session({ host: host });
283
+ var sdkNonAdmin_1 = new Session({ host: host });
284
+ var runTests = function () { return __awaiter(void 0, void 0, void 0, function () {
285
+ return __generator(this, function (_a) {
286
+ switch (_a.label) {
287
+ case 0: return [4 /*yield*/, setup_tests(sdk_1, sdkNonAdmin_1)];
288
+ case 1:
289
+ _a.sent();
290
+ return [4 /*yield*/, scoped_api_keys_tests({ sdk: sdk_1, sdkNonAdmin: sdkNonAdmin_1 })];
291
+ case 2:
292
+ _a.sent();
293
+ return [2 /*return*/];
294
+ }
295
+ });
296
+ }); };
297
+ runTests()
298
+ .then(function () {
299
+ console.log("✅ Scoped API keys test suite completed successfully");
300
+ process.exit(0);
301
+ })
302
+ .catch(function (error) {
303
+ console.error("❌ Scoped API keys test suite failed:", error);
304
+ process.exit(1);
305
+ });
306
+ }
307
+ //# sourceMappingURL=scoped_api_keys.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scoped_api_keys.test.js","sourceRoot":"","sources":["../../../../src/tests/api_tests/scoped_api_keys.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../src/tests/tests.ts"],"names":[],"mappings":"AA60EA,eAAO,MAAM,kCAAkC,qBAgJ9C,CAAA;AAED,eAAO,MAAM,mCAAmC,qBA2K/C,CAAA;AAGD,eAAO,MAAM,oBAAoB,qBAoHhC,CAAA;AAED,eAAO,MAAM,+BAA+B,qBAsF3C,CAAA;AAID,eAAO,MAAM,0BAA0B,qBAqCtC,CAAA;AAu1FD,eAAO,MAAM,cAAc,qBAqC1B,CAAA;AAotBD,eAAO,MAAM,0BAA0B,qBAmFtC,CAAA;AAqED,eAAO,MAAM,eAAe,qBAmD3B,CAAA;AAED,eAAO,MAAM,oBAAoB,6BAsBhC,CAAA;AAED,eAAO,MAAM,oCAAoC,qBA4pBhD,CAAA;AAED,eAAO,MAAM,mCAAmC,qBAkE/C,CAAA;AAw7CD,eAAO,MAAM,yBAAyB,qBA0DrC,CAAA;AAED,eAAO,MAAM,kBAAkB,qBAmK9B,CAAA;AAED,eAAO,MAAM,sBAAsB,qBA0BlC,CAAA;AAGD,eAAO,MAAM,mBAAmB,qBAmC/B,CAAA;AAED,eAAO,MAAM,gCAAgC,mCA8C5C,CAAA;AAED,eAAO,MAAM,cAAc,qBAwb1B,CAAA;AAGD,eAAO,MAAM,oBAAoB,uBAuBhC,CAAA;AA4wBD,eAAO,MAAM,4BAA4B,qBAoExC,CAAA;AAED,eAAO,MAAM,+BAA+B,qBA4U3C,CAAA;AAED,eAAO,MAAM,gDAAgD,qBAwC5D,CAAA;AAED,eAAO,MAAM,qBAAqB,qBAwIjC,CAAA"}
1
+ {"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../src/tests/tests.ts"],"names":[],"mappings":"AA80EA,eAAO,MAAM,kCAAkC,qBAgJ9C,CAAA;AAED,eAAO,MAAM,mCAAmC,qBA2K/C,CAAA;AAGD,eAAO,MAAM,oBAAoB,qBAoHhC,CAAA;AAED,eAAO,MAAM,+BAA+B,qBAsF3C,CAAA;AAID,eAAO,MAAM,0BAA0B,qBAqCtC,CAAA;AAu1FD,eAAO,MAAM,cAAc,qBAqC1B,CAAA;AAotBD,eAAO,MAAM,0BAA0B,qBAmFtC,CAAA;AAqED,eAAO,MAAM,eAAe,qBAmD3B,CAAA;AAED,eAAO,MAAM,oBAAoB,6BAsBhC,CAAA;AAED,eAAO,MAAM,oCAAoC,qBA4pBhD,CAAA;AAED,eAAO,MAAM,mCAAmC,qBAkE/C,CAAA;AAw7CD,eAAO,MAAM,yBAAyB,qBA0DrC,CAAA;AAED,eAAO,MAAM,kBAAkB,qBAmK9B,CAAA;AAED,eAAO,MAAM,sBAAsB,qBA0BlC,CAAA;AAGD,eAAO,MAAM,mBAAmB,qBAmC/B,CAAA;AAED,eAAO,MAAM,gCAAgC,mCA8C5C,CAAA;AAED,eAAO,MAAM,cAAc,qBAwb1B,CAAA;AAGD,eAAO,MAAM,oBAAoB,uBAuBhC,CAAA;AA4wBD,eAAO,MAAM,4BAA4B,qBAoExC,CAAA;AAED,eAAO,MAAM,+BAA+B,qBA4U3C,CAAA;AAED,eAAO,MAAM,gDAAgD,qBAwC5D,CAAA;AAED,eAAO,MAAM,qBAAqB,qBAwIjC,CAAA"}