@feathersjs/schema 5.0.0-pre.37 → 5.0.0
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 +14 -0
- package/lib/hooks/validate.js +3 -3
- package/lib/hooks/validate.js.map +1 -1
- package/lib/json-schema.d.ts +10 -0
- package/lib/json-schema.js +8 -5
- package/lib/json-schema.js.map +1 -1
- package/package.json +10 -10
- package/src/hooks/validate.ts +4 -4
- package/src/json-schema.ts +8 -5
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,20 @@
|
|
|
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
|
+
# [5.0.0](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.38...v5.0.0) (2023-02-24)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @feathersjs/schema
|
|
9
|
+
|
|
10
|
+
# [5.0.0-pre.38](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.37...v5.0.0-pre.38) (2023-02-17)
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
- **schema:** validateQuery - move next function outside of try-catch ([#3053](https://github.com/feathersjs/feathers/issues/3053)) ([37fe5c4](https://github.com/feathersjs/feathers/commit/37fe5c4a4d813867f6d02098b7c77d08786248c7))
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
- **schema:** Add schema helper for handling Object ids ([#3058](https://github.com/feathersjs/feathers/issues/3058)) ([1393bed](https://github.com/feathersjs/feathers/commit/1393bed81a9ee814de6aab0e537af83e667591a2))
|
|
19
|
+
|
|
6
20
|
# [5.0.0-pre.37](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.36...v5.0.0-pre.37) (2023-02-09)
|
|
7
21
|
|
|
8
22
|
### Bug Fixes
|
package/lib/hooks/validate.js
CHANGED
|
@@ -15,13 +15,13 @@ const validateQuery = (schema) => {
|
|
|
15
15
|
...context.params,
|
|
16
16
|
query
|
|
17
17
|
};
|
|
18
|
-
if (typeof next === 'function') {
|
|
19
|
-
return next();
|
|
20
|
-
}
|
|
21
18
|
}
|
|
22
19
|
catch (error) {
|
|
23
20
|
throw error.ajv ? new errors_1.BadRequest(error.message, error.errors) : error;
|
|
24
21
|
}
|
|
22
|
+
if (typeof next === 'function') {
|
|
23
|
+
return next();
|
|
24
|
+
}
|
|
25
25
|
};
|
|
26
26
|
};
|
|
27
27
|
exports.validateQuery = validateQuery;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/hooks/validate.ts"],"names":[],"mappings":";;;AACA,+CAA+C;AAC/C,iEAAuD;AAIhD,MAAM,aAAa,GAAG,CAAwB,MAA+B,EAAE,EAAE;IACtF,MAAM,SAAS,GAAc,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAEjG,OAAO,KAAK,EAAE,OAAU,EAAE,IAAmB,EAAE,EAAE;;QAC/C,MAAM,IAAI,GAAG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,0CAAE,KAAK,KAAI,EAAE,CAAA;QAEzC,IAAI;YACF,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAA;YAEnC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,2BAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YAExD,OAAO,CAAC,MAAM,GAAG;gBACf,GAAG,OAAO,CAAC,MAAM;gBACjB,KAAK;aACN,CAAA;
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/hooks/validate.ts"],"names":[],"mappings":";;;AACA,+CAA+C;AAC/C,iEAAuD;AAIhD,MAAM,aAAa,GAAG,CAAwB,MAA+B,EAAE,EAAE;IACtF,MAAM,SAAS,GAAc,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAEjG,OAAO,KAAK,EAAE,OAAU,EAAE,IAAmB,EAAE,EAAE;;QAC/C,MAAM,IAAI,GAAG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,0CAAE,KAAK,KAAI,EAAE,CAAA;QAEzC,IAAI;YACF,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAA;YAEnC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,2BAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YAExD,OAAO,CAAC,MAAM,GAAG;gBACf,GAAG,OAAO,CAAC,MAAM;gBACjB,KAAK;aACN,CAAA;SACF;QAAC,OAAO,KAAU,EAAE;YACnB,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,mBAAU,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;SACtE;QAED,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;YAC9B,OAAO,IAAI,EAAE,CAAA;SACd;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AAvBY,QAAA,aAAa,iBAuBzB;AAEM,MAAM,YAAY,GAAG,CAAwB,MAAkD,EAAE,EAAE;IACxG,OAAO,KAAK,EAAE,OAAU,EAAE,IAAmB,EAAE,EAAE;QAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QACzB,MAAM,SAAS,GACb,OAAQ,MAAsB,CAAC,QAAQ,KAAK,UAAU;YACpD,CAAC,CAAE,MAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YAC/C,CAAC,CAAC,OAAO,MAAM,KAAK,UAAU;gBAC9B,CAAC,CAAC,MAAM;gBACR,CAAC,CAAE,MAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAErC,IAAI,SAAS,EAAE;YACb,IAAI;gBACF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACvB,OAAO,CAAC,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;iBAC5E;qBAAM;oBACL,OAAO,CAAC,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAA;iBACrC;gBAED,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,2BAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;aAChE;YAAC,OAAO,KAAU,EAAE;gBACnB,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,mBAAU,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;aACtE;SACF;QAED,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;YAC9B,OAAO,IAAI,EAAE,CAAA;SACd;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AA5BY,QAAA,YAAY,gBA4BxB"}
|
package/lib/json-schema.d.ts
CHANGED
|
@@ -157,3 +157,13 @@ export declare const querySyntax: <T extends {
|
|
|
157
157
|
};
|
|
158
158
|
};
|
|
159
159
|
} & { [K_2 in keyof T]: PropertyQuery<T[K_2], X[K_2]>; };
|
|
160
|
+
export declare const ObjectIdSchema: () => {
|
|
161
|
+
readonly anyOf: readonly [{
|
|
162
|
+
readonly type: "string";
|
|
163
|
+
readonly objectid: true;
|
|
164
|
+
}, {
|
|
165
|
+
readonly type: "object";
|
|
166
|
+
readonly properties: {};
|
|
167
|
+
readonly additionalProperties: false;
|
|
168
|
+
}];
|
|
169
|
+
};
|
package/lib/json-schema.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.querySyntax = exports.queryProperties = exports.queryProperty = exports.getDataValidator = exports.getValidator = void 0;
|
|
3
|
+
exports.ObjectIdSchema = exports.querySyntax = exports.queryProperties = exports.queryProperty = exports.getDataValidator = exports.getValidator = void 0;
|
|
4
4
|
const commons_1 = require("@feathersjs/commons");
|
|
5
5
|
/**
|
|
6
6
|
* Returns a compiled validation function for a schema and AJV validator instance.
|
|
@@ -86,10 +86,6 @@ exports.queryProperty = queryProperty;
|
|
|
86
86
|
const queryProperties = (definitions, extensions = {}) => Object.keys(definitions).reduce((res, key) => {
|
|
87
87
|
const result = res;
|
|
88
88
|
const definition = definitions[key];
|
|
89
|
-
const { $ref } = definition;
|
|
90
|
-
if ($ref) {
|
|
91
|
-
throw new Error(`Can not create query syntax schema for reference property '${key}'`);
|
|
92
|
-
}
|
|
93
89
|
result[key] = (0, exports.queryProperty)(definition, extensions[key]);
|
|
94
90
|
return result;
|
|
95
91
|
}, {});
|
|
@@ -158,4 +154,11 @@ const querySyntax = (definition, extensions = {}) => {
|
|
|
158
154
|
};
|
|
159
155
|
};
|
|
160
156
|
exports.querySyntax = querySyntax;
|
|
157
|
+
const ObjectIdSchema = () => ({
|
|
158
|
+
anyOf: [
|
|
159
|
+
{ type: 'string', objectid: true },
|
|
160
|
+
{ type: 'object', properties: {}, additionalProperties: false }
|
|
161
|
+
]
|
|
162
|
+
});
|
|
163
|
+
exports.ObjectIdSchema = ObjectIdSchema;
|
|
161
164
|
//# sourceMappingURL=json-schema.js.map
|
package/lib/json-schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-schema.js","sourceRoot":"","sources":["../src/json-schema.ts"],"names":[],"mappings":";;;AAAA,iDAAuC;AAgBvC;;;;;;GAMG;AACI,MAAM,YAAY,GAAG,CAAiB,MAA4B,EAAE,SAAc,EAAmB,EAAE,CAC5G,SAAS,CAAC,OAAO,CAAC;IAChB,MAAM,EAAE,IAAI;IACZ,GAAI,MAAc;CACnB,CAA2B,CAAA;AAJjB,QAAA,YAAY,gBAIK;AAE9B;;;;;;;;;GASG;AACI,MAAM,gBAAgB,GAAG,CAC9B,GAAyC,EACzC,SAAc,EACI,EAAE;IACpB,MAAM,MAAM,GAAG,CAAE,GAAW,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAkB,CAAA;IAE7E,OAAO;QACL,MAAM,EAAE,IAAA,oBAAY,EAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;QAC9C,MAAM,EAAE,IAAA,oBAAY,EAClB,MAAM,CAAC,MAAM,IAAI;YACf,GAAI,MAAM,CAAC,MAAc;YACzB,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ;SAClC,EACD,SAAS,CACV;QACD,KAAK,EAAE,IAAA,oBAAY,EACjB,MAAM,CAAC,KAAK,IAAI;YACd,GAAI,MAAM,CAAC,MAAc;YACzB,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO;YAChC,QAAQ,EAAE,EAAE;SACb,EACD,SAAS,CACV;KACF,CAAA;AACH,CAAC,CAAA;AAxBY,QAAA,gBAAgB,oBAwB5B;AA2BD;;;;;;GAMG;AACI,MAAM,aAAa,GAAG,CAC3B,GAAM,EACN,aAAgB,EAAO,EACvB,EAAE;IACF,MAAM,UAAU,GAAG,WAAC,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;IACzC,OAAO;QACL,KAAK,EAAE;YACL,UAAU;YACV;gBACE,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,GAAG,EAAE,UAAU;oBACf,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,UAAU;oBACf,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,UAAU;oBACf,GAAG,EAAE;wBACH,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,UAAU;qBAClB;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,UAAU;qBAClB;oBACD,GAAG,UAAU;iBACd;aACF;SACF;KACO,CAAA;AACZ,CAAC,CAAA;AA9BY,QAAA,aAAa,iBA8BzB;AAED;;;;;;GAMG;AACI,MAAM,eAAe,GAAG,CAI7B,WAAc,EACd,aAAgB,EAAO,EACvB,EAAE,CACF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IAC3C,MAAM,MAAM,GAAG,GAAU,CAAA;IACzB,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"json-schema.js","sourceRoot":"","sources":["../src/json-schema.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@feathersjs/schema",
|
|
3
3
|
"description": "A common data schema definition format",
|
|
4
|
-
"version": "5.0.0
|
|
4
|
+
"version": "5.0.0",
|
|
5
5
|
"homepage": "https://feathersjs.com",
|
|
6
6
|
"main": "lib/",
|
|
7
7
|
"types": "lib/",
|
|
@@ -54,24 +54,24 @@
|
|
|
54
54
|
"access": "public"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@feathersjs/adapter-commons": "^5.0.0
|
|
58
|
-
"@feathersjs/commons": "^5.0.0
|
|
59
|
-
"@feathersjs/errors": "^5.0.0
|
|
60
|
-
"@feathersjs/feathers": "^5.0.0
|
|
61
|
-
"@feathersjs/hooks": "^0.
|
|
57
|
+
"@feathersjs/adapter-commons": "^5.0.0",
|
|
58
|
+
"@feathersjs/commons": "^5.0.0",
|
|
59
|
+
"@feathersjs/errors": "^5.0.0",
|
|
60
|
+
"@feathersjs/feathers": "^5.0.0",
|
|
61
|
+
"@feathersjs/hooks": "^0.8.1",
|
|
62
62
|
"@types/json-schema": "^7.0.11",
|
|
63
63
|
"ajv": "^8.12.0",
|
|
64
64
|
"ajv-formats": "^2.1.1",
|
|
65
|
-
"json-schema-to-ts": "^2.
|
|
65
|
+
"json-schema-to-ts": "^2.7.2"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
|
-
"@feathersjs/memory": "^5.0.0
|
|
68
|
+
"@feathersjs/memory": "^5.0.0",
|
|
69
69
|
"@types/mocha": "^10.0.1",
|
|
70
|
-
"@types/node": "^18.
|
|
70
|
+
"@types/node": "^18.14.1",
|
|
71
71
|
"ajv-formats": "^2.1.1",
|
|
72
72
|
"mocha": "^10.2.0",
|
|
73
73
|
"shx": "^0.3.4",
|
|
74
74
|
"typescript": "^4.9.5"
|
|
75
75
|
},
|
|
76
|
-
"gitHead": "
|
|
76
|
+
"gitHead": "90caf635aec850550b9d37bea2762af959d9e8d5"
|
|
77
77
|
}
|
package/src/hooks/validate.ts
CHANGED
|
@@ -19,13 +19,13 @@ export const validateQuery = <H extends HookContext>(schema: Schema<any> | Valid
|
|
|
19
19
|
...context.params,
|
|
20
20
|
query
|
|
21
21
|
}
|
|
22
|
-
|
|
23
|
-
if (typeof next === 'function') {
|
|
24
|
-
return next()
|
|
25
|
-
}
|
|
26
22
|
} catch (error: any) {
|
|
27
23
|
throw error.ajv ? new BadRequest(error.message, error.errors) : error
|
|
28
24
|
}
|
|
25
|
+
|
|
26
|
+
if (typeof next === 'function') {
|
|
27
|
+
return next()
|
|
28
|
+
}
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
|
package/src/json-schema.ts
CHANGED
|
@@ -144,11 +144,6 @@ export const queryProperties = <
|
|
|
144
144
|
Object.keys(definitions).reduce((res, key) => {
|
|
145
145
|
const result = res as any
|
|
146
146
|
const definition = definitions[key]
|
|
147
|
-
const { $ref } = definition as any
|
|
148
|
-
|
|
149
|
-
if ($ref) {
|
|
150
|
-
throw new Error(`Can not create query syntax schema for reference property '${key}'`)
|
|
151
|
-
}
|
|
152
147
|
|
|
153
148
|
result[key] = queryProperty(definition as JSONSchemaDefinition, extensions[key as keyof T])
|
|
154
149
|
|
|
@@ -227,3 +222,11 @@ export const querySyntax = <
|
|
|
227
222
|
...props
|
|
228
223
|
} as const
|
|
229
224
|
}
|
|
225
|
+
|
|
226
|
+
export const ObjectIdSchema = () =>
|
|
227
|
+
({
|
|
228
|
+
anyOf: [
|
|
229
|
+
{ type: 'string', objectid: true },
|
|
230
|
+
{ type: 'object', properties: {}, additionalProperties: false }
|
|
231
|
+
]
|
|
232
|
+
} as const)
|