UNPKG

kintone-as-code

Version:

A CLI tool for managing kintone applications as code with type-safe TypeScript schemas

39 lines 1.54 kB
import { KintoneRestAPIClient } from '@kintone/rest-api-client'; import dotenv from 'dotenv'; dotenv.config(); export const getKintoneClient = (authConfig) => { // Type guard to check if config has API token if ('apiToken' in authConfig) { return new KintoneRestAPIClient({ baseUrl: authConfig.baseUrl, auth: { apiToken: authConfig.apiToken, }, }); } // Type guard to check if config has username/password if ('username' in authConfig && 'password' in authConfig) { return new KintoneRestAPIClient({ baseUrl: authConfig.baseUrl, auth: { username: authConfig.username, password: authConfig.password, }, }); } throw new Error('Invalid auth configuration: must provide either apiToken or username/password'); }; // Wrapper to allow partial updates while keeping call sites type-safe export async function updateFormFieldsPartial(client, payload) { // The official client types may require full properties; cast in one place. // eslint-disable-next-line @typescript-eslint/no-explicit-any await client.app.updateFormFields(payload); } export function isKintoneApiError(e) { return typeof e === 'object' && e !== null && 'errors' in e; } export async function addFormFieldsLoose(client, payload) { // eslint-disable-next-line @typescript-eslint/no-explicit-any await client.app.addFormFields(payload); } //# sourceMappingURL=kintone-client.js.map