UNPKG

@spotable/attio-sdk

Version:
45 lines (36 loc) 1.3 kB
import { writeGeneratedFile } from "../../helpers/fs"; import { generateFileHeader } from "../types/fileHeader"; import { generateWebhookEventFunction } from "../webhookEventFactory"; const FILE_NAME = "workspaceMember.ts"; export function generateWorkspaceMemberFetcher(outputDir: string): void { const content = `${generateFileHeader(FILE_NAME)} import { AttioClient } from "./attioClient"; import { BaseFetcher } from "./base"; import { AttioWebhookEventPopulatedListener } from "./webhook"; import { AttioWorkspaceMember, WebhookEventDataByType } from "../types"; export class AttioWorkspaceMemberFetcher extends BaseFetcher { constructor(client: AttioClient) { super(client); } protected createBaseUrl(): string { return "/workspace_members"; } async getAll(): Promise<AttioWorkspaceMember[]> { return this.extractData( this.client.doFetch(this.createBaseUrl()) ); } async getById(id: string): Promise<AttioWorkspaceMember> { return this.extractData( this.client.doFetch(\`\${this.createBaseUrl()}/\${id}\`) ); } ${generateWebhookEventFunction({ eventName: "workspace-member.created", idKey: "workspace_member_id", populatedType: "AttioWorkspaceMember", })} } `; writeGeneratedFile(outputDir, FILE_NAME, content); }