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 }] }; }, }, };