UNPKG

@spotable/attio-sdk

Version:
98 lines (89 loc) 1.75 kB
import { writeGeneratedFile } from "../../helpers/fs"; import logger from "../../helpers/logger"; import { generateFileHeader } from "./fileHeader"; const FILE_NAME = "attribute.ts"; export function generateAttributeTypes(outputDir: string): void { logger.debug(`Generating attribute types file: ${FILE_NAME}`); const attributeContent = ` ${generateFileHeader(FILE_NAME)} export interface AttioAttribute { id: { workspace_id: string; object_id: string; attribute_id: string; }; title: string; description: string | null; api_slug: string; type: string; is_system_attribute: boolean; is_writable: boolean; is_required: boolean; is_unique: boolean; is_multiselect: boolean; is_default_value_enabled: boolean; is_archived: boolean; default_value: any; relationship: any; config: Record<string, any>; created_at: string; } export type CurrencyCode = | "AUD" | "BRL" | "BEL" | "CAD" | "CNY" | "COP" | "CZK" | "DKK" | "EUR" | "HKD" | "ISK" | "INR" | "ILS" | "JPY" | "KRW" | "MYR" | "MXN" | "NTD" | "NZD" | "NGN" | "NOK" | "XPF" | "PEN" | "PHP" | "PLN" | "GBP" | "SAR" | "SGD" | "ZAR" | "SEK" | "CHF" | "AED" | "USD"; export interface AttioSelectOption { id: { workspace_id: string; object_id: string; attribute_id: string; option_id: string; }; title: string; is_archived: boolean; } export interface AttioStatus { id: { workspace_id: string; object_id: string; attribute_id: string; status_id: string; }; title: string; is_archived: boolean; celebration_enabled: boolean; target_time_in_status: string | null; } `; writeGeneratedFile(outputDir, FILE_NAME, attributeContent); }