@loopback/repository-json-schema 2.4.3 → 2.4.7
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 +39 -0
- package/dist/build-schema.js +14 -12
- package/dist/build-schema.js.map +1 -1
- package/dist/filter-json-schema.d.ts +1 -0
- package/dist/filter-json-schema.js +20 -10
- package/dist/filter-json-schema.js.map +1 -1
- package/dist/keys.d.ts +1 -1
- package/dist/keys.js +2 -2
- package/dist/keys.js.map +1 -1
- package/package.json +15 -15
- package/src/build-schema.ts +7 -5
- package/src/filter-json-schema.ts +15 -1
- package/src/keys.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,45 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [2.4.7](https://github.com/strongloop/loopback-next/compare/@loopback/repository-json-schema@2.4.6...@loopback/repository-json-schema@2.4.7) (2020-07-20)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* nested scope filter ([b29d6d7](https://github.com/strongloop/loopback-next/commit/b29d6d7938b0d07e927b0939745b76cfff91272b))
|
|
12
|
+
* **repository-json-schema:** added type 'object' to model json schema ([5c5f9ef](https://github.com/strongloop/loopback-next/commit/5c5f9efcfdea7788503d74610e7ce64f31abc7cd)), closes [#3804](https://github.com/strongloop/loopback-next/issues/3804)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## [2.4.6](https://github.com/strongloop/loopback-next/compare/@loopback/repository-json-schema@2.4.5...@loopback/repository-json-schema@2.4.6) (2020-06-30)
|
|
19
|
+
|
|
20
|
+
**Note:** Version bump only for package @loopback/repository-json-schema
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## [2.4.5](https://github.com/strongloop/loopback-next/compare/@loopback/repository-json-schema@2.4.4...@loopback/repository-json-schema@2.4.5) (2020-06-23)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Bug Fixes
|
|
30
|
+
|
|
31
|
+
* set node version to >=10.16 to support events.once ([e39da1c](https://github.com/strongloop/loopback-next/commit/e39da1ca47728eafaf83c10ce35b09b03b6a4edc))
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
## [2.4.4](https://github.com/strongloop/loopback-next/compare/@loopback/repository-json-schema@2.4.3...@loopback/repository-json-schema@2.4.4) (2020-06-11)
|
|
38
|
+
|
|
39
|
+
**Note:** Version bump only for package @loopback/repository-json-schema
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
6
45
|
## [2.4.3](https://github.com/strongloop/loopback-next/compare/@loopback/repository-json-schema@2.4.2...@loopback/repository-json-schema@2.4.3) (2020-05-28)
|
|
7
46
|
|
|
8
47
|
|
package/dist/build-schema.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.modelToJsonSchema = exports.getNavigationalPropertyForRelation = exports.metaToJsonProperty = exports.isArrayType = exports.stringTypeToWrapper = exports.getJsonSchemaRef = exports.getJsonSchema = exports.buildModelCacheKey = void 0;
|
|
8
8
|
const tslib_1 = require("tslib");
|
|
9
|
-
const
|
|
9
|
+
const core_1 = require("@loopback/core");
|
|
10
10
|
const repository_1 = require("@loopback/repository");
|
|
11
11
|
const debug_1 = tslib_1.__importDefault(require("debug"));
|
|
12
12
|
const util_1 = require("util");
|
|
@@ -35,7 +35,7 @@ exports.buildModelCacheKey = buildModelCacheKey;
|
|
|
35
35
|
function getJsonSchema(ctor, options) {
|
|
36
36
|
// In the near future the metadata will be an object with
|
|
37
37
|
// different titles as keys
|
|
38
|
-
const cached =
|
|
38
|
+
const cached = core_1.MetadataInspector.getClassMetadata(keys_1.JSON_SCHEMA_KEY, ctor);
|
|
39
39
|
const key = buildModelCacheKey(options);
|
|
40
40
|
let schema = cached === null || cached === void 0 ? void 0 : cached[key];
|
|
41
41
|
if (!schema) {
|
|
@@ -48,7 +48,7 @@ function getJsonSchema(ctor, options) {
|
|
|
48
48
|
}
|
|
49
49
|
else {
|
|
50
50
|
// Define new metadata and set in cache
|
|
51
|
-
|
|
51
|
+
core_1.MetadataInspector.defineMetadata(keys_1.JSON_SCHEMA_KEY.key, { [key]: schema }, ctor);
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
return schema;
|
|
@@ -236,14 +236,15 @@ function buildSchemaTitle(ctor, meta, options) {
|
|
|
236
236
|
* @param options json schema options
|
|
237
237
|
*/
|
|
238
238
|
function getTitleSuffix(options = {}) {
|
|
239
|
+
var _a, _b;
|
|
239
240
|
let suffix = '';
|
|
240
|
-
if (options.optional
|
|
241
|
+
if ((_a = options.optional) === null || _a === void 0 ? void 0 : _a.length) {
|
|
241
242
|
suffix += `Optional_${options.optional.join('-')}_`;
|
|
242
243
|
}
|
|
243
244
|
else if (options.partial) {
|
|
244
245
|
suffix += 'Partial';
|
|
245
246
|
}
|
|
246
|
-
if (options.exclude
|
|
247
|
+
if ((_b = options.exclude) === null || _b === void 0 ? void 0 : _b.length) {
|
|
247
248
|
suffix += `Excluding_${options.exclude.join('-')}_`;
|
|
248
249
|
}
|
|
249
250
|
if (options.includeRelations) {
|
|
@@ -301,7 +302,7 @@ function getDescriptionSuffix(typeName, rawOptions = {}) {
|
|
|
301
302
|
* @param ctor - Constructor of class to convert from
|
|
302
303
|
*/
|
|
303
304
|
function modelToJsonSchema(ctor, jsonSchemaOptions = {}) {
|
|
304
|
-
var _a, _b, _c, _d, _e, _f;
|
|
305
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
305
306
|
const options = { ...jsonSchemaOptions };
|
|
306
307
|
options.visited = (_a = options.visited) !== null && _a !== void 0 ? _a : {};
|
|
307
308
|
options.optional = (_b = options.optional) !== null && _b !== void 0 ? _b : [];
|
|
@@ -324,6 +325,7 @@ function modelToJsonSchema(ctor, jsonSchemaOptions = {}) {
|
|
|
324
325
|
return options.visited[title];
|
|
325
326
|
const result = { title };
|
|
326
327
|
options.visited[title] = result;
|
|
328
|
+
result.type = 'object';
|
|
327
329
|
const descriptionSuffix = getDescriptionSuffix(ctor.name, options);
|
|
328
330
|
if (meta.description) {
|
|
329
331
|
const formatSuffix = descriptionSuffix ? ` ${descriptionSuffix}` : '';
|
|
@@ -333,7 +335,7 @@ function modelToJsonSchema(ctor, jsonSchemaOptions = {}) {
|
|
|
333
335
|
result.description = descriptionSuffix;
|
|
334
336
|
}
|
|
335
337
|
for (const p in meta.properties) {
|
|
336
|
-
if (options.exclude
|
|
338
|
+
if ((_c = options.exclude) === null || _c === void 0 ? void 0 : _c.includes(p)) {
|
|
337
339
|
debug('Property % is excluded by %s', p, options.exclude);
|
|
338
340
|
continue;
|
|
339
341
|
}
|
|
@@ -341,7 +343,7 @@ function modelToJsonSchema(ctor, jsonSchemaOptions = {}) {
|
|
|
341
343
|
// Circular import of model classes can lead to this situation
|
|
342
344
|
throw new Error(`Property ${ctor.name}.${p} does not have "type" in its definition`);
|
|
343
345
|
}
|
|
344
|
-
result.properties = (
|
|
346
|
+
result.properties = (_d = result.properties) !== null && _d !== void 0 ? _d : {};
|
|
345
347
|
result.properties[p] = result.properties[p] || {};
|
|
346
348
|
const metaProperty = Object.assign({}, meta.properties[p]);
|
|
347
349
|
// populating "properties" key
|
|
@@ -349,7 +351,7 @@ function modelToJsonSchema(ctor, jsonSchemaOptions = {}) {
|
|
|
349
351
|
// handling 'required' metadata
|
|
350
352
|
const optional = options.optional.includes(p);
|
|
351
353
|
if (metaProperty.required && !(partial || optional)) {
|
|
352
|
-
result.required = (
|
|
354
|
+
result.required = (_e = result.required) !== null && _e !== void 0 ? _e : [];
|
|
353
355
|
result.required.push(p);
|
|
354
356
|
}
|
|
355
357
|
// populating JSON Schema 'definitions'
|
|
@@ -377,7 +379,7 @@ function modelToJsonSchema(ctor, jsonSchemaOptions = {}) {
|
|
|
377
379
|
// JSONSchema6Definition allows both boolean and JSONSchema6 types
|
|
378
380
|
if (typeof result.properties[p] !== 'boolean') {
|
|
379
381
|
const prop = result.properties[p];
|
|
380
|
-
const propTitle = (
|
|
382
|
+
const propTitle = (_f = propSchema.title) !== null && _f !== void 0 ? _f : referenceType.name;
|
|
381
383
|
const targetRef = { $ref: `#/definitions/${propTitle}` };
|
|
382
384
|
if (prop.type === 'array' && prop.items) {
|
|
383
385
|
// Update $ref for array type
|
|
@@ -393,7 +395,7 @@ function modelToJsonSchema(ctor, jsonSchemaOptions = {}) {
|
|
|
393
395
|
debug(' additionalProperties?', result.additionalProperties);
|
|
394
396
|
if (options.includeRelations) {
|
|
395
397
|
for (const r in meta.relations) {
|
|
396
|
-
result.properties = (
|
|
398
|
+
result.properties = (_g = result.properties) !== null && _g !== void 0 ? _g : {};
|
|
397
399
|
const relMeta = meta.relations[r];
|
|
398
400
|
const targetType = repository_1.resolveType(relMeta.target);
|
|
399
401
|
// `title` is the unique identity of a schema,
|
|
@@ -414,7 +416,7 @@ function modelToJsonSchema(ctor, jsonSchemaOptions = {}) {
|
|
|
414
416
|
if (!schema || !Object.keys(schema).length)
|
|
415
417
|
return;
|
|
416
418
|
// promote nested definition to the top level
|
|
417
|
-
if (result !== schema
|
|
419
|
+
if (result !== (schema === null || schema === void 0 ? void 0 : schema.definitions)) {
|
|
418
420
|
for (const key in schema.definitions) {
|
|
419
421
|
if (key === title)
|
|
420
422
|
continue;
|
package/dist/build-schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-schema.js","sourceRoot":"","sources":["../src/build-schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build-schema.js","sourceRoot":"","sources":["../src/build-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,17 @@
|
|
|
4
4
|
// This file is licensed under the MIT License.
|
|
5
5
|
// License text available at https://opensource.org/licenses/MIT
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.getFieldsJsonSchemaFor = exports.getWhereJsonSchemaFor = exports.getFilterJsonSchemaFor = exports.getScopeFilterJsonSchemaFor = void 0;
|
|
7
|
+
exports.getFieldsJsonSchemaFor = exports.getWhereJsonSchemaFor = exports.getFilterJsonSchemaFor = exports.getScopeFilterJsonSchemaFor = exports.AnyScopeFilterSchema = void 0;
|
|
8
8
|
const tslib_1 = require("tslib");
|
|
9
9
|
const repository_1 = require("@loopback/repository");
|
|
10
|
+
exports.AnyScopeFilterSchema = {
|
|
11
|
+
type: 'array',
|
|
12
|
+
items: {
|
|
13
|
+
type: 'object',
|
|
14
|
+
properties: {},
|
|
15
|
+
additionalProperties: true,
|
|
16
|
+
},
|
|
17
|
+
};
|
|
10
18
|
/**
|
|
11
19
|
* Build a JSON schema describing the format of the "scope" object
|
|
12
20
|
* used to query model instances.
|
|
@@ -17,20 +25,22 @@ const repository_1 = require("@loopback/repository");
|
|
|
17
25
|
* @param modelCtor - The model constructor to build the filter schema for.
|
|
18
26
|
*/
|
|
19
27
|
function getScopeFilterJsonSchemaFor(modelCtor, options = {}) {
|
|
20
|
-
let EmptyModel =
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
], EmptyModel);
|
|
26
|
-
return EmptyModel;
|
|
27
|
-
})();
|
|
28
|
+
let EmptyModel = class EmptyModel extends repository_1.Model {
|
|
29
|
+
};
|
|
30
|
+
EmptyModel = tslib_1.__decorate([
|
|
31
|
+
repository_1.model({ settings: { strict: false } })
|
|
32
|
+
], EmptyModel);
|
|
28
33
|
const schema = {
|
|
29
|
-
...getFilterJsonSchemaFor(EmptyModel, {
|
|
34
|
+
...getFilterJsonSchemaFor(EmptyModel, {
|
|
35
|
+
setTitle: false,
|
|
36
|
+
}),
|
|
30
37
|
...(options.setTitle !== false && {
|
|
31
38
|
title: `${modelCtor.modelName}.ScopeFilter`,
|
|
32
39
|
}),
|
|
33
40
|
};
|
|
41
|
+
// To include nested models, we need to hard-code the inclusion
|
|
42
|
+
// filter schema for EmptyModel to allow any object query.
|
|
43
|
+
schema.properties.include = { ...exports.AnyScopeFilterSchema };
|
|
34
44
|
return schema;
|
|
35
45
|
}
|
|
36
46
|
exports.getScopeFilterJsonSchemaFor = getScopeFilterJsonSchemaFor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-json-schema.js","sourceRoot":"","sources":["../src/filter-json-schema.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,gDAAgD;AAChD,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,qDAAqE;
|
|
1
|
+
{"version":3,"file":"filter-json-schema.js","sourceRoot":"","sources":["../src/filter-json-schema.ts"],"names":[],"mappings":"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"}
|
package/dist/keys.d.ts
CHANGED
package/dist/keys.js
CHANGED
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
// License text available at https://opensource.org/licenses/MIT
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.JSON_SCHEMA_KEY = void 0;
|
|
8
|
-
const
|
|
8
|
+
const core_1 = require("@loopback/core");
|
|
9
9
|
/**
|
|
10
10
|
* Metadata key used to set or retrieve repository JSON Schema
|
|
11
11
|
*/
|
|
12
|
-
exports.JSON_SCHEMA_KEY =
|
|
12
|
+
exports.JSON_SCHEMA_KEY = core_1.MetadataAccessor.create('loopback:json-schema');
|
|
13
13
|
//# sourceMappingURL=keys.js.map
|
package/dist/keys.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,gDAAgD;AAChD,+CAA+C;AAC/C,gEAAgE;;;AAEhE,
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,gDAAgD;AAChD,+CAA+C;AAC/C,gEAAgE;;;AAEhE,yCAAgD;AAGhD;;GAEG;AACU,QAAA,eAAe,GAAG,uBAAgB,CAAC,MAAM,CAGpD,sBAAsB,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loopback/repository-json-schema",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.7",
|
|
4
4
|
"description": "Converts TS classes into JSON Schemas using TypeScript's reflection API",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"engines": {
|
|
8
|
-
"node": ">=10"
|
|
8
|
+
"node": ">=10.16"
|
|
9
9
|
},
|
|
10
10
|
"scripts": {
|
|
11
11
|
"build": "lb-tsc",
|
|
@@ -15,30 +15,30 @@
|
|
|
15
15
|
"verify": "npm pack && tar xf loopback-json-schema*.tgz && tree package && npm run clean"
|
|
16
16
|
},
|
|
17
17
|
"author": "IBM Corp.",
|
|
18
|
+
"copyright.owner": "IBM Corp.",
|
|
18
19
|
"license": "MIT",
|
|
20
|
+
"publishConfig": {
|
|
21
|
+
"access": "public"
|
|
22
|
+
},
|
|
19
23
|
"keywords": [
|
|
20
24
|
"LoopBack",
|
|
21
25
|
"TypeScript",
|
|
22
26
|
"JSON Schema"
|
|
23
27
|
],
|
|
24
|
-
"publishConfig": {
|
|
25
|
-
"access": "public"
|
|
26
|
-
},
|
|
27
28
|
"dependencies": {
|
|
28
|
-
"@loopback/
|
|
29
|
-
"@loopback/
|
|
30
|
-
"@
|
|
31
|
-
"@types/json-schema": "^7.0.4",
|
|
29
|
+
"@loopback/core": "^2.9.2",
|
|
30
|
+
"@loopback/repository": "^2.10.0",
|
|
31
|
+
"@types/json-schema": "^7.0.5",
|
|
32
32
|
"debug": "^4.1.1",
|
|
33
33
|
"tslib": "^2.0.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@loopback/build": "^
|
|
37
|
-
"@loopback/eslint-config": "^8.0.
|
|
38
|
-
"@loopback/testlab": "^3.1
|
|
36
|
+
"@loopback/build": "^6.1.1",
|
|
37
|
+
"@loopback/eslint-config": "^8.0.4",
|
|
38
|
+
"@loopback/testlab": "^3.2.1",
|
|
39
39
|
"@types/debug": "^4.1.5",
|
|
40
|
-
"@types/node": "^10.17.
|
|
41
|
-
"ajv": "^6.12.
|
|
40
|
+
"@types/node": "^10.17.27",
|
|
41
|
+
"ajv": "^6.12.3"
|
|
42
42
|
},
|
|
43
43
|
"files": [
|
|
44
44
|
"README.md",
|
|
@@ -51,5 +51,5 @@
|
|
|
51
51
|
"url": "https://github.com/strongloop/loopback-next.git",
|
|
52
52
|
"directory": "packages/repository-json-schema"
|
|
53
53
|
},
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "5538896411bb56467ae52670a29d1aec1690be74"
|
|
55
55
|
}
|
package/src/build-schema.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// This file is licensed under the MIT License.
|
|
4
4
|
// License text available at https://opensource.org/licenses/MIT
|
|
5
5
|
|
|
6
|
-
import {MetadataInspector} from '@loopback/
|
|
6
|
+
import {MetadataInspector} from '@loopback/core';
|
|
7
7
|
import {
|
|
8
8
|
isBuiltinType,
|
|
9
9
|
ModelDefinition,
|
|
@@ -342,12 +342,12 @@ function buildSchemaTitle<T extends object>(
|
|
|
342
342
|
function getTitleSuffix<T extends object>(options: JsonSchemaOptions<T> = {}) {
|
|
343
343
|
let suffix = '';
|
|
344
344
|
|
|
345
|
-
if (options.optional
|
|
345
|
+
if (options.optional?.length) {
|
|
346
346
|
suffix += `Optional_${options.optional.join('-')}_`;
|
|
347
347
|
} else if (options.partial) {
|
|
348
348
|
suffix += 'Partial';
|
|
349
349
|
}
|
|
350
|
-
if (options.exclude
|
|
350
|
+
if (options.exclude?.length) {
|
|
351
351
|
suffix += `Excluding_${options.exclude.join('-')}_`;
|
|
352
352
|
}
|
|
353
353
|
if (options.includeRelations) {
|
|
@@ -452,6 +452,8 @@ export function modelToJsonSchema<T extends object>(
|
|
|
452
452
|
const result: JsonSchema = {title};
|
|
453
453
|
options.visited[title] = result;
|
|
454
454
|
|
|
455
|
+
result.type = 'object';
|
|
456
|
+
|
|
455
457
|
const descriptionSuffix = getDescriptionSuffix(ctor.name, options);
|
|
456
458
|
|
|
457
459
|
if (meta.description) {
|
|
@@ -463,7 +465,7 @@ export function modelToJsonSchema<T extends object>(
|
|
|
463
465
|
}
|
|
464
466
|
|
|
465
467
|
for (const p in meta.properties) {
|
|
466
|
-
if (options.exclude
|
|
468
|
+
if (options.exclude?.includes(p as keyof T)) {
|
|
467
469
|
debug('Property % is excluded by %s', p, options.exclude);
|
|
468
470
|
continue;
|
|
469
471
|
}
|
|
@@ -562,7 +564,7 @@ export function modelToJsonSchema<T extends object>(
|
|
|
562
564
|
if (!schema || !Object.keys(schema).length) return;
|
|
563
565
|
|
|
564
566
|
// promote nested definition to the top level
|
|
565
|
-
if (result !== schema
|
|
567
|
+
if (result !== schema?.definitions) {
|
|
566
568
|
for (const key in schema.definitions) {
|
|
567
569
|
if (key === title) continue;
|
|
568
570
|
result.definitions = result.definitions ?? {};
|
|
@@ -21,6 +21,15 @@ export interface FilterSchemaOptions {
|
|
|
21
21
|
exclude?: string[] | string;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
export const AnyScopeFilterSchema: JsonSchema = {
|
|
25
|
+
type: 'array',
|
|
26
|
+
items: {
|
|
27
|
+
type: 'object',
|
|
28
|
+
properties: {},
|
|
29
|
+
additionalProperties: true,
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
|
|
24
33
|
/**
|
|
25
34
|
* Build a JSON schema describing the format of the "scope" object
|
|
26
35
|
* used to query model instances.
|
|
@@ -38,12 +47,17 @@ export function getScopeFilterJsonSchemaFor(
|
|
|
38
47
|
class EmptyModel extends Model {}
|
|
39
48
|
|
|
40
49
|
const schema: JsonSchema = {
|
|
41
|
-
...getFilterJsonSchemaFor(EmptyModel, {
|
|
50
|
+
...getFilterJsonSchemaFor(EmptyModel, {
|
|
51
|
+
setTitle: false,
|
|
52
|
+
}),
|
|
42
53
|
...(options.setTitle !== false && {
|
|
43
54
|
title: `${modelCtor.modelName}.ScopeFilter`,
|
|
44
55
|
}),
|
|
45
56
|
};
|
|
46
57
|
|
|
58
|
+
// To include nested models, we need to hard-code the inclusion
|
|
59
|
+
// filter schema for EmptyModel to allow any object query.
|
|
60
|
+
schema.properties!.include = {...AnyScopeFilterSchema};
|
|
47
61
|
return schema;
|
|
48
62
|
}
|
|
49
63
|
|
package/src/keys.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// This file is licensed under the MIT License.
|
|
4
4
|
// License text available at https://opensource.org/licenses/MIT
|
|
5
5
|
|
|
6
|
-
import {MetadataAccessor} from '@loopback/
|
|
6
|
+
import {MetadataAccessor} from '@loopback/core';
|
|
7
7
|
import {JsonSchema} from './index';
|
|
8
8
|
|
|
9
9
|
/**
|