summaryrefslogtreecommitdiff
path: root/data/extensions/jsr@javascriptrestrictor/fp_config/schema/wrappers-schema.json
diff options
context:
space:
mode:
Diffstat (limited to 'data/extensions/jsr@javascriptrestrictor/fp_config/schema/wrappers-schema.json')
-rw-r--r--data/extensions/jsr@javascriptrestrictor/fp_config/schema/wrappers-schema.json165
1 files changed, 165 insertions, 0 deletions
diff --git a/data/extensions/jsr@javascriptrestrictor/fp_config/schema/wrappers-schema.json b/data/extensions/jsr@javascriptrestrictor/fp_config/schema/wrappers-schema.json
new file mode 100644
index 0000000..c777a0f
--- /dev/null
+++ b/data/extensions/jsr@javascriptrestrictor/fp_config/schema/wrappers-schema.json
@@ -0,0 +1,165 @@
+{
+ "$schema":"http://json-schema.org/draft-07/schema",
+ "definitions":{
+ "group_property":{
+ "type":"object",
+ "title":"Group property object",
+ "description":"Assigns wrapped property to group.",
+ "if":{
+ "properties":{
+ "property":{
+ "const":"get"
+ }
+ }
+ },
+ "then":{
+ "properties":{
+ "group":{
+ "type":"string"
+ },
+ "property":{
+ "const":"get"
+ },
+ "criteria":{
+ "$ref":"#/definitions/criteria"
+ }
+ },
+ "additionalProperties":false
+ },
+ "else":{
+ "properties":{
+ "group":{
+ "type":"string"
+ },
+ "property":{
+ "const":"set"
+ },
+ "criteria":{
+ "$ref":"#/definitions/criteria"
+ },
+ "arguments":{
+ "oneOf":[
+ {
+ "type":"array"
+ },
+ {
+ "type":"string"
+ }
+ ]
+ }
+ },
+ "additionalProperties":false
+ },
+ "required":[
+ "group"
+ ]
+ },
+ "group_function":{
+ "type":"object",
+ "title":"Group function object",
+ "description":"Assigns wrapped function to group.",
+ "properties":{
+ "group":{
+ "type":"string"
+ },
+ "criteria":{
+ "$ref":"#/definitions/criteria"
+ },
+ "arguments":{
+ "oneOf":[
+ {
+ "type":"array"
+ },
+ {
+ "type":"string"
+ }
+ ]
+ }
+ },
+ "required":[
+ "group"
+ ],
+ "additionalProperties":false
+ },
+ "criteria":{
+ "type":"array",
+ "title":"Criteria array",
+ "description":"Contains criterion objects to define parent group access/weight.",
+ "items":{
+ "$ref":"#/definitions/criterion_value"
+ }
+ },
+ "criterion_value":{
+ "type":"object",
+ "title":"Value criterion",
+ "description":"Criterion defined as number of accesses to resource.",
+ "properties":{
+ "value":{
+ "type":"integer",
+ "minimum":1,
+ "maximum":1000
+ },
+ "weight":{
+ "type":"integer",
+ "minimum":0
+ }
+ },
+ "required":[
+ "value",
+ "weight"
+ ],
+ "additionalProperties":false
+ }
+ },
+ "type":"array",
+ "items":{
+ "type":"object",
+ "title":"Wrapper object",
+ "description":"Represents wrapped resource.",
+ "if":{
+ "properties":{
+ "type":{
+ "const":"property"
+ }
+ }
+ },
+ "then":{
+ "properties":{
+ "resource":{
+ "type":"string"
+ },
+ "type":{
+ "const":"property"
+ },
+ "groups":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/group_property"
+ }
+ }
+ },
+ "additionalProperties":false
+ },
+ "else":{
+ "properties":{
+ "resource":{
+ "type":"string"
+ },
+ "type":{
+ "const":"function"
+ },
+ "groups":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/group_function"
+ }
+ }
+ },
+ "additionalProperties":false
+ },
+ "required":[
+ "resource",
+ "type"
+ ]
+ }
+} \ No newline at end of file