revert to draft07 schema

This commit is contained in:
FabianLars
2026-03-09 12:32:45 +01:00
parent 8d6a6d6d31
commit c6561ab6b4
31 changed files with 745 additions and 3982 deletions
+4 -1
View File
@@ -113,7 +113,10 @@ fn main() {
.global_api_script_path("./api-iife.js")
.android_path("android")
.ios_path("ios")
.global_scope_schema(schemars::schema_for!(OpenerScopeEntry))
.global_scope_schema(
schemars::SchemaGenerator::new(schemars::generate::SchemaSettings::draft07())
.into_root_schema_for::<OpenerScopeEntry>(),
)
.build();
let target_os = std::env::var("CARGO_CFG_TARGET_OS").unwrap();
+27 -68
View File
@@ -1,5 +1,5 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "PermissionFile",
"description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.",
"type": "object",
@@ -8,7 +8,7 @@
"description": "The default permission set for the plugin",
"anyOf": [
{
"$ref": "#/$defs/DefaultPermission"
"$ref": "#/definitions/DefaultPermission"
},
{
"type": "null"
@@ -19,19 +19,19 @@
"description": "A list of permissions sets defined",
"type": "array",
"items": {
"$ref": "#/$defs/PermissionSet"
"$ref": "#/definitions/PermissionSet"
}
},
"permission": {
"description": "A list of inlined permissions",
"type": "array",
"items": {
"$ref": "#/$defs/Permission"
"$ref": "#/definitions/Permission"
},
"default": []
}
},
"$defs": {
"definitions": {
"DefaultPermission": {
"description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.",
"type": "object",
@@ -80,7 +80,7 @@
"description": "All permissions this set contains.",
"type": "array",
"items": {
"$ref": "#/$defs/PermissionKind"
"type": "string"
}
}
},
@@ -116,15 +116,23 @@
},
"commands": {
"description": "Allowed or denied commands when using this permission.",
"$ref": "#/$defs/Commands",
"default": {
"allow": [],
"deny": []
}
},
"allOf": [
{
"$ref": "#/definitions/Commands"
}
]
},
"scope": {
"description": "Allowed or denied scoped when using this permission.",
"$ref": "#/$defs/Scopes"
"allOf": [
{
"$ref": "#/definitions/Scopes"
}
]
},
"platforms": {
"description": "Target platforms this permission applies. By default all platforms are affected by this permission.",
@@ -133,7 +141,7 @@
"null"
],
"items": {
"$ref": "#/$defs/Target"
"$ref": "#/definitions/Target"
}
}
},
@@ -174,7 +182,7 @@
"null"
],
"items": {
"$ref": "#/$defs/Value"
"$ref": "#/definitions/Value"
}
},
"deny": {
@@ -184,7 +192,7 @@
"null"
],
"items": {
"$ref": "#/$defs/Value"
"$ref": "#/definitions/Value"
}
}
}
@@ -202,7 +210,11 @@
},
{
"description": "Represents a valid ACL [`Number`].",
"$ref": "#/$defs/Number"
"allOf": [
{
"$ref": "#/definitions/Number"
}
]
},
{
"description": "Represents a [`String`].",
@@ -212,14 +224,14 @@
"description": "Represents a list of other [`Value`]s.",
"type": "array",
"items": {
"$ref": "#/$defs/Value"
"$ref": "#/definitions/Value"
}
},
{
"description": "Represents a map of [`String`] keys to [`Value`]s.",
"type": "object",
"additionalProperties": {
"$ref": "#/$defs/Value"
"$ref": "#/definitions/Value"
}
}
]
@@ -268,59 +280,6 @@
"const": "iOS"
}
]
},
"PermissionKind": {
"type": "string",
"oneOf": [
{
"description": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application.",
"type": "string",
"const": "allow-default-urls",
"markdownDescription": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application."
},
{
"description": "Enables the open_path command without any pre-configured scope.",
"type": "string",
"const": "allow-open-path",
"markdownDescription": "Enables the open_path command without any pre-configured scope."
},
{
"description": "Denies the open_path command without any pre-configured scope.",
"type": "string",
"const": "deny-open-path",
"markdownDescription": "Denies the open_path command without any pre-configured scope."
},
{
"description": "Enables the open_url command without any pre-configured scope.",
"type": "string",
"const": "allow-open-url",
"markdownDescription": "Enables the open_url command without any pre-configured scope."
},
{
"description": "Denies the open_url command without any pre-configured scope.",
"type": "string",
"const": "deny-open-url",
"markdownDescription": "Denies the open_url command without any pre-configured scope."
},
{
"description": "Enables the reveal_item_in_dir command without any pre-configured scope.",
"type": "string",
"const": "allow-reveal-item-in-dir",
"markdownDescription": "Enables the reveal_item_in_dir command without any pre-configured scope."
},
{
"description": "Denies the reveal_item_in_dir command without any pre-configured scope.",
"type": "string",
"const": "deny-reveal-item-in-dir",
"markdownDescription": "Denies the reveal_item_in_dir command without any pre-configured scope."
},
{
"description": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`",
"type": "string",
"const": "default",
"markdownDescription": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`"
}
]
}
}
}