feat: External Secrets storage for credentials (#6477)
Github issue / Community forum post (link here to close automatically): --------- Co-authored-by: Romain Minaud <romain.minaud@gmail.com> Co-authored-by: Valya Bullions <valya@n8n.io> Co-authored-by: Csaba Tuncsik <csaba@n8n.io> Co-authored-by: Giulio Andreini <g.andreini@gmail.com> Co-authored-by: Omar Ajoue <krynble@gmail.com>
This commit is contained in:
58
packages/editor-ui/src/api/externalSecrets.ee.ts
Normal file
58
packages/editor-ui/src/api/externalSecrets.ee.ts
Normal file
@@ -0,0 +1,58 @@
|
||||
import type {
|
||||
IRestApiContext,
|
||||
ExternalSecretsProvider,
|
||||
ExternalSecretsProviderWithProperties,
|
||||
} from '@/Interface';
|
||||
import { makeRestApiRequest } from '@/utils';
|
||||
|
||||
export const getExternalSecrets = async (
|
||||
context: IRestApiContext,
|
||||
): Promise<Record<string, string[]>> => {
|
||||
return makeRestApiRequest(context, 'GET', '/external-secrets/secrets');
|
||||
};
|
||||
|
||||
export const getExternalSecretsProviders = async (
|
||||
context: IRestApiContext,
|
||||
): Promise<ExternalSecretsProvider[]> => {
|
||||
return makeRestApiRequest(context, 'GET', '/external-secrets/providers');
|
||||
};
|
||||
|
||||
export const getExternalSecretsProvider = async (
|
||||
context: IRestApiContext,
|
||||
id: string,
|
||||
): Promise<ExternalSecretsProviderWithProperties> => {
|
||||
return makeRestApiRequest(context, 'GET', `/external-secrets/providers/${id}`);
|
||||
};
|
||||
|
||||
export const testExternalSecretsProviderConnection = async (
|
||||
context: IRestApiContext,
|
||||
id: string,
|
||||
data: ExternalSecretsProvider['data'],
|
||||
): Promise<{ testState: ExternalSecretsProvider['state'] }> => {
|
||||
return makeRestApiRequest(context, 'POST', `/external-secrets/providers/${id}/test`, data);
|
||||
};
|
||||
|
||||
export const updateProvider = async (
|
||||
context: IRestApiContext,
|
||||
id: string,
|
||||
data: ExternalSecretsProvider['data'],
|
||||
): Promise<boolean> => {
|
||||
return makeRestApiRequest(context, 'POST', `/external-secrets/providers/${id}`, data);
|
||||
};
|
||||
|
||||
export const reloadProvider = async (
|
||||
context: IRestApiContext,
|
||||
id: string,
|
||||
): Promise<{ updated: boolean }> => {
|
||||
return makeRestApiRequest(context, 'POST', `/external-secrets/providers/${id}/update`);
|
||||
};
|
||||
|
||||
export const connectProvider = async (
|
||||
context: IRestApiContext,
|
||||
id: string,
|
||||
connected: boolean,
|
||||
): Promise<boolean> => {
|
||||
return makeRestApiRequest(context, 'POST', `/external-secrets/providers/${id}/connect`, {
|
||||
connected,
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user