@loopback/rest 11.0.1 → 11.1.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 (69) hide show
  1. package/dist/body-parsers/body-parser.helpers.d.ts +1 -1
  2. package/dist/body-parsers/body-parser.helpers.js +1 -1
  3. package/dist/body-parsers/body-parser.helpers.js.map +1 -1
  4. package/dist/body-parsers/body-parser.js +5 -5
  5. package/dist/body-parsers/body-parser.js.map +1 -1
  6. package/dist/body-parsers/body-parser.json.js +3 -3
  7. package/dist/body-parsers/body-parser.json.js.map +1 -1
  8. package/dist/body-parsers/body-parser.raw.js +3 -3
  9. package/dist/body-parsers/body-parser.raw.js.map +1 -1
  10. package/dist/body-parsers/body-parser.text.js +3 -3
  11. package/dist/body-parsers/body-parser.text.js.map +1 -1
  12. package/dist/body-parsers/body-parser.urlencoded.js +3 -3
  13. package/dist/body-parsers/body-parser.urlencoded.js.map +1 -1
  14. package/dist/body-parsers/index.js +8 -8
  15. package/dist/body-parsers/index.js.map +1 -1
  16. package/dist/coercion/coerce-parameter.js +1 -1
  17. package/dist/coercion/coerce-parameter.js.map +1 -1
  18. package/dist/coercion/utils.d.ts +1 -1
  19. package/dist/coercion/utils.js +1 -1
  20. package/dist/coercion/utils.js.map +1 -1
  21. package/dist/index.js +19 -19
  22. package/dist/index.js.map +1 -1
  23. package/dist/parser.js +1 -1
  24. package/dist/parser.js.map +1 -1
  25. package/dist/providers/find-route.provider.js +8 -8
  26. package/dist/providers/find-route.provider.js.map +1 -1
  27. package/dist/providers/index.js +6 -6
  28. package/dist/providers/index.js.map +1 -1
  29. package/dist/providers/invoke-method.provider.js +7 -7
  30. package/dist/providers/invoke-method.provider.js.map +1 -1
  31. package/dist/providers/log-error.provider.js +1 -1
  32. package/dist/providers/parse-params.provider.js +9 -9
  33. package/dist/providers/parse-params.provider.js.map +1 -1
  34. package/dist/providers/reject.provider.js +7 -7
  35. package/dist/providers/reject.provider.js.map +1 -1
  36. package/dist/providers/send.provider.js +2 -2
  37. package/dist/rest-http-error.d.ts +1 -1
  38. package/dist/rest-http-error.js +1 -1
  39. package/dist/rest-http-error.js.map +1 -1
  40. package/dist/rest.component.js +4 -4
  41. package/dist/rest.component.js.map +1 -1
  42. package/dist/rest.server.js +9 -9
  43. package/dist/rest.server.js.map +1 -1
  44. package/dist/router/controller-route.js +3 -3
  45. package/dist/router/controller-route.js.map +1 -1
  46. package/dist/router/external-express-routes.js +2 -2
  47. package/dist/router/external-express-routes.js.map +1 -1
  48. package/dist/router/index.js +14 -14
  49. package/dist/router/index.js.map +1 -1
  50. package/dist/router/regexp-router.js +3 -3
  51. package/dist/router/regexp-router.js.map +1 -1
  52. package/dist/router/routing-table.js +2 -2
  53. package/dist/router/routing-table.js.map +1 -1
  54. package/dist/router/trie-router.js +3 -3
  55. package/dist/router/trie-router.js.map +1 -1
  56. package/dist/sequence.js +15 -15
  57. package/dist/sequence.js.map +1 -1
  58. package/dist/spec-enhancers/consolidate.spec-enhancer.js +6 -6
  59. package/dist/spec-enhancers/consolidate.spec-enhancer.js.map +1 -1
  60. package/dist/spec-enhancers/info.spec-enhancer.js +4 -4
  61. package/dist/spec-enhancers/info.spec-enhancer.js.map +1 -1
  62. package/dist/types.js +1 -1
  63. package/dist/types.js.map +1 -1
  64. package/dist/validation/ajv-factory.provider.js +12 -12
  65. package/dist/validation/ajv-factory.provider.js.map +1 -1
  66. package/dist/validation/request-body.validator.js +4 -2
  67. package/dist/validation/request-body.validator.js.map +1 -1
  68. package/package.json +20 -20
  69. package/src/validation/request-body.validator.ts +1 -0
@@ -7,11 +7,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.AjvFactoryProvider = exports.DEFAULT_AJV_VALIDATION_OPTIONS = void 0;
8
8
  const tslib_1 = require("tslib");
9
9
  const core_1 = require("@loopback/core");
10
- const ajv_1 = (0, tslib_1.__importDefault)(require("ajv"));
11
- const ajv_errors_1 = (0, tslib_1.__importDefault)(require("ajv-errors"));
12
- const ajv_formats_1 = (0, tslib_1.__importDefault)(require("ajv-formats"));
13
- const ajv_keywords_1 = (0, tslib_1.__importDefault)(require("ajv-keywords"));
14
- const debug_1 = (0, tslib_1.__importDefault)(require("debug"));
10
+ const ajv_1 = tslib_1.__importDefault(require("ajv"));
11
+ const ajv_errors_1 = tslib_1.__importDefault(require("ajv-errors"));
12
+ const ajv_formats_1 = tslib_1.__importDefault(require("ajv-formats"));
13
+ const ajv_keywords_1 = tslib_1.__importDefault(require("ajv-keywords"));
14
+ const debug_1 = tslib_1.__importDefault(require("debug"));
15
15
  const keys_1 = require("../keys");
16
16
  const openapi_formats_1 = require("./openapi-formats");
17
17
  const debug = (0, debug_1.default)('loopback:rest:ajv');
@@ -65,18 +65,18 @@ let AjvFactoryProvider = class AjvFactoryProvider {
65
65
  };
66
66
  }
67
67
  };
68
- (0, tslib_1.__decorate)([
68
+ tslib_1.__decorate([
69
69
  (0, core_1.inject)((0, core_1.filterByTag)(keys_1.RestTags.AJV_KEYWORD)),
70
- (0, tslib_1.__metadata)("design:type", Array)
70
+ tslib_1.__metadata("design:type", Array)
71
71
  ], AjvFactoryProvider.prototype, "keywords", void 0);
72
- (0, tslib_1.__decorate)([
72
+ tslib_1.__decorate([
73
73
  (0, core_1.inject)((0, core_1.filterByTag)(keys_1.RestTags.AJV_FORMAT)),
74
- (0, tslib_1.__metadata)("design:type", Array)
74
+ tslib_1.__metadata("design:type", Array)
75
75
  ], AjvFactoryProvider.prototype, "formats", void 0);
76
- AjvFactoryProvider = (0, tslib_1.__decorate)([
76
+ AjvFactoryProvider = tslib_1.__decorate([
77
77
  (0, core_1.injectable)({ scope: core_1.BindingScope.SINGLETON }),
78
- (0, tslib_1.__param)(0, (0, core_1.inject)(keys_1.RestBindings.REQUEST_BODY_PARSER_OPTIONS.deepProperty('validation'), { optional: true })),
79
- (0, tslib_1.__metadata)("design:paramtypes", [Object])
78
+ tslib_1.__param(0, (0, core_1.inject)(keys_1.RestBindings.REQUEST_BODY_PARSER_OPTIONS.deepProperty('validation'), { optional: true })),
79
+ tslib_1.__metadata("design:paramtypes", [Object])
80
80
  ], AjvFactoryProvider);
81
81
  exports.AjvFactoryProvider = AjvFactoryProvider;
82
82
  //# sourceMappingURL=ajv-factory.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ajv-factory.provider.js","sourceRoot":"","sources":["../../src/validation/ajv-factory.provider.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,yCAMwB;AACxB,2DAA0B;AAC1B,yEAAmC;AACnC,2EAAqC;AACrC,6EAAuC;AACvC,+DAAgC;AAChC,kCAA+C;AAE/C,uDAAiD;AAEjD,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,mBAAmB,CAAC,CAAC;AAElC,QAAA,8BAA8B,GAAsB;IAC/D,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF;;GAEG;AAEH,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;IAC7B,YAKU,UAA6B,sCAA8B;QAA3D,YAAO,GAAP,OAAO,CAAoD;IAClE,CAAC;IAQJ,KAAK;QACH,OAAO,OAAO,CAAC,EAAE;YACf,IAAI,iBAAiB,GAAsB;gBACzC,GAAG,IAAI,CAAC,OAAO;gBACf,GAAG,OAAO;aACX,CAAC;YACF,iDAAiD;YACjD,iBAAiB,GAAG;gBAClB,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,KAAK;gBAClB,GAAG,iBAAiB;aACrB,CAAC;YAEF,KAAK,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,EAAC,GAAG,iBAAiB,EAAC,CAAC;YAC1C,OAAO,UAAU,CAAC,SAAS,CAAC;YAC5B,MAAM,OAAO,GAAG,IAAI,aAAO,CAAC,UAAU,CAAC,CAAC;YACxC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;YAExC,IAAA,sBAAW,EAAC,OAAO,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAEpD,IAAA,oBAAS,EAAC,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAEhD,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC9B,KAAK,CAAC,uBAAuB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;oBAChD,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAC9B,CAAC,CAAC,CAAC;aACJ;YAED,IAAA,qBAAU,EAAC,OAAO,CAAC,CAAC;YACpB,KAAK,MAAM,MAAM,IAAI,gCAAc,EAAE;gBACnC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aACxC;YAED,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBAC5B,KAAK,CAAC,sBAAsB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC3C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;aACJ;YAED,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;IACJ,CAAC;CACF,CAAA;AAnDC;IADC,IAAA,aAAM,EAAC,IAAA,kBAAW,EAAC,eAAQ,CAAC,WAAW,CAAC,CAAC;;oDACX;AAG/B;IADC,IAAA,aAAM,EAAC,IAAA,kBAAW,EAAC,eAAQ,CAAC,UAAU,CAAC,CAAC;;mDACZ;AAblB,kBAAkB;IAD9B,IAAA,iBAAU,EAAC,EAAC,KAAK,EAAE,mBAAY,CAAC,SAAS,EAAC,CAAC;IAGvC,wBAAA,IAAA,aAAM,EACL,mBAAY,CAAC,2BAA2B,CAAC,YAAY,CAAC,YAAY,CAAC,EACnE,EAAC,QAAQ,EAAE,IAAI,EAAC,CACjB,CAAA;;GALQ,kBAAkB,CA6D9B;AA7DY,gDAAkB"}
1
+ {"version":3,"file":"ajv-factory.provider.js","sourceRoot":"","sources":["../../src/validation/ajv-factory.provider.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,yCAMwB;AACxB,sDAA0B;AAC1B,oEAAmC;AACnC,sEAAqC;AACrC,wEAAuC;AACvC,0DAAgC;AAChC,kCAA+C;AAE/C,uDAAiD;AAEjD,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,mBAAmB,CAAC,CAAC;AAElC,QAAA,8BAA8B,GAAsB;IAC/D,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF;;GAEG;AAEH,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;IAC7B,YAKU,UAA6B,sCAA8B;QAA3D,YAAO,GAAP,OAAO,CAAoD;IAClE,CAAC;IAQJ,KAAK;QACH,OAAO,OAAO,CAAC,EAAE;YACf,IAAI,iBAAiB,GAAsB;gBACzC,GAAG,IAAI,CAAC,OAAO;gBACf,GAAG,OAAO;aACX,CAAC;YACF,iDAAiD;YACjD,iBAAiB,GAAG;gBAClB,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,KAAK;gBAClB,GAAG,iBAAiB;aACrB,CAAC;YAEF,KAAK,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,EAAC,GAAG,iBAAiB,EAAC,CAAC;YAC1C,OAAO,UAAU,CAAC,SAAS,CAAC;YAC5B,MAAM,OAAO,GAAG,IAAI,aAAO,CAAC,UAAU,CAAC,CAAC;YACxC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACjC,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;YAExC,IAAA,sBAAW,EAAC,OAAO,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAEpD,IAAA,oBAAS,EAAC,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAEhD,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC9B,KAAK,CAAC,uBAAuB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;oBAChD,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAC9B,CAAC,CAAC,CAAC;aACJ;YAED,IAAA,qBAAU,EAAC,OAAO,CAAC,CAAC;YACpB,KAAK,MAAM,MAAM,IAAI,gCAAc,EAAE;gBACnC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aACxC;YAED,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBAC5B,KAAK,CAAC,sBAAsB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC3C,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;aACJ;YAED,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;IACJ,CAAC;CACF,CAAA;AAnDC;IADC,IAAA,aAAM,EAAC,IAAA,kBAAW,EAAC,eAAQ,CAAC,WAAW,CAAC,CAAC;;oDACX;AAG/B;IADC,IAAA,aAAM,EAAC,IAAA,kBAAW,EAAC,eAAQ,CAAC,UAAU,CAAC,CAAC;;mDACZ;AAblB,kBAAkB;IAD9B,IAAA,iBAAU,EAAC,EAAC,KAAK,EAAE,mBAAY,CAAC,SAAS,EAAC,CAAC;IAGvC,mBAAA,IAAA,aAAM,EACL,mBAAY,CAAC,2BAA2B,CAAC,YAAY,CAAC,YAAY,CAAC,EACnE,EAAC,QAAQ,EAAE,IAAI,EAAC,CACjB,CAAA;;GALQ,kBAAkB,CA6D9B;AA7DY,gDAAkB"}
@@ -7,8 +7,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.validateValueAgainstSchema = exports.validateRequestBody = void 0;
8
8
  const tslib_1 = require("tslib");
9
9
  const openapi_v3_1 = require("@loopback/openapi-v3");
10
- const debug_1 = (0, tslib_1.__importDefault)(require("debug"));
11
- const util_1 = (0, tslib_1.__importDefault)(require("util"));
10
+ const debug_1 = tslib_1.__importDefault(require("debug"));
11
+ const util_1 = tslib_1.__importDefault(require("util"));
12
12
  const __1 = require("..");
13
13
  const ajv_factory_provider_1 = require("./ajv-factory.provider");
14
14
  const toJsonSchema = require('@openapi-contrib/openapi-schema-to-json-schema');
@@ -32,6 +32,8 @@ async function validateRequestBody(body, requestBodySpec, globalSchemas = {}, op
32
32
  });
33
33
  throw err;
34
34
  }
35
+ if (!required && !body.value)
36
+ return;
35
37
  const schema = body.schema;
36
38
  /* istanbul ignore if */
37
39
  if (debug.enabled) {
@@ -1 +1 @@
1
- {"version":3,"file":"request-body.validator.js","sourceRoot":"","sources":["../../src/validation/request-body.validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request-body.validator.js","sourceRoot":"","sources":["../../src/validation/request-body.validator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@loopback/rest",
3
3
  "description": "Expose controllers as REST endpoints and route REST API requests to controller methods",
4
- "version": "11.0.1",
4
+ "version": "11.1.2",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -35,29 +35,29 @@
35
35
  "!*/__tests__"
36
36
  ],
37
37
  "peerDependencies": {
38
- "@loopback/core": "^3.0.1"
38
+ "@loopback/core": "^3.1.2"
39
39
  },
40
40
  "dependencies": {
41
- "@loopback/express": "^4.0.1",
42
- "@loopback/http-server": "^3.0.1",
43
- "@loopback/openapi-v3": "^7.0.1",
41
+ "@loopback/express": "^4.1.2",
42
+ "@loopback/http-server": "^3.1.2",
43
+ "@loopback/openapi-v3": "^7.1.2",
44
44
  "@openapi-contrib/openapi-schema-to-json-schema": "^3.1.1",
45
45
  "@types/body-parser": "^1.19.2",
46
46
  "@types/cors": "^2.8.12",
47
47
  "@types/express": "^4.17.13",
48
- "@types/express-serve-static-core": "^4.17.27",
49
- "@types/http-errors": "^1.8.1",
48
+ "@types/express-serve-static-core": "^4.17.28",
49
+ "@types/http-errors": "^1.8.2",
50
50
  "@types/on-finished": "^2.3.1",
51
51
  "@types/serve-static": "1.13.10",
52
52
  "@types/type-is": "^1.6.3",
53
- "ajv": "^8.8.2",
53
+ "ajv": "^8.10.0",
54
54
  "ajv-errors": "^3.0.0",
55
55
  "ajv-formats": "^2.1.1",
56
56
  "ajv-keywords": "^5.1.0",
57
- "body-parser": "^1.19.1",
57
+ "body-parser": "^1.19.2",
58
58
  "cors": "^2.8.5",
59
- "debug": "^4.3.3",
60
- "express": "^4.17.2",
59
+ "debug": "^4.3.4",
60
+ "express": "^4.17.3",
61
61
  "http-errors": "^2.0.0",
62
62
  "js-yaml": "^4.1.0",
63
63
  "json-schema-compare": "^0.2.2",
@@ -71,21 +71,21 @@
71
71
  "validator": "^13.7.0"
72
72
  },
73
73
  "devDependencies": {
74
- "@loopback/build": "^8.0.1",
75
- "@loopback/core": "^3.0.1",
76
- "@loopback/eslint-config": "^12.0.1",
77
- "@loopback/openapi-spec-builder": "^4.0.1",
78
- "@loopback/repository": "^4.0.1",
79
- "@loopback/testlab": "^4.0.1",
74
+ "@loopback/build": "^8.1.2",
75
+ "@loopback/core": "^3.1.2",
76
+ "@loopback/eslint-config": "^12.0.4",
77
+ "@loopback/openapi-spec-builder": "^4.1.2",
78
+ "@loopback/repository": "^4.1.2",
79
+ "@loopback/testlab": "^4.1.2",
80
80
  "@types/debug": "^4.1.7",
81
81
  "@types/js-yaml": "^4.0.5",
82
82
  "@types/json-schema-compare": "^0.2.1",
83
- "@types/lodash": "^4.14.178",
83
+ "@types/lodash": "^4.14.180",
84
84
  "@types/multer": "^1.4.7",
85
- "@types/node": "^10.17.60",
85
+ "@types/node": "^12.20.47",
86
86
  "@types/on-finished": "^2.3.1",
87
87
  "@types/qs": "^6.9.7",
88
88
  "multer": "^1.4.4"
89
89
  },
90
- "gitHead": "4a8886403cd9cb3ae529cb69712f077623cba2c2"
90
+ "gitHead": "22d993c73a7b4ccdb36f2e26ea52460dc46fbd11"
91
91
  }
@@ -56,6 +56,7 @@ export async function validateRequestBody(
56
56
  );
57
57
  throw err;
58
58
  }
59
+ if (!required && !body.value) return;
59
60
 
60
61
  const schema = body.schema;
61
62
  /* istanbul ignore if */