@getstrata/core 0.5.13 → 0.5.15
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/README.md +16 -6
- package/dist/bootstrap/contracts.d.ts +2 -0
- package/dist/bootstrap/httpKernel.d.ts +1 -2
- package/dist/core/admin/registry.d.ts +1 -0
- package/dist/core/auth/membershipService.d.ts +5 -1
- package/dist/core/database/baseRepository.d.ts +6 -1
- package/dist/core/database/connectionContext.d.ts +2 -1
- package/dist/core/database/defaultConnection.d.ts +6 -0
- package/dist/core/database/queryProxy.d.ts +3 -0
- package/dist/core/database/repositoryConnection.d.ts +3 -3
- package/dist/core/jobs/dispatchWebhookJob.d.ts +0 -1
- package/dist/core/security/safeFetch.d.ts +2 -0
- package/dist/core/security/safeUrl.d.ts +16 -1
- package/dist/core/storage/storage.d.ts +6 -3
- package/dist/core/tenant/tenantDatabaseScope.d.ts +2 -1
- package/dist/db/connection/index.d.ts +1 -1
- package/dist/entries/auth/accessControl.js +1 -113
- package/dist/entries/auth/authContext.js +1 -15
- package/dist/entries/auth/guard.js +1 -3044
- package/dist/entries/auth/membershipContext.js +1 -276
- package/dist/entries/auth/membershipScope.js +1 -390
- package/dist/entries/auth/membershipService.js +1 -480
- package/dist/entries/auth/policy.js +1 -134
- package/dist/entries/database.js +1 -2398
- package/dist/entries/http/csrfToken.js +0 -6
- package/dist/entries/http/middleware.js +1 -68
- package/dist/entries/http/requestMetaContext.js +1 -18
- package/dist/entries/http/webErrorResponse.js +94 -563
- package/dist/entries/http/webFormRequest.js +0 -131
- package/dist/entries/http.js +1 -4091
- package/dist/entries/jobs/dispatchWebhookJob.js +109 -102
- package/dist/entries/queue/createAppQueue.js +111 -631
- package/dist/entries/queue/jobRunner.js +0 -3
- package/dist/entries/queue/publicQueue.js +45 -546
- package/dist/entries/queue/queueMetrics.js +111 -631
- package/dist/entries/security/safeUrl.js +29 -0
- package/dist/entries/security/securityEvents.js +1 -41
- package/dist/entries/storage/storage.js +14 -4
- package/dist/entries/tenant/tenantContext.js +1 -30
- package/dist/entries/tenant/tenantMiddleware.js +1 -312
- package/dist/entries/tracing/traceContext.js +1 -15
- package/dist/entries/view.js +94 -563
- package/dist/framework/public-api.d.ts +36 -4
- package/dist/index.js +2270 -1666
- package/dist/modules/user/repository.d.ts +1 -0
- package/package.json +6 -5
|
@@ -26,16 +26,10 @@ function readRequestCookie(request, name) {
|
|
|
26
26
|
}
|
|
27
27
|
return null;
|
|
28
28
|
}
|
|
29
|
-
function readBunRequestCookie(request, name) {
|
|
30
|
-
return request.cookies.get(name) ?? readRequestCookie(request, name);
|
|
31
|
-
}
|
|
32
29
|
|
|
33
30
|
// ../../src/core/http/requestMetaContext.ts
|
|
34
31
|
import { AsyncLocalStorage } from "async_hooks";
|
|
35
32
|
var requestMetaContext = new AsyncLocalStorage;
|
|
36
|
-
function runWithRequestMeta(meta, callback) {
|
|
37
|
-
return requestMetaContext.run(meta, callback);
|
|
38
|
-
}
|
|
39
33
|
function currentRequestMeta() {
|
|
40
34
|
return requestMetaContext.getStore() ?? {
|
|
41
35
|
ipAddress: null,
|
|
@@ -1,68 +1 @@
|
|
|
1
|
-
|
|
2
|
-
// ../../src/core/http/middleware.ts
|
|
3
|
-
function isRouteHandler(value) {
|
|
4
|
-
return typeof value === "function";
|
|
5
|
-
}
|
|
6
|
-
function isMethodRouteMap(value) {
|
|
7
|
-
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
8
|
-
return false;
|
|
9
|
-
}
|
|
10
|
-
const entries = Object.entries(value);
|
|
11
|
-
return entries.length > 0 && entries.every(([, handler]) => isRouteHandler(handler));
|
|
12
|
-
}
|
|
13
|
-
function composeMiddleware(...middleware) {
|
|
14
|
-
return (handler) => {
|
|
15
|
-
return async (request) => {
|
|
16
|
-
let index = 0;
|
|
17
|
-
const dispatch = async () => {
|
|
18
|
-
if (index >= middleware.length) {
|
|
19
|
-
return await handler(request);
|
|
20
|
-
}
|
|
21
|
-
const current = middleware[index];
|
|
22
|
-
index += 1;
|
|
23
|
-
if (!current) {
|
|
24
|
-
return await handler(request);
|
|
25
|
-
}
|
|
26
|
-
return await current(request, dispatch);
|
|
27
|
-
};
|
|
28
|
-
return await dispatch();
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
async function requestIdMiddleware(request, next) {
|
|
33
|
-
const requestId = request.headers.get("x-request-id") ?? crypto.randomUUID();
|
|
34
|
-
const response = await next();
|
|
35
|
-
const headers = new Headers(response.headers);
|
|
36
|
-
headers.set("x-request-id", requestId);
|
|
37
|
-
return new Response(response.body, {
|
|
38
|
-
status: response.status,
|
|
39
|
-
statusText: response.statusText,
|
|
40
|
-
headers
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
function wrapRouteHandler(handler, middleware) {
|
|
44
|
-
if (isMethodRouteMap(handler)) {
|
|
45
|
-
const wrapped = {};
|
|
46
|
-
for (const [method, routeHandler] of Object.entries(handler)) {
|
|
47
|
-
wrapped[method] = composeMiddleware(...middleware)(routeHandler);
|
|
48
|
-
}
|
|
49
|
-
return wrapped;
|
|
50
|
-
}
|
|
51
|
-
if (isRouteHandler(handler)) {
|
|
52
|
-
return composeMiddleware(...middleware)(handler);
|
|
53
|
-
}
|
|
54
|
-
return handler;
|
|
55
|
-
}
|
|
56
|
-
function applyMiddlewareToRoutes(routes, middleware) {
|
|
57
|
-
const wrapped = {};
|
|
58
|
-
for (const [path, routeHandler] of Object.entries(routes)) {
|
|
59
|
-
wrapped[path] = wrapRouteHandler(routeHandler, middleware);
|
|
60
|
-
}
|
|
61
|
-
return wrapped;
|
|
62
|
-
}
|
|
63
|
-
export {
|
|
64
|
-
wrapRouteHandler,
|
|
65
|
-
requestIdMiddleware,
|
|
66
|
-
composeMiddleware,
|
|
67
|
-
applyMiddlewareToRoutes
|
|
68
|
-
};
|
|
1
|
+
export * from "../../index.js";
|
|
@@ -1,18 +1 @@
|
|
|
1
|
-
|
|
2
|
-
// ../../src/core/http/requestMetaContext.ts
|
|
3
|
-
import { AsyncLocalStorage } from "async_hooks";
|
|
4
|
-
var requestMetaContext = new AsyncLocalStorage;
|
|
5
|
-
function runWithRequestMeta(meta, callback) {
|
|
6
|
-
return requestMetaContext.run(meta, callback);
|
|
7
|
-
}
|
|
8
|
-
function currentRequestMeta() {
|
|
9
|
-
return requestMetaContext.getStore() ?? {
|
|
10
|
-
ipAddress: null,
|
|
11
|
-
userAgent: null
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
export {
|
|
15
|
-
runWithRequestMeta,
|
|
16
|
-
requestMetaContext,
|
|
17
|
-
currentRequestMeta
|
|
18
|
-
};
|
|
1
|
+
export * from "../../index.js";
|