feat: expose scoped secret store API
This commit is contained in:
@@ -257,6 +257,53 @@ export function createPluginAPI(pluginId) {
|
||||
}
|
||||
},
|
||||
|
||||
secrets: {
|
||||
status: function() {
|
||||
assertActive('secrets.status');
|
||||
return callBackend(pluginId, 'secrets.status', function() {
|
||||
return App.PluginSecretsStatus(pluginId);
|
||||
});
|
||||
},
|
||||
unlock: function(masterPassword) {
|
||||
assertActive('secrets.unlock');
|
||||
return callBackendErrorString(pluginId, 'secrets.unlock', function() {
|
||||
return App.PluginSecretsUnlock(pluginId, String(masterPassword == null ? '' : masterPassword));
|
||||
});
|
||||
},
|
||||
list: function() {
|
||||
assertActive('secrets.list');
|
||||
return callBackend(pluginId, 'secrets.list', function() {
|
||||
return App.PluginSecretsList(pluginId);
|
||||
}).then(function(records) {
|
||||
return Array.isArray(records) ? records : [];
|
||||
});
|
||||
},
|
||||
read: function(secretId) {
|
||||
assertActive('secrets.read(' + secretId + ')');
|
||||
if (!secretId) {
|
||||
throw new Error('secrets.read requires a secret id');
|
||||
}
|
||||
return callBackend(pluginId, 'secrets.read(' + secretId + ')', function() {
|
||||
return App.PluginSecretsRead(pluginId, secretId);
|
||||
});
|
||||
},
|
||||
write: function(record) {
|
||||
assertActive('secrets.write');
|
||||
return callBackend(pluginId, 'secrets.write', function() {
|
||||
return App.PluginSecretsWrite(pluginId, record || {});
|
||||
});
|
||||
},
|
||||
copyLink: function(secretId) {
|
||||
assertActive('secrets.copyLink(' + secretId + ')');
|
||||
if (!secretId) {
|
||||
throw new Error('secrets.copyLink requires a secret id');
|
||||
}
|
||||
return callBackend(pluginId, 'secrets.copyLink(' + secretId + ')', function() {
|
||||
return App.PluginSecretsCopyLink(pluginId, secretId);
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
files: {
|
||||
list: function(relativeDir) {
|
||||
assertActive('files.list');
|
||||
|
||||
Vendored
+12
@@ -94,6 +94,18 @@ export function PluginSyncStatus(arg1:string):Promise<api.SyncStatusDTO|string>;
|
||||
|
||||
export function PluginSyncTestConnection(arg1:string,arg2:string,arg3:string,arg4:string):Promise<string>;
|
||||
|
||||
export function PluginSecretsCopyLink(arg1:string,arg2:string):Promise<string|string>;
|
||||
|
||||
export function PluginSecretsList(arg1:string):Promise<Array<Record<string, any>>|string>;
|
||||
|
||||
export function PluginSecretsRead(arg1:string,arg2:string):Promise<Record<string, any>|string>;
|
||||
|
||||
export function PluginSecretsStatus(arg1:string):Promise<Record<string, any>|string>;
|
||||
|
||||
export function PluginSecretsUnlock(arg1:string,arg2:string):Promise<string>;
|
||||
|
||||
export function PluginSecretsWrite(arg1:string,arg2:Record<string, any>):Promise<Record<string, any>|string>;
|
||||
|
||||
export function PublishPluginEvent(arg1:string,arg2:string,arg3:Record<string, any>):Promise<string>;
|
||||
|
||||
export function ReadPluginDataJSON(arg1:string,arg2:string):Promise<Record<string, any>>;
|
||||
|
||||
@@ -174,6 +174,30 @@ export function PluginSyncTestConnection(arg1, arg2, arg3, arg4) {
|
||||
return window['go']['api']['App']['PluginSyncTestConnection'](arg1, arg2, arg3, arg4);
|
||||
}
|
||||
|
||||
export function PluginSecretsCopyLink(arg1, arg2) {
|
||||
return window['go']['api']['App']['PluginSecretsCopyLink'](arg1, arg2);
|
||||
}
|
||||
|
||||
export function PluginSecretsList(arg1) {
|
||||
return window['go']['api']['App']['PluginSecretsList'](arg1);
|
||||
}
|
||||
|
||||
export function PluginSecretsRead(arg1, arg2) {
|
||||
return window['go']['api']['App']['PluginSecretsRead'](arg1, arg2);
|
||||
}
|
||||
|
||||
export function PluginSecretsStatus(arg1) {
|
||||
return window['go']['api']['App']['PluginSecretsStatus'](arg1);
|
||||
}
|
||||
|
||||
export function PluginSecretsUnlock(arg1, arg2) {
|
||||
return window['go']['api']['App']['PluginSecretsUnlock'](arg1, arg2);
|
||||
}
|
||||
|
||||
export function PluginSecretsWrite(arg1, arg2) {
|
||||
return window['go']['api']['App']['PluginSecretsWrite'](arg1, arg2);
|
||||
}
|
||||
|
||||
export function PublishPluginEvent(arg1, arg2, arg3) {
|
||||
return window['go']['api']['App']['PublishPluginEvent'](arg1, arg2, arg3);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user