@stratum-hq/lib 1.2.1 → 1.4.0

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 (81) hide show
  1. package/dist/crypto.d.ts +6 -2
  2. package/dist/crypto.d.ts.map +1 -1
  3. package/dist/crypto.js +23 -6
  4. package/dist/crypto.js.map +1 -1
  5. package/dist/index.d.ts +3 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +8 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/migrate-schemas.d.ts.map +1 -1
  10. package/dist/migrate-schemas.js +19 -8
  11. package/dist/migrate-schemas.js.map +1 -1
  12. package/dist/migrations/022_roles_name_per_tenant.sql +10 -0
  13. package/dist/migrations/024_propagate_ancestry_ltree.sql +42 -0
  14. package/dist/migrations/025_redact_sensitive_config_audit.sql +19 -0
  15. package/dist/migrations/026_redact_webhook_secret_audit.sql +28 -0
  16. package/dist/migrations/027_tenant_status_pending.sql +8 -0
  17. package/dist/migrations/028_ancestry_path_prefix_index.sql +12 -0
  18. package/dist/pool-helpers.d.ts.map +1 -1
  19. package/dist/pool-helpers.js +20 -4
  20. package/dist/pool-helpers.js.map +1 -1
  21. package/dist/services/abac-service.d.ts +1 -1
  22. package/dist/services/abac-service.d.ts.map +1 -1
  23. package/dist/services/abac-service.js +64 -43
  24. package/dist/services/abac-service.js.map +1 -1
  25. package/dist/services/api-key-service.d.ts +6 -0
  26. package/dist/services/api-key-service.d.ts.map +1 -1
  27. package/dist/services/api-key-service.js +84 -33
  28. package/dist/services/api-key-service.js.map +1 -1
  29. package/dist/services/audit-service.d.ts.map +1 -1
  30. package/dist/services/audit-service.js +2 -1
  31. package/dist/services/audit-service.js.map +1 -1
  32. package/dist/services/config-service.d.ts.map +1 -1
  33. package/dist/services/config-service.js +14 -6
  34. package/dist/services/config-service.js.map +1 -1
  35. package/dist/services/consent-service.d.ts +2 -2
  36. package/dist/services/consent-service.d.ts.map +1 -1
  37. package/dist/services/consent-service.js +4 -1
  38. package/dist/services/consent-service.js.map +1 -1
  39. package/dist/services/event-service.d.ts +12 -0
  40. package/dist/services/event-service.d.ts.map +1 -1
  41. package/dist/services/event-service.js +240 -79
  42. package/dist/services/event-service.js.map +1 -1
  43. package/dist/services/key-rotation-service.d.ts +18 -1
  44. package/dist/services/key-rotation-service.d.ts.map +1 -1
  45. package/dist/services/key-rotation-service.js +57 -9
  46. package/dist/services/key-rotation-service.js.map +1 -1
  47. package/dist/services/permission-service.d.ts.map +1 -1
  48. package/dist/services/permission-service.js +42 -18
  49. package/dist/services/permission-service.js.map +1 -1
  50. package/dist/services/region-service.d.ts.map +1 -1
  51. package/dist/services/region-service.js +8 -7
  52. package/dist/services/region-service.js.map +1 -1
  53. package/dist/services/retention-service.d.ts +7 -1
  54. package/dist/services/retention-service.d.ts.map +1 -1
  55. package/dist/services/retention-service.js +47 -7
  56. package/dist/services/retention-service.js.map +1 -1
  57. package/dist/services/role-service.d.ts +7 -0
  58. package/dist/services/role-service.d.ts.map +1 -1
  59. package/dist/services/role-service.js +25 -11
  60. package/dist/services/role-service.js.map +1 -1
  61. package/dist/services/tenant-service.d.ts +24 -3
  62. package/dist/services/tenant-service.d.ts.map +1 -1
  63. package/dist/services/tenant-service.js +132 -61
  64. package/dist/services/tenant-service.js.map +1 -1
  65. package/dist/services/webhook-service.d.ts +5 -0
  66. package/dist/services/webhook-service.d.ts.map +1 -1
  67. package/dist/services/webhook-service.js +14 -0
  68. package/dist/services/webhook-service.js.map +1 -1
  69. package/dist/stratum-tables.d.ts +12 -0
  70. package/dist/stratum-tables.d.ts.map +1 -0
  71. package/dist/stratum-tables.js +31 -0
  72. package/dist/stratum-tables.js.map +1 -0
  73. package/dist/stratum.d.ts +30 -12
  74. package/dist/stratum.d.ts.map +1 -1
  75. package/dist/stratum.js +138 -43
  76. package/dist/stratum.js.map +1 -1
  77. package/dist/validation.d.ts +25 -0
  78. package/dist/validation.d.ts.map +1 -0
  79. package/dist/validation.js +23 -0
  80. package/dist/validation.js.map +1 -0
  81. package/package.json +5 -5
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseInput = parseInput;
4
+ const core_1 = require("@stratum-hq/core");
5
+ /**
6
+ * Returns the input parsed by a core schema.
7
+ * Throws a ValidationError that carries the zod issues when the input does not match.
8
+ * Library callers then get a validation error instead of a PostgreSQL error.
9
+ */
10
+ function parseInput(schema, input) {
11
+ const result = schema.safeParse(input);
12
+ if (!result.success) {
13
+ throw new core_1.ValidationError("Validation failed", {
14
+ issues: result.error.issues.map((issue) => ({
15
+ path: issue.path,
16
+ message: issue.message,
17
+ code: issue.code,
18
+ })),
19
+ });
20
+ }
21
+ return result.data;
22
+ }
23
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":";;AAoBA,gCAYC;AAhCD,2CAAmD;AAenD;;;;GAIG;AACH,SAAgB,UAAU,CAAI,MAAsB,EAAE,KAAc;IAClE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,sBAAe,CAAC,mBAAmB,EAAE;YAC7C,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC1C,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC,CAAC;SACJ,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stratum-hq/lib",
3
- "version": "1.2.1",
3
+ "version": "1.4.0",
4
4
  "description": "Stratum tenant management library - framework-agnostic business logic",
5
5
  "keywords": [
6
6
  "multi-tenancy",
@@ -34,7 +34,7 @@
34
34
  "LICENSE"
35
35
  ],
36
36
  "scripts": {
37
- "build": "tsc && cp -r src/migrations dist/migrations",
37
+ "build": "tsc && node ../../scripts/copy-dir.mjs src/migrations dist/migrations",
38
38
  "test": "vitest run",
39
39
  "typecheck": "tsc --noEmit",
40
40
  "lint": "eslint .",
@@ -46,9 +46,9 @@
46
46
  },
47
47
  "dependencies": {
48
48
  "@opentelemetry/api": "^1.9.0",
49
- "@stratum-hq/core": "*",
50
- "@stratum-hq/db-adapters": "*",
51
- "@stratum-hq/sdk": "*",
49
+ "@stratum-hq/core": "^1.4.0",
50
+ "@stratum-hq/db-adapters": "^1.2.0",
51
+ "@stratum-hq/sdk": "^1.2.0",
52
52
  "pg": "^8.11.0"
53
53
  },
54
54
  "peerDependencies": {