UNPKG

@spotable/attio-sdk

Version:
44 lines (38 loc) 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateBaseTypes = generateBaseTypes; const fs_1 = require("../../helpers/fs"); const logger_1 = require("../../helpers/logger"); const fileHeader_1 = require("./fileHeader"); const FILE_NAME = "base.ts"; function generateBaseTypes(outputDir) { logger_1.default.debug(`Generating base types file: ${FILE_NAME}`); const baseContent = ` ${(0, fileHeader_1.generateFileHeader)(FILE_NAME)} export interface WebhookPayload<T> { event_id: string; event_type: 'created' | 'updated' | 'deleted' | 'merged'; entity_type: string; entity: T; timestamp: string; workspace_id: string; } export type WebhookHandler<T> = (payload: T) => Promise<void> | void; export type EntityCreatedHandler<T> = (entity: T) => Promise<void> | void; export type EntityUpdatedHandler<T> = ( entity: T, updateInfo: { event: any; attributeId?: string; actor?: { type: string; id: string; } } ) => Promise<void> | void; export type EntityDeletedHandler<T> = (entity: T | null, event: any) => Promise<void> | void; export type EntityMergedHandler<T> = (entity: T, event: any) => Promise<void> | void; `; (0, fs_1.writeGeneratedFile)(outputDir, FILE_NAME, baseContent); } //# sourceMappingURL=baseTypes.js.map