{ "$schema": "http://json-schema.org/draft-07/schema#", "definitions": { "AbsolutePathBuf": { "description": "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.", "type": "string" }, "PluginShareDiscoverability": { "enum": ["LISTED", "UNLISTED", "PRIVATE"], "type": "string" }, "PluginSharePrincipalType": { "enum": ["user", "group", "workspace"], "type": "string" }, "PluginShareTarget": { "properties": { "principalId": { "type": "string" }, "principalType": { "$ref": "#/definitions/PluginSharePrincipalType" }, "role": { "$ref": "#/definitions/PluginShareTargetRole" } }, "required": ["principalId", "principalType", "role"], "type": "object" }, "PluginShareTargetRole": { "enum": ["reader", "editor"], "type": "string" } }, "properties": { "discoverability": { "anyOf": [ { "$ref": "#/definitions/PluginShareDiscoverability" }, { "type": "null" } ] }, "pluginPath": { "$ref": "#/definitions/AbsolutePathBuf" }, "remotePluginId": { "type": ["string", "null"] }, "shareTargets": { "items": { "$ref": "#/definitions/PluginShareTarget" }, "type": ["array", "null"] } }, "required": ["pluginPath"], "title": "PluginShareSaveParams", "type": "object" }