mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-03-20 08:34:18 +01:00
55 lines
1.4 KiB
TypeScript
55 lines
1.4 KiB
TypeScript
import type { PluginDefinition } from '@yaakapp/api';
|
|
|
|
export const plugin: PluginDefinition = {
|
|
authentication: {
|
|
name: 'apikey',
|
|
label: 'API Key',
|
|
shortLabel: 'API Key',
|
|
args: [
|
|
{
|
|
type: 'select',
|
|
name: 'location',
|
|
label: 'Behavior',
|
|
defaultValue: 'header',
|
|
options: [
|
|
{ label: 'Insert Header', value: 'header' },
|
|
{ label: 'Append Query Parameter', value: 'query' },
|
|
],
|
|
},
|
|
{
|
|
type: 'text',
|
|
name: 'key',
|
|
label: 'Key',
|
|
dynamic: (_ctx, { values }) => {
|
|
return values.location === 'query'
|
|
? {
|
|
label: 'Parameter Name',
|
|
description: 'The name of the query parameter to add to the request',
|
|
}
|
|
: {
|
|
label: 'Header Name',
|
|
description: 'The name of the header to add to the request',
|
|
};
|
|
},
|
|
},
|
|
{
|
|
type: 'text',
|
|
name: 'value',
|
|
label: 'API Key',
|
|
optional: true,
|
|
password: true,
|
|
},
|
|
],
|
|
async onApply(_ctx, { values }) {
|
|
const key = String(values.key ?? '');
|
|
const value = String(values.value ?? '');
|
|
const location = String(values.location);
|
|
|
|
if (location === 'query') {
|
|
return { setQueryParameters: [{ name: key, value }] };
|
|
}
|
|
return { setHeaders: [{ name: key, value }] };
|
|
},
|
|
},
|
|
};
|