From 28400d6180b93f85ed49cc3d336abaf2c8c79699 Mon Sep 17 00:00:00 2001 From: Matteo Cristino <102997993+matteo-cristino@users.noreply.github.com> Date: Mon, 24 Jun 2024 15:39:07 +0200 Subject: [PATCH 1/2] docs: add json-schema statement and example (#167) * docs: add json-schema plugin statement to the list of all slangroom statements * docs(examples): add json-schema plugin example --- docs/examples/index.md | 1 + docs/examples/json-schema/index.md | 14 ++++++ docs/examples/json-schema/validate.data | 6 +++ docs/examples/json-schema/validate.keys | 17 ++++++++ docs/examples/json-schema/validate.zen | 6 +++ docs/statements/index.md | 21 +++++---- docs/statements/index.mjs | 4 +- docs/statements/package.json | 57 +++++++++++++------------ pnpm-lock.yaml | 3 ++ 9 files changed, 92 insertions(+), 37 deletions(-) create mode 100644 docs/examples/json-schema/index.md create mode 100644 docs/examples/json-schema/validate.data create mode 100644 docs/examples/json-schema/validate.keys create mode 100644 docs/examples/json-schema/validate.zen diff --git a/docs/examples/index.md b/docs/examples/index.md index e4cadd0a..97ed13ac 100644 --- a/docs/examples/index.md +++ b/docs/examples/index.md @@ -12,3 +12,4 @@ SPDX-License-Identifier: CC-BY-NC-SA-4.0 + diff --git a/docs/examples/json-schema/index.md b/docs/examples/json-schema/index.md new file mode 100644 index 00000000..9c672a69 --- /dev/null +++ b/docs/examples/json-schema/index.md @@ -0,0 +1,14 @@ + + +## json-schema plugin examples + +### validate json +::: code-group +<<< @/examples/json-schema/validate.zen{3 gherkin:line-numbers} +<<< @/examples/json-schema/validate.data{json} +<<< @/examples/json-schema/validate.keys{json} +::: diff --git a/docs/examples/json-schema/validate.data b/docs/examples/json-schema/validate.data new file mode 100644 index 00000000..d3270e1f --- /dev/null +++ b/docs/examples/json-schema/validate.data @@ -0,0 +1,6 @@ +{ + "json_data": { + "first_name": "Jhon", + "last_name": "Doe" + } +} diff --git a/docs/examples/json-schema/validate.keys b/docs/examples/json-schema/validate.keys new file mode 100644 index 00000000..8578e2eb --- /dev/null +++ b/docs/examples/json-schema/validate.keys @@ -0,0 +1,17 @@ +{ + "json_schema": { + "type": "object", + "properties": { + "first_name": { + "type": "string" + }, + "last_name": { + "type": "string" + } + }, + "required": [ + "first_name", + "last_name" + ] + } +} diff --git a/docs/examples/json-schema/validate.zen b/docs/examples/json-schema/validate.zen new file mode 100644 index 00000000..15f14214 --- /dev/null +++ b/docs/examples/json-schema/validate.zen @@ -0,0 +1,6 @@ +Rule unknown ignore + +Given I send json_data 'json_data' and send json_schema 'json_schema' and validate json and output into 'result' + +Given I have a 'string dictionary' named 'result' +Then print the 'result' diff --git a/docs/statements/index.md b/docs/statements/index.md index 4bdfc4a0..b40c198a 100644 --- a/docs/statements/index.md +++ b/docs/statements/index.md @@ -161,15 +161,20 @@ neither the open/connect part nor the parameters part are present. | connect | object | do same delete | | connect | object,headers | do same delete | +## json-schema plugin +| open/connect | params | phrase | +| ------------ | --------------------- | ------------- | +| | json_data,json_schema | validate json | + ## oauth plugin -| open/connect | params | phrase | -| ------------ | ------------------------------------- | --------------------------------- | -| | request,server_data | generate access token | -| | request,server_data | verify request parameters | -| | request,server_data | generate authorization code | -| | request,client,server_data,expires_in | generate request uri | -| | token,server_data | get claims from token | -| | request_uri,data,server_data | add data to authorization details | +| open/connect | params | phrase | +| ------------ | ------------------------------------- | ------------------------------------ | +| | request,server_data | generate access token | +| | request,server_data | verify request parameters | +| | request,server_data | generate authorization code | +| | request,client,server_data,expires_in | generate request uri | +| | token,server_data | get authorization details from token | +| | request_uri,data,server_data | add data to authorization details | ## pocketbase plugin | open/connect | params | phrase | diff --git a/docs/statements/index.mjs b/docs/statements/index.mjs index 29ac3ba3..aa218121 100644 --- a/docs/statements/index.mjs +++ b/docs/statements/index.mjs @@ -15,6 +15,7 @@ import {fs as sl_fs} from "@slangroom/fs"; import {git} from "@slangroom/git"; import {helpers} from "@slangroom/helpers"; import {http} from "@slangroom/http"; +import {JSONSchema} from "@slangroom/json-schema"; import {oauth} from "@slangroom/oauth"; import {pocketbase} from "@slangroom/pocketbase"; import {qrcode} from "@slangroom/qrcode"; @@ -24,7 +25,7 @@ import {timestamp} from "@slangroom/timestamp"; import {wallet} from "@slangroom/wallet"; import {zencode} from "@slangroom/zencode"; -const IGNORED_PKG = ['browser', 'core', 'deps', 'ignored', 'json-schema', 'shared'] +const IGNORED_PKG = ['browser', 'core', 'deps', 'ignored', 'shared'] const __dirname = dirname(fileURLToPath(import.meta.url)); const ourDirPath = path.resolve(__dirname, "./"); @@ -59,6 +60,7 @@ const generateTable = (plugin, name) => { [git, 'git'], [helpers, 'helpers'], [http, 'http'], + [JSONSchema, 'json-schema'], [oauth, 'oauth'], [pocketbase, 'pocketbase'], [qrcode, 'qrcode'], diff --git a/docs/statements/package.json b/docs/statements/package.json index aa7a2bdb..7ca3ea64 100644 --- a/docs/statements/package.json +++ b/docs/statements/package.json @@ -1,30 +1,31 @@ { - "name": "statements", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "dependencies": { - "@slangroom/core": "workspace:^", - "@slangroom/db": "workspace:^", - "@slangroom/ethereum": "workspace:^", - "@slangroom/fs": "workspace:^", - "@slangroom/git": "workspace:^", - "@slangroom/helpers": "workspace:^", - "@slangroom/http": "workspace:^", - "@slangroom/oauth": "workspace:^", - "@slangroom/pocketbase": "workspace:^", - "@slangroom/qrcode": "workspace:^", - "@slangroom/redis": "workspace:^", - "@slangroom/shell": "workspace:^", - "@slangroom/timestamp": "workspace:^", - "@slangroom/wallet": "workspace:^", - "@slangroom/zencode": "workspace:^", - "markdown-table": "^3.0.3" - } + "name": "statements", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "@slangroom/core": "workspace:^", + "@slangroom/db": "workspace:^", + "@slangroom/ethereum": "workspace:^", + "@slangroom/fs": "workspace:^", + "@slangroom/git": "workspace:^", + "@slangroom/helpers": "workspace:^", + "@slangroom/http": "workspace:^", + "@slangroom/json-schema": "workspace:^", + "@slangroom/oauth": "workspace:^", + "@slangroom/pocketbase": "workspace:^", + "@slangroom/qrcode": "workspace:^", + "@slangroom/redis": "workspace:^", + "@slangroom/shell": "workspace:^", + "@slangroom/timestamp": "workspace:^", + "@slangroom/wallet": "workspace:^", + "@slangroom/zencode": "workspace:^", + "markdown-table": "^3.0.3" + } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 28ced21f..5ffd012a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -80,6 +80,9 @@ importers: '@slangroom/http': specifier: workspace:^ version: link:../../pkg/http + '@slangroom/json-schema': + specifier: workspace:^ + version: link:../../pkg/json-schema '@slangroom/oauth': specifier: workspace:^ version: link:../../pkg/oauth From 274df7c8a96a3404ad9e2c4191fdd308f2c08437 Mon Sep 17 00:00:00 2001 From: "Dev Dyne.org" Date: Mon, 24 Jun 2024 13:45:21 +0000 Subject: [PATCH 2/2] v1.33.10 --- lerna.json | 2 +- pkg/browser/package.json | 2 +- pkg/core/package.json | 2 +- pkg/db/package.json | 2 +- pkg/deps/package.json | 2 +- pkg/ethereum/package.json | 2 +- pkg/fs/package.json | 2 +- pkg/git/package.json | 2 +- pkg/helpers/package.json | 2 +- pkg/http/package.json | 2 +- pkg/ignored/package.json | 2 +- pkg/json-schema/package.json | 2 +- pkg/oauth/package.json | 2 +- pkg/pocketbase/package.json | 2 +- pkg/qrcode/package.json | 2 +- pkg/redis/package.json | 2 +- pkg/shared/package.json | 2 +- pkg/shell/package.json | 2 +- pkg/timestamp/package.json | 2 +- pkg/wallet/package.json | 2 +- pkg/zencode/package.json | 2 +- 21 files changed, 21 insertions(+), 21 deletions(-) diff --git a/lerna.json b/lerna.json index cd37aa98..22974c41 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,6 @@ { "$schema": "node_modules/@lerna-lite/cli/schemas/lerna-schema.json", - "version": "1.33.9", + "version": "1.33.10", "command": { "publish": { "conventionalCommits": true diff --git a/pkg/browser/package.json b/pkg/browser/package.json index 6733cda6..65c83c95 100644 --- a/pkg/browser/package.json +++ b/pkg/browser/package.json @@ -8,7 +8,7 @@ "@slangroom/pocketbase": "workspace:*", "@slangroom/qrcode": "workspace:*" }, - "version": "1.33.9", + "version": "1.33.10", "repository": "https://github.com/dyne/slangroom", "license": "AGPL-3.0-only", "type": "module", diff --git a/pkg/core/package.json b/pkg/core/package.json index 2066c534..de856a6e 100644 --- a/pkg/core/package.json +++ b/pkg/core/package.json @@ -1,6 +1,6 @@ { "name": "@slangroom/core", - "version": "1.33.9", + "version": "1.33.10", "dependencies": { "@slangroom/deps": "workspace:*", "@slangroom/ignored": "workspace:*", diff --git a/pkg/db/package.json b/pkg/db/package.json index 1185792b..23b5a86b 100644 --- a/pkg/db/package.json +++ b/pkg/db/package.json @@ -1,6 +1,6 @@ { "name": "@slangroom/db", - "version": "1.33.9", + "version": "1.33.10", "dependencies": { "@slangroom/core": "workspace:*", "sequelize": "^6.16.0", diff --git a/pkg/deps/package.json b/pkg/deps/package.json index 0f543166..5d5019de 100644 --- a/pkg/deps/package.json +++ b/pkg/deps/package.json @@ -1,6 +1,6 @@ { "name": "@slangroom/deps", - "version": "1.33.9", + "version": "1.33.10", "dependencies": { "chalk": "^5.3.0", "chevrotain": "^10.5.0" diff --git a/pkg/ethereum/package.json b/pkg/ethereum/package.json index 6266b2c8..fe7af4c6 100644 --- a/pkg/ethereum/package.json +++ b/pkg/ethereum/package.json @@ -1,6 +1,6 @@ { "name": "@slangroom/ethereum", - "version": "1.33.9", + "version": "1.33.10", "dependencies": { "@slangroom/core": "workspace:*", "@slangroom/shared": "workspace:*", diff --git a/pkg/fs/package.json b/pkg/fs/package.json index 46dc60b4..8d99b277 100644 --- a/pkg/fs/package.json +++ b/pkg/fs/package.json @@ -1,6 +1,6 @@ { "name": "@slangroom/fs", - "version": "1.33.9", + "version": "1.33.10", "dependencies": { "@slangroom/core": "workspace:*", "@slangroom/shared": "workspace:*", diff --git a/pkg/git/package.json b/pkg/git/package.json index dc53ab9c..867e213c 100644 --- a/pkg/git/package.json +++ b/pkg/git/package.json @@ -1,6 +1,6 @@ { "name": "@slangroom/git", - "version": "1.33.9", + "version": "1.33.10", "dependencies": { "@slangroom/core": "workspace:*", "isomorphic-git": "^1.25.10" diff --git a/pkg/helpers/package.json b/pkg/helpers/package.json index abed7920..f8fdd470 100644 --- a/pkg/helpers/package.json +++ b/pkg/helpers/package.json @@ -1,6 +1,6 @@ { "name": "@slangroom/helpers", - "version": "1.33.9", + "version": "1.33.10", "dependencies": { "@slangroom/core": "workspace:*", "@slangroom/shared": "workspace:*", diff --git a/pkg/http/package.json b/pkg/http/package.json index 571baeb8..7aa3c09a 100644 --- a/pkg/http/package.json +++ b/pkg/http/package.json @@ -1,6 +1,6 @@ { "name": "@slangroom/http", - "version": "1.33.9", + "version": "1.33.10", "dependencies": { "@slangroom/core": "workspace:*", "@slangroom/shared": "workspace:*", diff --git a/pkg/ignored/package.json b/pkg/ignored/package.json index 28104c20..9efcb489 100644 --- a/pkg/ignored/package.json +++ b/pkg/ignored/package.json @@ -1,6 +1,6 @@ { "name": "@slangroom/ignored", - "version": "1.33.9", + "version": "1.33.10", "dependencies": { "@slangroom/deps": "workspace:*", "@slangroom/shared": "workspace:*" diff --git a/pkg/json-schema/package.json b/pkg/json-schema/package.json index bc1757cc..111ace47 100644 --- a/pkg/json-schema/package.json +++ b/pkg/json-schema/package.json @@ -1,6 +1,6 @@ { "name": "@slangroom/json-schema", - "version": "1.33.9", + "version": "1.33.10", "dependencies": { "@slangroom/core": "workspace:*", "@slangroom/shared": "workspace:*", diff --git a/pkg/oauth/package.json b/pkg/oauth/package.json index 5e72b890..22392b99 100644 --- a/pkg/oauth/package.json +++ b/pkg/oauth/package.json @@ -1,6 +1,6 @@ { "name": "@slangroom/oauth", - "version": "1.33.9", + "version": "1.33.10", "dependencies": { "@node-oauth/oauth2-server": "^5.1.0", "@slangroom/core": "workspace:*", diff --git a/pkg/pocketbase/package.json b/pkg/pocketbase/package.json index ecd588f2..a0ed56dc 100644 --- a/pkg/pocketbase/package.json +++ b/pkg/pocketbase/package.json @@ -1,6 +1,6 @@ { "name": "@slangroom/pocketbase", - "version": "1.33.9", + "version": "1.33.10", "dependencies": { "@capacitor/preferences": "^6.0.0", "@slangroom/core": "workspace:*", diff --git a/pkg/qrcode/package.json b/pkg/qrcode/package.json index 7749742d..e4f85653 100644 --- a/pkg/qrcode/package.json +++ b/pkg/qrcode/package.json @@ -1,6 +1,6 @@ { "name": "@slangroom/qrcode", - "version": "1.33.9", + "version": "1.33.10", "dependencies": { "@slangroom/core": "workspace:*", "qrcode": "^1.5.3" diff --git a/pkg/redis/package.json b/pkg/redis/package.json index 62c688d0..c0379380 100644 --- a/pkg/redis/package.json +++ b/pkg/redis/package.json @@ -1,6 +1,6 @@ { "name": "@slangroom/redis", - "version": "1.33.9", + "version": "1.33.10", "dependencies": { "@redis/client": "^1.5.12", "@slangroom/core": "workspace:*", diff --git a/pkg/shared/package.json b/pkg/shared/package.json index 6bbf2269..93c64a88 100644 --- a/pkg/shared/package.json +++ b/pkg/shared/package.json @@ -1,6 +1,6 @@ { "name": "@slangroom/shared", - "version": "1.33.9", + "version": "1.33.10", "dependencies": { "@slangroom/deps": "workspace:*" }, diff --git a/pkg/shell/package.json b/pkg/shell/package.json index 70a858aa..1f4c3387 100644 --- a/pkg/shell/package.json +++ b/pkg/shell/package.json @@ -1,6 +1,6 @@ { "name": "@slangroom/shell", - "version": "1.33.9", + "version": "1.33.10", "dependencies": { "@slangroom/core": "workspace:*", "execa": "^8.0.1" diff --git a/pkg/timestamp/package.json b/pkg/timestamp/package.json index ce52810b..602bed24 100644 --- a/pkg/timestamp/package.json +++ b/pkg/timestamp/package.json @@ -1,6 +1,6 @@ { "name": "@slangroom/timestamp", - "version": "1.33.9", + "version": "1.33.10", "dependencies": { "@slangroom/core": "workspace:*", "@slangroom/shared": "workspace:*" diff --git a/pkg/wallet/package.json b/pkg/wallet/package.json index 35fb8d64..259ebf4b 100644 --- a/pkg/wallet/package.json +++ b/pkg/wallet/package.json @@ -1,6 +1,6 @@ { "name": "@slangroom/wallet", - "version": "1.33.9", + "version": "1.33.10", "dependencies": { "@meeco/sd-jwt": "^0.0.3", "@meeco/sd-jwt-vc": "^0.0.4", diff --git a/pkg/zencode/package.json b/pkg/zencode/package.json index ab5776b7..46136208 100644 --- a/pkg/zencode/package.json +++ b/pkg/zencode/package.json @@ -1,6 +1,6 @@ { "name": "@slangroom/zencode", - "version": "1.33.9", + "version": "1.33.10", "dependencies": { "@slangroom/core": "workspace:*", "@slangroom/shared": "workspace:*"