-
Notifications
You must be signed in to change notification settings - Fork 23
Open
Description
Current Node/TypeScript docs (v3.0.1) show setting the API key via authentications.apiKey.apiKey, which in TypeScript requires an any cast and violates @typescript-eslint/no-explicit-any.
let emailAPI = new TransactionalEmailsApi();
(emailAPI as any).authentications.apiKey.apiKey = "xkeysib-xxxxxxxxxxxxxxxxxxxxx";or
let contactAPI = new ContactsApi();
(contactAPI as any).authentications.apiKey.apiKey = "xkeysib-xxxxxxxxx";Other sections for v3+ show setApiKey with ApiKeys enums, which is type-safe.
import { TransactionalEmailsApi, TransactionalEmailsApiApiKeys } from '@getbrevo/brevo';
const transactionalEmailsApi = new TransactionalEmailsApi();
transactionalEmailsApi.setApiKey(TransactionalEmailsApiApiKeys.apiKey, 'xkeysib-API_KEY');This inconsistency causes confusion and lint errors.
Other possible example with environment variable
Non-Null-Assertion
import { TransactionalEmailsApi, TransactionalEmailsApiApiKeys } from '@getbrevo/brevo';
const transactionalEmailsApi = new TransactionalEmailsApi();
transactionalEmailsApi.setApiKey(
TransactionalEmailsApiApiKeys.apiKey,
process.env.BREVO_API_KEY!,
);or even better
With Falsy-Check
import { TransactionalEmailsApi, TransactionalEmailsApiApiKeys } from '@getbrevo/brevo';
const apiKey = process.env.BREVO_API_KEY;
if (!apiKey) {
throw new Error("BREVO_API_KEY not found in environment variables");
}
const transactionalEmailsApi = new TransactionalEmailsApi();
transactionalEmailsApi.setApiKey(TransactionalEmailsApiApiKeys.apiKey, apiKey);pourya7, yakovenkodenis, felix-galadrim and TheOptimisticFactory
Metadata
Metadata
Assignees
Labels
No labels