@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.
Files changed (36) hide show
  1. package/dist/app-backend/modules/server/ApiFunction.d.ts.map +1 -1
  2. package/dist/app-backend/modules/server/ApiFunction.js +6 -0
  3. package/dist/app-backend/modules/server/ApiFunction.js.map +1 -1
  4. package/dist/app-backend/modules/server/api-error.d.ts +21 -0
  5. package/dist/app-backend/modules/server/api-error.d.ts.map +1 -0
  6. package/dist/app-backend/modules/server/api-error.js +77 -0
  7. package/dist/app-backend/modules/server/api-error.js.map +1 -0
  8. package/dist/app-backend/modules/server/app-middleware.d.ts +13 -0
  9. package/dist/app-backend/modules/server/app-middleware.d.ts.map +1 -0
  10. package/dist/app-backend/modules/server/app-middleware.js +53 -0
  11. package/dist/app-backend/modules/server/app-middleware.js.map +1 -0
  12. package/dist/app-backend/modules/server/express-augmentation.d.ts +28 -0
  13. package/dist/app-backend/modules/server/express-augmentation.d.ts.map +1 -0
  14. package/dist/app-backend/modules/server/express-augmentation.js +2 -0
  15. package/dist/app-backend/modules/server/express-augmentation.js.map +1 -0
  16. package/dist/app-backend/modules/server/handler.d.ts +29 -0
  17. package/dist/app-backend/modules/server/handler.d.ts.map +1 -0
  18. package/dist/app-backend/modules/server/handler.js +49 -0
  19. package/dist/app-backend/modules/server/handler.js.map +1 -0
  20. package/dist/app-backend/modules/server/requireAuth.d.ts +24 -0
  21. package/dist/app-backend/modules/server/requireAuth.d.ts.map +1 -0
  22. package/dist/app-backend/modules/server/requireAuth.js +23 -0
  23. package/dist/app-backend/modules/server/requireAuth.js.map +1 -0
  24. package/dist/app-backend/modules/server/server-api.d.ts.map +1 -1
  25. package/dist/app-backend/modules/server/server-api.js +8 -55
  26. package/dist/app-backend/modules/server/server-api.js.map +1 -1
  27. package/dist/app-backend/modules/server/validators.d.ts +17 -0
  28. package/dist/app-backend/modules/server/validators.d.ts.map +1 -0
  29. package/dist/app-backend/modules/server/validators.js +37 -0
  30. package/dist/app-backend/modules/server/validators.js.map +1 -0
  31. package/dist/backend.d.ts +6 -0
  32. package/dist/backend.d.ts.map +1 -1
  33. package/dist/backend.js +12 -0
  34. package/dist/backend.js.map +1 -1
  35. package/dist/tsconfig.tsbuildinfo +1 -1
  36. 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";
@@ -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.
@@ -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"}