@loopback/repository-json-schema 3.1.0 → 3.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/CHANGELOG.md +35 -0
- package/dist/filter-json-schema.js +17 -10
- package/dist/filter-json-schema.js.map +1 -1
- package/package.json +18 -18
- package/src/filter-json-schema.ts +17 -10
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,41 @@
|
|
|
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
|
+
## [3.2.2](https://github.com/strongloop/loopback-next/compare/@loopback/repository-json-schema@3.2.1...@loopback/repository-json-schema@3.2.2) (2021-02-09)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @loopback/repository-json-schema
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [3.2.1](https://github.com/strongloop/loopback-next/compare/@loopback/repository-json-schema@3.2.0...@loopback/repository-json-schema@3.2.1) (2021-01-21)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @loopback/repository-json-schema
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
# [3.2.0](https://github.com/strongloop/loopback-next/compare/@loopback/repository-json-schema@3.1.1...@loopback/repository-json-schema@3.2.0) (2020-12-07)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Features
|
|
26
|
+
|
|
27
|
+
* **filter:** introduce simpler syntax for inclusion ([2fe32ac](https://github.com/strongloop/loopback-next/commit/2fe32ac0f9c820ff1df242ea6e32c972a4dee383))
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
## [3.1.1](https://github.com/strongloop/loopback-next/compare/@loopback/repository-json-schema@3.1.0...@loopback/repository-json-schema@3.1.1) (2020-11-18)
|
|
34
|
+
|
|
35
|
+
**Note:** Version bump only for package @loopback/repository-json-schema
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
6
41
|
# [3.1.0](https://github.com/strongloop/loopback-next/compare/@loopback/repository-json-schema@3.0.2...@loopback/repository-json-schema@3.1.0) (2020-11-05)
|
|
7
42
|
|
|
8
43
|
|
|
@@ -117,16 +117,23 @@ function getFilterJsonSchemaFor(modelCtor, options = {}) {
|
|
|
117
117
|
}),
|
|
118
118
|
type: 'array',
|
|
119
119
|
items: {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
120
|
+
anyOf: [
|
|
121
|
+
{
|
|
122
|
+
...(options.setTitle !== false && {
|
|
123
|
+
title: `${modelCtor.modelName}.IncludeFilter.Items`,
|
|
124
|
+
}),
|
|
125
|
+
type: 'object',
|
|
126
|
+
properties: {
|
|
127
|
+
// TODO(bajtos) restrict values to relations defined by "model"
|
|
128
|
+
relation: { type: 'string' },
|
|
129
|
+
// TODO(bajtos) describe the filter for the relation target model
|
|
130
|
+
scope: getScopeFilterJsonSchemaFor(modelCtor, options),
|
|
131
|
+
},
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
type: 'string',
|
|
135
|
+
},
|
|
136
|
+
],
|
|
130
137
|
},
|
|
131
138
|
};
|
|
132
139
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-json-schema.js","sourceRoot":"","sources":["../src/filter-json-schema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"filter-json-schema.js","sourceRoot":"","sources":["../src/filter-json-schema.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loopback/repository-json-schema",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.2",
|
|
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.16 || 12 || 14"
|
|
8
|
+
"node": "^10.16 || 12 || 14 || 15"
|
|
9
9
|
},
|
|
10
10
|
"scripts": {
|
|
11
11
|
"build": "lb-tsc",
|
|
@@ -20,30 +20,30 @@
|
|
|
20
20
|
"publishConfig": {
|
|
21
21
|
"access": "public"
|
|
22
22
|
},
|
|
23
|
-
"keywords": [
|
|
24
|
-
"LoopBack",
|
|
25
|
-
"TypeScript",
|
|
26
|
-
"JSON Schema"
|
|
27
|
-
],
|
|
28
23
|
"peerDependencies": {
|
|
29
|
-
"@loopback/core": "^2.
|
|
30
|
-
"@loopback/repository": "^3.
|
|
24
|
+
"@loopback/core": "^2.14.1",
|
|
25
|
+
"@loopback/repository": "^3.4.1"
|
|
31
26
|
},
|
|
32
27
|
"dependencies": {
|
|
33
|
-
"@types/json-schema": "^7.0.
|
|
34
|
-
"debug": "^4.
|
|
35
|
-
"tslib": "^2.0
|
|
28
|
+
"@types/json-schema": "^7.0.7",
|
|
29
|
+
"debug": "^4.3.1",
|
|
30
|
+
"tslib": "^2.1.0"
|
|
36
31
|
},
|
|
37
32
|
"devDependencies": {
|
|
38
|
-
"@loopback/build": "^6.2.
|
|
39
|
-
"@loopback/core": "^2.
|
|
40
|
-
"@loopback/eslint-config": "^10.0.
|
|
41
|
-
"@loopback/repository": "^3.
|
|
42
|
-
"@loopback/testlab": "^3.2.
|
|
33
|
+
"@loopback/build": "^6.2.9",
|
|
34
|
+
"@loopback/core": "^2.14.1",
|
|
35
|
+
"@loopback/eslint-config": "^10.0.5",
|
|
36
|
+
"@loopback/repository": "^3.4.1",
|
|
37
|
+
"@loopback/testlab": "^3.2.12",
|
|
43
38
|
"@types/debug": "^4.1.5",
|
|
44
39
|
"@types/node": "^10.17.35",
|
|
45
40
|
"ajv": "^6.12.6"
|
|
46
41
|
},
|
|
42
|
+
"keywords": [
|
|
43
|
+
"LoopBack",
|
|
44
|
+
"TypeScript",
|
|
45
|
+
"JSON Schema"
|
|
46
|
+
],
|
|
47
47
|
"files": [
|
|
48
48
|
"README.md",
|
|
49
49
|
"dist",
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"url": "https://github.com/strongloop/loopback-next.git",
|
|
56
56
|
"directory": "packages/repository-json-schema"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "0fcf97fa1e87457de85f8f1b6b5cbf9f4f0bd640"
|
|
59
59
|
}
|
|
@@ -143,16 +143,23 @@ export function getFilterJsonSchemaFor(
|
|
|
143
143
|
}),
|
|
144
144
|
type: 'array',
|
|
145
145
|
items: {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
146
|
+
anyOf: [
|
|
147
|
+
{
|
|
148
|
+
...(options.setTitle !== false && {
|
|
149
|
+
title: `${modelCtor.modelName}.IncludeFilter.Items`,
|
|
150
|
+
}),
|
|
151
|
+
type: 'object',
|
|
152
|
+
properties: {
|
|
153
|
+
// TODO(bajtos) restrict values to relations defined by "model"
|
|
154
|
+
relation: {type: 'string'},
|
|
155
|
+
// TODO(bajtos) describe the filter for the relation target model
|
|
156
|
+
scope: getScopeFilterJsonSchemaFor(modelCtor, options),
|
|
157
|
+
},
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
type: 'string',
|
|
161
|
+
},
|
|
162
|
+
],
|
|
156
163
|
},
|
|
157
164
|
};
|
|
158
165
|
}
|