n8n/packages/@n8n/nodes-langchain/credentials/ZepApi.credentials.ts
2024-07-01 14:32:26 +02:00

62 lines
1.3 KiB
TypeScript

import type {
IAuthenticateGeneric,
ICredentialTestRequest,
ICredentialType,
INodeProperties,
} from 'n8n-workflow';
export class ZepApi implements ICredentialType {
name = 'zepApi';
displayName = 'Zep Api';
documentationUrl = 'zep';
properties: INodeProperties[] = [
{
displayName: 'API Key',
name: 'apiKey',
type: 'string',
typeOptions: { password: true },
required: false,
default: '',
},
{
displayName: 'Cloud',
description: 'Whether you are adding credentials for Zep Cloud instead of Zep Open Source',
name: 'cloud',
type: 'boolean',
default: false,
},
{
displayName: 'API URL',
name: 'apiUrl',
required: false,
type: 'string',
default: 'http://localhost:8000',
displayOptions: {
show: {
cloud: [false],
},
},
},
];
authenticate: IAuthenticateGeneric = {
type: 'generic',
properties: {
headers: {
Authorization:
'={{$credentials.apiKey && !$credentials.cloud ? "Bearer " + $credentials.apiKey : "Api-Key " + $credentials.apiKey }}',
},
},
};
test: ICredentialTestRequest = {
request: {
baseURL: '={{!$credentials.cloud ? $credentials.apiUrl : "https://api.getzep.com"}}',
url: '={{!$credentials.cloud ? "/api/v1/collection" : "/api/v2/collections"}}',
},
};
}