|
diff --git a/tauri-plugin-vpnservice/permissions/schemas/schema.json b/tauri-plugin-vpnservice/permissions/schemas/schema.json
index 5ab4c092..adb42fc8 100644
--- a/tauri-plugin-vpnservice/permissions/schemas/schema.json
+++ b/tauri-plugin-vpnservice/permissions/schemas/schema.json
@@ -294,6 +294,18 @@
"PermissionKind": {
"type": "string",
"oneOf": [
+ {
+ "description": "Enables the consume_vpn_tile_action command without any pre-configured scope.",
+ "type": "string",
+ "const": "allow-consume-vpn-tile-action",
+ "markdownDescription": "Enables the consume_vpn_tile_action command without any pre-configured scope."
+ },
+ {
+ "description": "Denies the consume_vpn_tile_action command without any pre-configured scope.",
+ "type": "string",
+ "const": "deny-consume-vpn-tile-action",
+ "markdownDescription": "Denies the consume_vpn_tile_action command without any pre-configured scope."
+ },
{
"description": "Enables the get_vpn_status command without any pre-configured scope.",
"type": "string",
diff --git a/tauri-plugin-vpnservice/src/mobile.rs b/tauri-plugin-vpnservice/src/mobile.rs
index 20ed1efb..28703118 100644
--- a/tauri-plugin-vpnservice/src/mobile.rs
+++ b/tauri-plugin-vpnservice/src/mobile.rs
@@ -57,4 +57,13 @@ impl Vpnservice {
.run_mobile_plugin("get_vpn_status", payload)
.map_err(Into::into)
}
+
+ pub fn consume_vpn_tile_action(
+ &self,
+ payload: VoidRequest,
+ ) -> crate::Result {
+ self.0
+ .run_mobile_plugin("consume_vpn_tile_action", payload)
+ .map_err(Into::into)
+ }
}
diff --git a/tauri-plugin-vpnservice/src/models.rs b/tauri-plugin-vpnservice/src/models.rs
index 7c1716d8..a1b8a869 100644
--- a/tauri-plugin-vpnservice/src/models.rs
+++ b/tauri-plugin-vpnservice/src/models.rs
@@ -42,3 +42,9 @@ pub struct VpnStatus {
pub routes: Option>,
pub dns: Option,
}
+
+#[derive(Debug, Clone, Default, Deserialize, Serialize)]
+#[serde(rename_all = "camelCase")]
+pub struct VpnTileActionResponse {
+ pub action: Option,
+}
|