@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 +4 -0
- package/README.md +1 -1
- package/dist/core/http/signedUrl.d.ts +3 -1
- package/dist/entries/http/signedUrl.js +7 -0
- package/dist/framework/public-api.d.ts +1 -1
- package/dist/index.js +7 -0
- package/package.json +1 -1
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.
|
|
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,
|