@getstrata/core 0.5.65 → 0.5.66

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/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # @getstrata/core changelog
2
2
 
3
+ ## 0.5.66
4
+
5
+ - `createValidateSignatureMiddleware()` on `@getstrata/core/http/signedUrl` is Laravel’s `signed` / `ValidateSignature` middleware. Invalid or expired links throw `ForbiddenError`.
6
+
3
7
  ## 0.5.65
4
8
 
5
9
  - Identity helpers on `@getstrata/core/runtime/appKeyPrefix` (`smtpEhloHost`, `siemEventType`, `appUserAgent`, `otelServiceName`, `appDisplayName`, `webhookSignatureHeader`) so sibling apps are not stuck with WorkHub SMTP/SIEM/OTEL/OAuth names.
package/README.md CHANGED
@@ -82,7 +82,7 @@ import type { Migration } from "@getstrata/core/database/migrations/types";
82
82
  Package name: **`@getstrata/core`** (npm org [`@getstrata`](https://www.npmjs.com/org/getstrata)).
83
83
 
84
84
  1. Add `NPM_TOKEN` to GitHub repository secrets.
85
- 2. Tag a release: `git tag v0.5.67 && git push origin v0.5.67`
85
+ 2. Tag a release: `git tag v0.5.68 && git push origin v0.5.68`
86
86
  3. [Release workflow](../../.github/workflows/release.yml) builds and runs `npm publish --access public`.
87
87
 
88
88
  Previously published as `@eyk-workhub/framework@0.1.0`, deprecated in favor of this package.
@@ -1,3 +1,4 @@
1
+ import type { Middleware } from "./middleware";
1
2
  interface TemporarySignedUrlOptions {
2
3
  expiresInSeconds?: number;
3
4
  query?: Record<string, string | number>;
@@ -7,5 +8,6 @@ declare function temporarySignedUrl(path: string, expiresInSeconds: number, quer
7
8
  declare function absoluteTemporarySignedUrl(path: string, expiresInSeconds: number, query?: Record<string, string | number>, origin?: string): string;
8
9
  declare function hasValidSignature(input: Request | URL | string): boolean;
9
10
  declare function assertValidSignature(input: Request | URL | string): void;
11
+ declare function createValidateSignatureMiddleware(): Middleware;
10
12
  export type { TemporarySignedUrlOptions };
11
- export { absoluteTemporarySignedUrl, assertValidSignature, hasValidSignature, signedUrl, temporarySignedUrl, };
13
+ export { absoluteTemporarySignedUrl, assertValidSignature, createValidateSignatureMiddleware, hasValidSignature, signedUrl, temporarySignedUrl, };
@@ -88,9 +88,16 @@ function assertValidSignature(input) {
88
88
  throw new ForbiddenError("Invalid or expired signed URL.");
89
89
  }
90
90
  }
91
+ function createValidateSignatureMiddleware() {
92
+ return async (request, next) => {
93
+ assertValidSignature(request);
94
+ return await next();
95
+ };
96
+ }
91
97
  export {
92
98
  absoluteTemporarySignedUrl,
93
99
  assertValidSignature,
100
+ createValidateSignatureMiddleware,
94
101
  hasValidSignature,
95
102
  signedUrl,
96
103
  temporarySignedUrl
@@ -83,7 +83,7 @@ export type { RouteRequest } from "../core/http/route.ts";
83
83
  export { loginRedirectLocation, safeInternalRedirectPath, sanitizeInternalPath, } from "../core/http/safeInternalPath.ts";
84
84
  export { createScimThrottleMiddleware } from "../core/http/scimThrottleMiddleware.ts";
85
85
  export { createSecurityHeadersMiddleware } from "../core/http/securityHeadersMiddleware.ts";
86
- export { absoluteTemporarySignedUrl, assertValidSignature, hasValidSignature, signedUrl, temporarySignedUrl, } from "../core/http/signedUrl.ts";
86
+ export { absoluteTemporarySignedUrl, assertValidSignature, createValidateSignatureMiddleware, hasValidSignature, signedUrl, temporarySignedUrl, } from "../core/http/signedUrl.ts";
87
87
  export { createThrottleMiddleware } from "../core/http/throttleMiddleware.ts";
88
88
  export { WebFormRequest } from "../core/http/webFormRequest.ts";
89
89
  export { installGracefulShutdownSignals, registerShutdownHandler, runGracefulShutdown, } from "../core/lifecycle/gracefulShutdown.ts";
package/dist/index.js CHANGED
@@ -5790,6 +5790,12 @@ function assertValidSignature(input) {
5790
5790
  throw new ForbiddenError("Invalid or expired signed URL.");
5791
5791
  }
5792
5792
  }
5793
+ function createValidateSignatureMiddleware() {
5794
+ return async (request, next) => {
5795
+ assertValidSignature(request);
5796
+ return await next();
5797
+ };
5798
+ }
5793
5799
  // ../../src/core/http/throttleMiddleware.ts
5794
5800
  var {RedisClient: RedisClient4 } = globalThis.Bun;
5795
5801
  function resolveThrottleIdentity(request) {
@@ -7223,6 +7229,7 @@ export {
7223
7229
  createThrottleMiddleware,
7224
7230
  createTracingMiddleware,
7225
7231
  createTrackedJob,
7232
+ createValidateSignatureMiddleware,
7226
7233
  createdResponse,
7227
7234
  currentAuthUser,
7228
7235
  currentOrgRole,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getstrata/core",
3
- "version": "0.5.65",
3
+ "version": "0.5.66",
4
4
  "description": "Strata — Laravel-inspired Bun framework public API",
5
5
  "type": "module",
6
6
  "license": "MIT",