1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-09-05 17:53:12 +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:
olav 2022-06-24 13:44:16 +02:00
parent fb3b3e2c9b
commit 80d18a263a
9 changed files with 35 additions and 54 deletions

View File

@ -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",

View File

@ -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/constraints/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",

View File

@ -2,7 +2,6 @@
exports[`featureTypeSchema empty 1`] = `
Object {
"data": Object {},
"errors": Array [
Object {
"instancePath": "",

View File

@ -2,9 +2,6 @@
exports[`sortOrderSchema invalid value type 1`] = `
Object {
"data": Object {
"a": "1",
},
"errors": Array [
Object {
"instancePath": "/a",

View File

@ -13,6 +13,7 @@ test('featureSchema', () => {
operator: 'IN',
},
],
segments: [1],
},
],
variants: [

View File

@ -41,6 +41,12 @@ export const featureStrategySchema = {
sortOrder: {
type: 'number',
},
segments: {
type: 'array',
items: {
type: 'number',
},
},
constraints: {
type: 'array',
items: {

View File

@ -17,6 +17,12 @@ export const strategySchema = {
sortOrder: {
type: 'number',
},
segments: {
type: 'array',
items: {
type: 'number',
},
},
constraints: {
type: 'array',
items: {

View File

@ -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 ?? [],
};
}

View File

@ -322,6 +322,12 @@ Object {
"projectId": Object {
"type": "string",
},
"segments": Object {
"items": Object {
"type": "number",
},
"type": "array",
},
"sortOrder": Object {
"type": "number",
},
@ -686,6 +692,12 @@ Object {
"parameters": Object {
"$ref": "#/components/schemas/parametersSchema",
},
"segments": Object {
"items": Object {
"type": "number",
},
"type": "array",
},
"sortOrder": Object {
"type": "number",
},
@ -889,6 +901,12 @@ Object {
"parameters": Object {
"$ref": "#/components/schemas/parametersSchema",
},
"segments": Object {
"items": Object {
"type": "number",
},
"type": "array",
},
"sortOrder": Object {
"type": "number",
},