import type { ApiClient } from "@promobase/sdk-runtime"; import { Cursor } from "@promobase/sdk-runtime"; import { metaPagination } from "../../pagination.ts"; import type { AdAccountFields } from "./ad-account.ts"; import type { BusinessFields } from "./business.ts"; import type { IGMediaFields } from "./ig-media.ts"; export interface ContentBlockListFields { business: BusinessFields; id: string; name: string; } export function contentBlockListNode(client: ApiClient, id: string) { return { __path: id, __brand: undefined as unknown as ContentBlockListFields, get: (opts: { fields: F; params?: Record }) => client.get>(`${id}`, opts), appliedAdAccounts: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/applied_ad_accounts`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), facebookContent: )[]>(opts: { fields: F; params?: Record }) => new Cursor, F[number]>>(client, `${id}/facebook_content`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), instagramContent: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/instagram_content`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), }; }