Prechádzať zdrojové kódy

feat(api): permission types for mobile plugins (#10799)

* feat(api): permission types for mobile plugins

let's have a central place to keep the permission types
ref https://github.com/tauri-apps/plugins-workspace/issues/979

* build
Lucas Fernandes Nogueira 11 mesiacov pred
rodič
commit
f81929e251

+ 5 - 0
.changes/api-permissions-plugin.md

@@ -0,0 +1,5 @@
+---
+"@tauri-apps/api": patch:enhance
+---
+
+Added `PermissionState`, `checkPermissions` and `requestPermissions` base APIs to the core module, designed for plugin authors to extend.

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
crates/tauri/scripts/bundle.global.js


+ 23 - 0
packages/api/src/core.ts

@@ -123,6 +123,26 @@ async function addPluginListener<T>(
   )
 }
 
+type PermissionState = 'granted' | 'denied' | 'prompt' | 'prompt-with-rationale'
+
+/**
+ * Get permission state for a plugin.
+ *
+ * This should be used by plugin authors to wrap their actual implementation.
+ */
+async function checkPermissions<T>(plugin: string): Promise<T> {
+  return invoke(`plugin:${plugin}|check_permissions`)
+}
+
+/**
+ * Request permissions.
+ *
+ * This should be used by plugin authors to wrap their actual implementation.
+ */
+async function requestPermissions<T>(plugin: string): Promise<T> {
+  return invoke(`plugin:${plugin}|request_permissions`)
+}
+
 /**
  * Command arguments.
  *
@@ -249,6 +269,9 @@ export {
   Channel,
   PluginListener,
   addPluginListener,
+  PermissionState,
+  checkPermissions,
+  requestPermissions,
   invoke,
   convertFileSrc,
   isTauri

Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov