@intuitionrobotics/thunderstorm 2.1.3 → 2.2.2
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/dist/app-backend/modules/server/ApiFunction.d.ts.map +1 -1
- package/dist/app-backend/modules/server/ApiFunction.js +6 -0
- package/dist/app-backend/modules/server/ApiFunction.js.map +1 -1
- package/dist/app-backend/modules/server/api-error.d.ts +21 -0
- package/dist/app-backend/modules/server/api-error.d.ts.map +1 -0
- package/dist/app-backend/modules/server/api-error.js +77 -0
- package/dist/app-backend/modules/server/api-error.js.map +1 -0
- package/dist/app-backend/modules/server/app-middleware.d.ts +13 -0
- package/dist/app-backend/modules/server/app-middleware.d.ts.map +1 -0
- package/dist/app-backend/modules/server/app-middleware.js +53 -0
- package/dist/app-backend/modules/server/app-middleware.js.map +1 -0
- package/dist/app-backend/modules/server/express-augmentation.d.ts +28 -0
- package/dist/app-backend/modules/server/express-augmentation.d.ts.map +1 -0
- package/dist/app-backend/modules/server/express-augmentation.js +2 -0
- package/dist/app-backend/modules/server/express-augmentation.js.map +1 -0
- package/dist/app-backend/modules/server/handler.d.ts +29 -0
- package/dist/app-backend/modules/server/handler.d.ts.map +1 -0
- package/dist/app-backend/modules/server/handler.js +49 -0
- package/dist/app-backend/modules/server/handler.js.map +1 -0
- package/dist/app-backend/modules/server/requireAuth.d.ts +24 -0
- package/dist/app-backend/modules/server/requireAuth.d.ts.map +1 -0
- package/dist/app-backend/modules/server/requireAuth.js +23 -0
- package/dist/app-backend/modules/server/requireAuth.js.map +1 -0
- package/dist/app-backend/modules/server/server-api.d.ts.map +1 -1
- package/dist/app-backend/modules/server/server-api.js +8 -55
- package/dist/app-backend/modules/server/server-api.js.map +1 -1
- package/dist/app-backend/modules/server/validators.d.ts +17 -0
- package/dist/app-backend/modules/server/validators.d.ts.map +1 -0
- package/dist/app-backend/modules/server/validators.js +37 -0
- package/dist/app-backend/modules/server/validators.js.map +1 -0
- package/dist/backend.d.ts +6 -0
- package/dist/backend.d.ts.map +1 -1
- package/dist/backend.js +12 -0
- package/dist/backend.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { validate } from "@intuitionrobotics/ts-common";
|
|
2
|
+
import {} from "express";
|
|
3
|
+
/**
|
|
4
|
+
* Body-validation middleware. Runs the same ts-common `validate()` the legacy
|
|
5
|
+
* `ServerApi` used (server-api.ts:164), forwarding a `ValidationException` to
|
|
6
|
+
* the app-level `terminalErrorHandler` (which maps it to 400 via
|
|
7
|
+
* `composeApiError`, identical to today) through `next(err)`.
|
|
8
|
+
*
|
|
9
|
+
* Compose it at the route site: `router.post("/x", validateBody(V), handler(fn))`.
|
|
10
|
+
*/
|
|
11
|
+
export function validateBody(validator) {
|
|
12
|
+
return (req, _res, next) => {
|
|
13
|
+
try {
|
|
14
|
+
validate(req.body, validator);
|
|
15
|
+
next();
|
|
16
|
+
}
|
|
17
|
+
catch (e) {
|
|
18
|
+
next(e);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Query-validation middleware. Uses Express-parsed `req.query` (the raw model
|
|
24
|
+
* drops the old manual `parse(req.url, true).query`).
|
|
25
|
+
*/
|
|
26
|
+
export function validateQuery(validator) {
|
|
27
|
+
return (req, _res, next) => {
|
|
28
|
+
try {
|
|
29
|
+
validate(req.query, validator);
|
|
30
|
+
next();
|
|
31
|
+
}
|
|
32
|
+
catch (e) {
|
|
33
|
+
next(e);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=validators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/server/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAA6B,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAqB,MAAM,SAAS,CAAC;AAE5C;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAU,SAAmC;IACrE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QACvB,IAAI,CAAC;YACD,QAAQ,CAAI,GAAG,CAAC,IAAS,EAAE,SAAS,CAAC,CAAC;YACtC,IAAI,EAAE,CAAC;QACX,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC;IACL,CAAC,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAU,SAAmC;IACtE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QACvB,IAAI,CAAC;YACD,QAAQ,CAAI,GAAG,CAAC,KAAqB,EAAE,SAAS,CAAC,CAAC;YAClD,IAAI,EAAE,CAAC;QACX,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC;IACL,CAAC,CAAC;AACN,CAAC"}
|
package/dist/backend.d.ts
CHANGED
|
@@ -6,6 +6,12 @@ export * from "./app-backend/modules/server/server-errors.js";
|
|
|
6
6
|
export * from "./app-backend/modules/server/server-api.js";
|
|
7
7
|
export * from "./app-backend/modules/server/HttpServer.js";
|
|
8
8
|
export * from "./app-backend/modules/server/ApiFunction.js";
|
|
9
|
+
export * from "./app-backend/modules/server/handler.js";
|
|
10
|
+
export * from "./app-backend/modules/server/validators.js";
|
|
11
|
+
export * from "./app-backend/modules/server/requireAuth.js";
|
|
12
|
+
export * from "./app-backend/modules/server/api-error.js";
|
|
13
|
+
export * from "./app-backend/modules/server/app-middleware.js";
|
|
14
|
+
import "./app-backend/modules/server/express-augmentation.js";
|
|
9
15
|
export { HttpMethod } from "./shared/types.js";
|
|
10
16
|
export * from "./app-backend/modules/http/AxiosHttpModule.js";
|
|
11
17
|
export * from "./app-backend/modules/http/types.js";
|
package/dist/backend.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/main/backend.ts"],"names":[],"mappings":"AAqBA,cAAc,kDAAkD,CAAC;AACjE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mDAAmD,CAAC;AAClE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,6CAA6C,CAAC;AAI5D,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC7C,cAAc,+CAA+C,CAAC;AAC9D,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,0CAA0C,CAAC;AACzD,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,0CAA0C,CAAC;AACzD,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/main/backend.ts"],"names":[],"mappings":"AAqBA,cAAc,kDAAkD,CAAC;AACjE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mDAAmD,CAAC;AAClE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,6CAA6C,CAAC;AAI5D,cAAc,yCAAyC,CAAC;AACxD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,gDAAgD,CAAC;AAI/D,OAAO,sDAAsD,CAAC;AAI9D,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC7C,cAAc,+CAA+C,CAAC;AAC9D,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,0CAA0C,CAAC;AACzD,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,0CAA0C,CAAC;AACzD,cAAc,oBAAoB,CAAC"}
|
package/dist/backend.js
CHANGED
|
@@ -26,6 +26,18 @@ export * from "./app-backend/modules/server/server-errors.js";
|
|
|
26
26
|
export * from "./app-backend/modules/server/server-api.js";
|
|
27
27
|
export * from "./app-backend/modules/server/HttpServer.js";
|
|
28
28
|
export * from "./app-backend/modules/server/ApiFunction.js";
|
|
29
|
+
// Raw-Express endpoint primitives (the functional alternative to the ServerApi
|
|
30
|
+
// class): a typed `handler()` wrapper, composable validate/auth middleware, and
|
|
31
|
+
// the shared error pipeline.
|
|
32
|
+
export * from "./app-backend/modules/server/handler.js";
|
|
33
|
+
export * from "./app-backend/modules/server/validators.js";
|
|
34
|
+
export * from "./app-backend/modules/server/requireAuth.js";
|
|
35
|
+
export * from "./app-backend/modules/server/api-error.js";
|
|
36
|
+
export * from "./app-backend/modules/server/app-middleware.js";
|
|
37
|
+
// Side-effect import: loads the `req.account` global augmentation into the
|
|
38
|
+
// emitted type graph so consumers of @intuitionrobotics/thunderstorm/backend
|
|
39
|
+
// see it (without this, `req.account` silently degrades to `any`).
|
|
40
|
+
import "./app-backend/modules/server/express-augmentation.js";
|
|
29
41
|
// Re-exported from /shared so endpoint files can write
|
|
30
42
|
// `import {ServerApi, HttpMethod} from "@intuitionrobotics/thunderstorm/backend"`
|
|
31
43
|
// without a second import line.
|
package/dist/backend.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/main/backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,cAAc,kDAAkD,CAAC;AACjE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mDAAmD,CAAC;AAClE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,6CAA6C,CAAC;AAC5D,uDAAuD;AACvD,kFAAkF;AAClF,gCAAgC;AAChC,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC7C,cAAc,+CAA+C,CAAC;AAC9D,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,0CAA0C,CAAC;AACzD,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,wGAAwG;AACxG,cAAc,0CAA0C,CAAC;AACzD,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/main/backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,cAAc,kDAAkD,CAAC;AACjE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mDAAmD,CAAC;AAClE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,6CAA6C,CAAC;AAC5D,+EAA+E;AAC/E,gFAAgF;AAChF,6BAA6B;AAC7B,cAAc,yCAAyC,CAAC;AACxD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,gDAAgD,CAAC;AAC/D,2EAA2E;AAC3E,6EAA6E;AAC7E,mEAAmE;AACnE,OAAO,sDAAsD,CAAC;AAC9D,uDAAuD;AACvD,kFAAkF;AAClF,gCAAgC;AAChC,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC7C,cAAc,+CAA+C,CAAC;AAC9D,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC;AACtD,cAAc,0CAA0C,CAAC;AACzD,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,wGAAwG;AACxG,cAAc,0CAA0C,CAAC;AACzD,cAAc,oBAAoB,CAAC"}
|