mirror of
https://github.com/Unleash/unleash.git
synced 2025-04-19 01:17:18 +02:00
refactor: remove response data from schema validation logging (#1748)
* refactor: remove response data from schema validation logging * refactor: update validation error snapshots * refactor: add missing segments field to featureStrategySchema
This commit is contained in:
parent
de4ba0970f
commit
286b016b04
@ -2,7 +2,6 @@
|
||||
|
||||
exports[`apiTokenSchema empty 1`] = `
|
||||
Object {
|
||||
"data": Object {},
|
||||
"errors": Array [
|
||||
Object {
|
||||
"instancePath": "",
|
||||
|
@ -2,7 +2,6 @@
|
||||
|
||||
exports[`changePasswordSchema empty 1`] = `
|
||||
Object {
|
||||
"data": Object {},
|
||||
"errors": Array [
|
||||
Object {
|
||||
"instancePath": "",
|
||||
|
@ -2,11 +2,6 @@
|
||||
|
||||
exports[`constraintSchema invalid operator name 1`] = `
|
||||
Object {
|
||||
"data": Object {
|
||||
"contextName": "a",
|
||||
"operator": "b",
|
||||
"value": "1",
|
||||
},
|
||||
"errors": Array [
|
||||
Object {
|
||||
"instancePath": "/operator",
|
||||
@ -40,11 +35,6 @@ Object {
|
||||
|
||||
exports[`constraintSchema invalid value type 1`] = `
|
||||
Object {
|
||||
"data": Object {
|
||||
"contextName": "a",
|
||||
"operator": "NUM_LTE",
|
||||
"value": 1,
|
||||
},
|
||||
"errors": Array [
|
||||
Object {
|
||||
"instancePath": "/value",
|
||||
|
@ -2,7 +2,6 @@
|
||||
|
||||
exports[`contextFieldSchema empty 1`] = `
|
||||
Object {
|
||||
"data": Object {},
|
||||
"errors": Array [
|
||||
Object {
|
||||
"instancePath": "",
|
||||
|
@ -2,7 +2,6 @@
|
||||
|
||||
exports[`emailSchema 1`] = `
|
||||
Object {
|
||||
"data": Object {},
|
||||
"errors": Array [
|
||||
Object {
|
||||
"instancePath": "",
|
||||
|
@ -2,7 +2,6 @@
|
||||
|
||||
exports[`featureEnvironmentSchema empty 1`] = `
|
||||
Object {
|
||||
"data": Object {},
|
||||
"errors": Array [
|
||||
Object {
|
||||
"instancePath": "",
|
||||
|
@ -2,19 +2,6 @@
|
||||
|
||||
exports[`featureSchema constraints 1`] = `
|
||||
Object {
|
||||
"data": Object {
|
||||
"name": "a",
|
||||
"strategies": Array [
|
||||
Object {
|
||||
"constraints": Array [
|
||||
Object {
|
||||
"contextName": "a",
|
||||
},
|
||||
],
|
||||
"name": "a",
|
||||
},
|
||||
],
|
||||
},
|
||||
"errors": Array [
|
||||
Object {
|
||||
"instancePath": "/strategies/0",
|
||||
@ -32,27 +19,6 @@ Object {
|
||||
|
||||
exports[`featureSchema overrides 1`] = `
|
||||
Object {
|
||||
"data": Object {
|
||||
"name": "a",
|
||||
"variants": Array [
|
||||
Object {
|
||||
"name": "a",
|
||||
"overrides": Array [
|
||||
Object {
|
||||
"contextName": "a",
|
||||
"values": "b",
|
||||
},
|
||||
],
|
||||
"payload": Object {
|
||||
"type": "a",
|
||||
"value": "b",
|
||||
},
|
||||
"stickiness": "a",
|
||||
"weight": 1,
|
||||
"weightType": "a",
|
||||
},
|
||||
],
|
||||
},
|
||||
"errors": Array [
|
||||
Object {
|
||||
"instancePath": "/variants/0/overrides/0/values",
|
||||
|
@ -2,7 +2,6 @@
|
||||
|
||||
exports[`featureTypeSchema empty 1`] = `
|
||||
Object {
|
||||
"data": Object {},
|
||||
"errors": Array [
|
||||
Object {
|
||||
"instancePath": "",
|
||||
|
@ -2,7 +2,6 @@
|
||||
|
||||
exports[`meSchema empty 1`] = `
|
||||
Object {
|
||||
"data": Object {},
|
||||
"errors": Array [
|
||||
Object {
|
||||
"instancePath": "",
|
||||
@ -20,11 +19,6 @@ Object {
|
||||
|
||||
exports[`meSchema missing permissions 1`] = `
|
||||
Object {
|
||||
"data": Object {
|
||||
"user": Object {
|
||||
"id": 1,
|
||||
},
|
||||
},
|
||||
"errors": Array [
|
||||
Object {
|
||||
"instancePath": "",
|
||||
@ -42,13 +36,6 @@ Object {
|
||||
|
||||
exports[`meSchema missing splash 1`] = `
|
||||
Object {
|
||||
"data": Object {
|
||||
"feedback": Array [],
|
||||
"permissions": Array [],
|
||||
"user": Object {
|
||||
"id": 1,
|
||||
},
|
||||
},
|
||||
"errors": Array [
|
||||
Object {
|
||||
"instancePath": "",
|
||||
|
@ -2,7 +2,6 @@
|
||||
|
||||
exports[`roleSchema 1`] = `
|
||||
Object {
|
||||
"data": Object {},
|
||||
"errors": Array [
|
||||
Object {
|
||||
"instancePath": "",
|
||||
|
@ -2,9 +2,6 @@
|
||||
|
||||
exports[`sortOrderSchema invalid value type 1`] = `
|
||||
Object {
|
||||
"data": Object {
|
||||
"a": "1",
|
||||
},
|
||||
"errors": Array [
|
||||
Object {
|
||||
"instancePath": "/a",
|
||||
|
@ -2,7 +2,6 @@
|
||||
|
||||
exports[`strategySchema 1`] = `
|
||||
Object {
|
||||
"data": Object {},
|
||||
"errors": Array [
|
||||
Object {
|
||||
"instancePath": "",
|
||||
|
@ -2,7 +2,6 @@
|
||||
|
||||
exports[`tokenUserSchema 1`] = `
|
||||
Object {
|
||||
"data": Object {},
|
||||
"errors": Array [
|
||||
Object {
|
||||
"instancePath": "",
|
||||
|
@ -2,7 +2,6 @@
|
||||
|
||||
exports[`validatePasswordSchema empty 1`] = `
|
||||
Object {
|
||||
"data": Object {},
|
||||
"errors": Array [
|
||||
Object {
|
||||
"instancePath": "",
|
||||
|
@ -14,6 +14,7 @@ test('featureSchema', () => {
|
||||
operator: 'IN',
|
||||
},
|
||||
],
|
||||
segments: [1],
|
||||
},
|
||||
],
|
||||
variants: [
|
||||
|
@ -17,6 +17,12 @@ export const featureStrategySchema = {
|
||||
sortOrder: {
|
||||
type: 'number',
|
||||
},
|
||||
segments: {
|
||||
type: 'array',
|
||||
items: {
|
||||
type: 'number',
|
||||
},
|
||||
},
|
||||
constraints: {
|
||||
type: 'array',
|
||||
items: {
|
||||
|
@ -3,9 +3,8 @@ import addFormats from 'ajv-formats';
|
||||
import { SchemaId, schemas } from './index';
|
||||
import { omitKeys } from '../util/omit-keys';
|
||||
|
||||
interface ISchemaValidationErrors<T> {
|
||||
interface ISchemaValidationErrors {
|
||||
schema: SchemaId;
|
||||
data: T;
|
||||
errors: ErrorObject[];
|
||||
}
|
||||
|
||||
@ -17,14 +16,13 @@ const ajv = new Ajv({
|
||||
|
||||
addFormats(ajv, ['date-time']);
|
||||
|
||||
export const validateSchema = <T>(
|
||||
export const validateSchema = (
|
||||
schema: SchemaId,
|
||||
data: T,
|
||||
): ISchemaValidationErrors<T> | undefined => {
|
||||
data: unknown,
|
||||
): ISchemaValidationErrors | undefined => {
|
||||
if (!ajv.validate(schema, data)) {
|
||||
return {
|
||||
schema,
|
||||
data: data,
|
||||
errors: ajv.errors ?? [],
|
||||
};
|
||||
}
|
||||
|
@ -748,6 +748,12 @@ Object {
|
||||
"parameters": Object {
|
||||
"$ref": "#/components/schemas/parametersSchema",
|
||||
},
|
||||
"segments": Object {
|
||||
"items": Object {
|
||||
"type": "number",
|
||||
},
|
||||
"type": "array",
|
||||
},
|
||||
"sortOrder": Object {
|
||||
"type": "number",
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user