@volcanicminds/backend 2.2.4 → 2.2.6
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/dist/lib/loader/schemas.d.ts.map +1 -1
- package/dist/lib/loader/schemas.js +27 -13
- package/dist/lib/loader/schemas.js.map +1 -1
- package/dist/lib/schemas/auth.d.ts +3 -0
- package/dist/lib/schemas/auth.d.ts.map +1 -1
- package/dist/lib/schemas/auth.js +2 -1
- package/dist/lib/schemas/auth.js.map +1 -1
- package/dist/lib/schemas/user.d.ts +3 -0
- package/dist/lib/schemas/user.d.ts.map +1 -1
- package/dist/lib/schemas/user.js +2 -1
- package/dist/lib/schemas/user.js.map +1 -1
- package/lib/loader/schemas.ts +33 -16
- package/lib/schemas/auth.ts +2 -1
- package/lib/schemas/user.ts +2 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../lib/loader/schemas.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../lib/loader/schemas.ts"],"names":[],"mappings":"AAKA,wBAAsB,KAAK,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAyFtD"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _ from 'lodash';
|
|
1
2
|
import { normalizePatterns } from '../util/path.js';
|
|
2
3
|
import { globSync } from 'glob';
|
|
3
4
|
import path from 'path';
|
|
@@ -13,7 +14,6 @@ export async function apply(server) {
|
|
|
13
14
|
continue;
|
|
14
15
|
try {
|
|
15
16
|
const schemaModule = await import(f);
|
|
16
|
-
const schemaClass = schemaModule.default || schemaModule;
|
|
17
17
|
const schemaNames = Object.keys(schemaModule);
|
|
18
18
|
schemaNames.forEach((name) => {
|
|
19
19
|
const schema = schemaModule[name];
|
|
@@ -27,11 +27,6 @@ export async function apply(server) {
|
|
|
27
27
|
log.w && log.warn(`Could not load custom schema file: ${f}`, e);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
customSchemas.forEach((schema) => {
|
|
31
|
-
log.trace(`* Registering custom schema [${schema.$id}]`);
|
|
32
|
-
server.addSchema(schema);
|
|
33
|
-
schemaCount++;
|
|
34
|
-
});
|
|
35
30
|
log.t && log.trace('Looking for base schemas in ' + baseSchemaPath);
|
|
36
31
|
const baseFiles = globSync(baseSchemaPath, { windowsPathsNoEscape: true });
|
|
37
32
|
for (const f of baseFiles) {
|
|
@@ -42,15 +37,24 @@ export async function apply(server) {
|
|
|
42
37
|
const schemaModule = await import(f);
|
|
43
38
|
const schemaNames = Object.keys(schemaModule);
|
|
44
39
|
schemaNames.forEach((name) => {
|
|
45
|
-
const
|
|
46
|
-
if (
|
|
47
|
-
if (customSchemaIds.has(
|
|
48
|
-
|
|
49
|
-
|
|
40
|
+
const baseSchema = schemaModule[name];
|
|
41
|
+
if (baseSchema && typeof baseSchema === 'object' && baseSchema.$id) {
|
|
42
|
+
if (customSchemaIds.has(baseSchema.$id)) {
|
|
43
|
+
const customSchema = customSchemas.find((s) => s.$id === baseSchema.$id);
|
|
44
|
+
if (customSchema) {
|
|
45
|
+
const customRequired = Array.isArray(customSchema.required) ? customSchema.required : [];
|
|
46
|
+
const baseRequired = Array.isArray(baseSchema.required) ? baseSchema.required : [];
|
|
47
|
+
const mergedRequired = [...new Set([...customRequired, ...baseRequired])];
|
|
48
|
+
_.defaultsDeep(customSchema, baseSchema);
|
|
49
|
+
if (mergedRequired.length > 0) {
|
|
50
|
+
customSchema.required = mergedRequired;
|
|
51
|
+
}
|
|
52
|
+
log.d && log.debug(`* Schema [${baseSchema.$id}] deeply merged with core definition.`);
|
|
53
|
+
}
|
|
50
54
|
}
|
|
51
55
|
else {
|
|
52
|
-
log.trace(`* Registering base schema [${
|
|
53
|
-
server.addSchema(
|
|
56
|
+
log.trace(`* Registering base schema [${baseSchema.$id}] from ${schemaFileName}`);
|
|
57
|
+
server.addSchema(baseSchema);
|
|
54
58
|
schemaCount++;
|
|
55
59
|
}
|
|
56
60
|
}
|
|
@@ -63,6 +67,16 @@ export async function apply(server) {
|
|
|
63
67
|
log.w && log.warn(`Could not load base schema file: ${f}`, e);
|
|
64
68
|
}
|
|
65
69
|
}
|
|
70
|
+
customSchemas.forEach((schema) => {
|
|
71
|
+
log.trace(`* Registering custom schema [${schema.$id}]`);
|
|
72
|
+
try {
|
|
73
|
+
server.addSchema(schema);
|
|
74
|
+
schemaCount++;
|
|
75
|
+
}
|
|
76
|
+
catch (e) {
|
|
77
|
+
log.e && log.error(`Error registering schema ${schema.$id}: ${e.message}`);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
66
80
|
log.d && log.debug(`Schemas loaded: ${schemaCount} referenceable by $ref`);
|
|
67
81
|
}
|
|
68
82
|
//# sourceMappingURL=schemas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../lib/loader/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,MAAW;IACrC,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,GAAG,iBAAiB,CAC1D,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,EAC9B,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,CAChC,CAAA;IAED,MAAM,aAAa,GAAU,EAAE,CAAA;IAC/B,MAAM,eAAe,GAAG,IAAI,GAAG,EAAE,CAAA;IACjC,IAAI,WAAW,GAAG,CAAC,CAAA;IAEnB,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,gCAAgC,GAAG,gBAAgB,CAAC,CAAA;IACvE,MAAM,WAAW,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAA;IAE9E,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,SAAQ;QAEjC,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,CAAC,CAAC,CAAA;YACpC,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../lib/loader/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../lib/schemas/auth.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;CAQ/B,CAAA;AAED,eAAO,MAAM,4BAA4B;;;;;;;;;;;;CAQxC,CAAA;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;CAWlC,CAAA;AAED,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../lib/schemas/auth.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;CAQ/B,CAAA;AAED,eAAO,MAAM,4BAA4B;;;;;;;;;;;;CAQxC,CAAA;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;CAWlC,CAAA;AAED,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAenC,CAAA;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;;;;CAQlC,CAAA;AAED,eAAO,MAAM,0BAA0B;;;;;;;;;;;;CAQtC,CAAA;AAED,eAAO,MAAM,8BAA8B;;;;;;;;;CAO1C,CAAA;AAED,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAatC,CAAA;AAED,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;CAUxC,CAAA;AAED,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;CASnC,CAAA;AAED,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;CAStC,CAAA;AAED,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;CASnC,CAAA;AAED,eAAO,MAAM,uBAAuB;;;;;;;;;;CAQnC,CAAA"}
|
package/dist/lib/schemas/auth.js
CHANGED
|
@@ -40,7 +40,8 @@ export const authLoginResponseSchema = {
|
|
|
40
40
|
email: { type: 'string' },
|
|
41
41
|
roles: { type: 'array', items: { type: 'string' } },
|
|
42
42
|
token: { type: 'string' },
|
|
43
|
-
refreshToken: { type: 'string' }
|
|
43
|
+
refreshToken: { type: 'string' },
|
|
44
|
+
mfaEnabled: { type: 'boolean' }
|
|
44
45
|
}
|
|
45
46
|
};
|
|
46
47
|
export const authMfaChallengeSchema = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../lib/schemas/auth.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,GAAG,EAAE,qBAAqB;IAC1B,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE;QACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC7B;CACF,CAAA;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,GAAG,EAAE,8BAA8B;IACnC,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE;QACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC1B;CACF,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,GAAG,EAAE,wBAAwB;IAC7B,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE;QACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;KAC5D;CACF,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,GAAG,EAAE,yBAAyB;IAC9B,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE;QACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACtB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvB,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACnD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../lib/schemas/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../lib/schemas/user.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;CAOjC,CAAA;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAc1B,CAAA;AAED,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../lib/schemas/user.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;CAOjC,CAAA;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAc1B,CAAA;AAED,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoBtB,CAAA;AAED,eAAO,MAAM,aAAa;;;;;;;;;CAOzB,CAAA;AAED,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;CAStB,CAAA"}
|
package/dist/lib/schemas/user.js
CHANGED
|
@@ -38,7 +38,8 @@ export const userSchema = {
|
|
|
38
38
|
roles: { type: 'array', items: { type: 'string' } },
|
|
39
39
|
createdAt: { type: 'string' },
|
|
40
40
|
version: { type: 'number' },
|
|
41
|
-
updatedAt: { type: 'string' }
|
|
41
|
+
updatedAt: { type: 'string' },
|
|
42
|
+
mfaEnabled: { type: 'boolean' }
|
|
42
43
|
}
|
|
43
44
|
};
|
|
44
45
|
export const isAdminSchema = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../../lib/schemas/user.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,GAAG,EAAE,uBAAuB;IAC5B,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE;QACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC7B;CACF,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,GAAG,EAAE,gBAAgB;IACrB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE;QACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC5B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC9B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;KACpD;CACF,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE;QACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACtB,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC5B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC9B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACnD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../../lib/schemas/user.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,GAAG,EAAE,uBAAuB;IAC5B,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE;QACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC7B;CACF,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,GAAG,EAAE,gBAAgB;IACrB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE;QACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC5B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC9B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;KACpD;CACF,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE;QACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACtB,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC5B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC9B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACnD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;KAChC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,GAAG,EAAE,eAAe;IACpB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE;QACV,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;KAC7B;CACF,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAChC;CACF,CAAA"}
|
package/lib/loader/schemas.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _ from 'lodash'
|
|
1
2
|
import { normalizePatterns } from '../util/path.js'
|
|
2
3
|
import { globSync } from 'glob'
|
|
3
4
|
import path from 'path'
|
|
@@ -20,7 +21,6 @@ export async function apply(server: any): Promise<void> {
|
|
|
20
21
|
|
|
21
22
|
try {
|
|
22
23
|
const schemaModule = await import(f)
|
|
23
|
-
const schemaClass = schemaModule.default || schemaModule
|
|
24
24
|
const schemaNames = Object.keys(schemaModule)
|
|
25
25
|
|
|
26
26
|
schemaNames.forEach((name) => {
|
|
@@ -35,12 +35,6 @@ export async function apply(server: any): Promise<void> {
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
customSchemas.forEach((schema) => {
|
|
39
|
-
log.trace(`* Registering custom schema [${schema.$id}]`)
|
|
40
|
-
server.addSchema(schema)
|
|
41
|
-
schemaCount++
|
|
42
|
-
})
|
|
43
|
-
|
|
44
38
|
log.t && log.trace('Looking for base schemas in ' + baseSchemaPath)
|
|
45
39
|
const baseFiles = globSync(baseSchemaPath, { windowsPathsNoEscape: true })
|
|
46
40
|
|
|
@@ -53,16 +47,29 @@ export async function apply(server: any): Promise<void> {
|
|
|
53
47
|
const schemaNames = Object.keys(schemaModule)
|
|
54
48
|
|
|
55
49
|
schemaNames.forEach((name) => {
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
50
|
+
const baseSchema = schemaModule[name]
|
|
51
|
+
|
|
52
|
+
if (baseSchema && typeof baseSchema === 'object' && baseSchema.$id) {
|
|
53
|
+
if (customSchemaIds.has(baseSchema.$id)) {
|
|
54
|
+
// SMART DEEP MERGE
|
|
55
|
+
const customSchema = customSchemas.find((s) => s.$id === baseSchema.$id)
|
|
56
|
+
|
|
57
|
+
if (customSchema) {
|
|
58
|
+
const customRequired = Array.isArray(customSchema.required) ? customSchema.required : []
|
|
59
|
+
const baseRequired = Array.isArray(baseSchema.required) ? baseSchema.required : []
|
|
60
|
+
const mergedRequired = [...new Set([...customRequired, ...baseRequired])]
|
|
61
|
+
|
|
62
|
+
_.defaultsDeep(customSchema, baseSchema)
|
|
63
|
+
|
|
64
|
+
if (mergedRequired.length > 0) {
|
|
65
|
+
customSchema.required = mergedRequired
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
log.d && log.debug(`* Schema [${baseSchema.$id}] deeply merged with core definition.`)
|
|
69
|
+
}
|
|
63
70
|
} else {
|
|
64
|
-
log.trace(`* Registering base schema [${
|
|
65
|
-
server.addSchema(
|
|
71
|
+
log.trace(`* Registering base schema [${baseSchema.$id}] from ${schemaFileName}`)
|
|
72
|
+
server.addSchema(baseSchema)
|
|
66
73
|
schemaCount++
|
|
67
74
|
}
|
|
68
75
|
} else if (name !== 'default') {
|
|
@@ -74,5 +81,15 @@ export async function apply(server: any): Promise<void> {
|
|
|
74
81
|
}
|
|
75
82
|
}
|
|
76
83
|
|
|
84
|
+
customSchemas.forEach((schema) => {
|
|
85
|
+
log.trace(`* Registering custom schema [${schema.$id}]`)
|
|
86
|
+
try {
|
|
87
|
+
server.addSchema(schema)
|
|
88
|
+
schemaCount++
|
|
89
|
+
} catch (e: any) {
|
|
90
|
+
log.e && log.error(`Error registering schema ${schema.$id}: ${e.message}`)
|
|
91
|
+
}
|
|
92
|
+
})
|
|
93
|
+
|
|
77
94
|
log.d && log.debug(`Schemas loaded: ${schemaCount} referenceable by $ref`)
|
|
78
95
|
}
|
package/lib/schemas/auth.ts
CHANGED
|
@@ -43,7 +43,8 @@ export const authLoginResponseSchema = {
|
|
|
43
43
|
email: { type: 'string' },
|
|
44
44
|
roles: { type: 'array', items: { type: 'string' } },
|
|
45
45
|
token: { type: 'string' },
|
|
46
|
-
refreshToken: { type: 'string' }
|
|
46
|
+
refreshToken: { type: 'string' },
|
|
47
|
+
mfaEnabled: { type: 'boolean' }
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
50
|
|
package/lib/schemas/user.ts
CHANGED
|
@@ -40,7 +40,8 @@ export const userSchema = {
|
|
|
40
40
|
roles: { type: 'array', items: { type: 'string' } },
|
|
41
41
|
createdAt: { type: 'string' },
|
|
42
42
|
version: { type: 'number' },
|
|
43
|
-
updatedAt: { type: 'string' }
|
|
43
|
+
updatedAt: { type: 'string' },
|
|
44
|
+
mfaEnabled: { type: 'boolean' }
|
|
44
45
|
}
|
|
45
46
|
}
|
|
46
47
|
|