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 { UserFields } from "./user.ts"; export interface AdAccountCreationRequestFields { ad_accounts_currency: string; ad_accounts_info: Record[]; additional_comment: string; address_in_chinese: string; address_in_english: Record; address_in_local_language: string; advertiser_business: BusinessFields; appeal_reason: Record; business: BusinessFields; business_registration_id: string; chinese_legal_entity_name: string; contact: Record; creator: UserFields; credit_card_id: string; disapproval_reasons: Record[]; english_legal_entity_name: string; extended_credit_id: string; id: string; is_smb: boolean; is_test: boolean; legal_entity_name_in_local_language: string; oe_request_id: string; official_website_url: string; planning_agency_business: BusinessFields; planning_agency_business_id: string; promotable_app_ids: string[]; promotable_page_ids: string[]; promotable_urls: string[]; request_change_reasons: Record[]; status: string; subvertical: string; subvertical_v2: string; time_created: string; vertical: string; vertical_v2: string; } export function adAccountCreationRequestNode(client: ApiClient, id: string) { return { __path: id, __brand: undefined as unknown as AdAccountCreationRequestFields, get: (opts: { fields: F; params?: Record }) => client.get>(`${id}`, opts), adaccounts: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/adaccounts`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), }; }