Merge pull request #3784 from nurbek91/Validationtest

Fix validation error
main
Elbert Alias 4 years ago committed by GitHub
commit 0fe2821e91
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -223,6 +223,9 @@
},
"icon": {
"$ref": "#/definitions/non-empty-non-blank-string"
},
"xhr": {
"$ref": "#/definitions/non-empty-non-blank-string"
}
}
}

@ -0,0 +1,234 @@
{
"title": "Wappalyzer schema",
"definitions": {
"non-empty-non-blank-string": {
"type": "string",
"pattern": "^(?!\\s*$).+"
}
},
"type": "object",
"additionalProperties": false,
"required": ["technologies", "categories"],
"properties": {
"$schema": {
"type": "string"
},
"categories": {
"type": "object",
"minProperties": 64,
"additionalProperties": false,
"patternProperties": {
"^[0-9]+$": {
"type": "object",
"properties": {
"priority": {
"type": "number"
},
"name": {
"type": "string"
}
}
}
}
},
"technologies": {
"type": "object",
"additionalProperties": {
"additionalProperties": false,
"required": ["cats","website"],
"properties": {
"description": {
"type": "string",
"pattern": "^.{0,500}$"
},
"oss": {
"type": "boolean"
},
"saas": {
"type": "boolean"
},
"pricing": {
"type": "array",
"items": {
"type": "string",
"pattern": "^(low|mid|high|freemium|poa|payg|onetime|recurring)$"
}
},
"cats": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 1
},
"cpe": {
"$ref": "#/definitions/non-empty-non-blank-string"
},
"cookies": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^.+$": {
},
"additionalProperties": {
"type": "string"
}
}
},
"js": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^.+$": {
},
"additionalProperties": {
"type": "string"
}
}
},
"dom": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^.+$": {
}
}
},
"dns": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^.+$": {
}
}
},
"headers": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^.+$": {
},
"additionalProperties": {
"type": "string"
}
}
},
"html": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/non-empty-non-blank-string"
}
},
{
"$ref": "#/definitions/non-empty-non-blank-string"
}
]
},
"css": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/non-empty-non-blank-string"
}
},
{
"$ref": "#/definitions/non-empty-non-blank-string"
}
]
},
"robots": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/non-empty-non-blank-string"
}
},
{
"$ref": "#/definitions/non-empty-non-blank-string"
}
]
},
"certIssuer": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/non-empty-non-blank-string"
}
},
{
"$ref": "#/definitions/non-empty-non-blank-string"
}
]
},
"excludes": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/non-empty-non-blank-string"
}
},
{
"$ref": "#/definitions/non-empty-non-blank-string"
}
]
},
"implies": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/non-empty-non-blank-string"
}
},
{
"$ref": "#/definitions/non-empty-non-blank-string"
}
]
},
"meta": {
"type": "object",
"additionalProperties": false,
"patternProperties": {
"^.+$": {
},
"additionalProperties": {
"type": "string"
}
}
},
"scripts": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/definitions/non-empty-non-blank-string"
}
},
{
"$ref": "#/definitions/non-empty-non-blank-string"
}
]
},
"url": {
"$ref": "#/definitions/non-empty-non-blank-string"
},
"website": {
"$ref": "#/definitions/non-empty-non-blank-string"
},
"icon": {
"$ref": "#/definitions/non-empty-non-blank-string"
},
"xhr": {
"$ref": "#/definitions/non-empty-non-blank-string"
}
}
}
}
}
}

@ -93,5 +93,6 @@
"categoryName72": { "message": "Appointment scheduling" },
"categoryName73": { "message": "Surveys" },
"categoryName74": { "message": "A/B testing" },
"categoryName75": { "message": "Email" }
"categoryName75": { "message": "Email" },
"categoryName76": { "message": "Personalization" }
}

@ -87,11 +87,12 @@
"categoryName66": { "message": "UI Фреймворк" },
"categoryName67": { "message": "Соответствие cookie" },
"categoryName68": { "message": "Доступность" },
"categoryName69": { "message": "Social logins" },
"categoryName69": { "message": "Логин через социальные сети" },
"categoryName70": { "message": "SSL/TLS certificate authorities" },
"categoryName71": { "message": "Affiliate programs" },
"categoryName72": { "message": "Appointment scheduling" },
"categoryName73": { "message": "Surveys" },
"categoryName74": { "message": "A/B testing" },
"categoryName75": { "message": "Email" }
"categoryName71": { "message": "Партнерская программы" },
"categoryName72": { "message": "Сервисы расписания и бронирования" },
"categoryName73": { "message": "Опросы" },
"categoryName74": { "message": "A/B тестирование" },
"categoryName75": { "message": "Email" },
"categoryName76": { "message": "Персонализация" }
}

@ -288,6 +288,10 @@
"75": {
"name": "Email",
"priority": 9
},
"76": {
"name": "Personalization",
"priority": 9
}
},
"technologies": {
@ -3713,8 +3717,7 @@
},
"Clerk.io": {
"cats": [
10,
6
76
],
"description": "Clerk.io is an all-in-one ecommerce personalization platform.",
"icon": "Clerk.io.svg",
@ -5219,7 +5222,8 @@
},
"Dynamic Yield": {
"cats": [
74
74,
76
],
"cookies": {
"_dy_geo": "",
@ -9065,7 +9069,7 @@
},
"Kibo Personalization": {
"cats": [
10,
76,
74
],
"description": "Kibo Personalization is a omnichannel personalization software powered by machine learning to deliver individualized customer experiences and powered by Monetate and Certona.",
@ -11693,7 +11697,7 @@
},
"Nosto": {
"cats": [
32,
76,
74
],
"description": "Nosto is an ecommerce platform providing product recommendations based on individual behavioral data.",
@ -13715,7 +13719,8 @@
},
"Qubit": {
"cats": [
74
74,
76
],
"description": "Qubit is a SaaS based persuasive personalization at scale services.",
"icon": "Qubit.png",
@ -15493,7 +15498,7 @@
6
],
"pricing": [
"medium",
"mid",
"recurring"
],
"saas": true,