// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../../../../core/resource'; import * as ListsAPI from './lists'; import { GatewayItemsSinglePage } from './lists'; import { PagePromise, SinglePage } from '../../../../core/pagination'; import { RequestOptions } from '../../../../internal/request-options'; import { path } from '../../../../internal/utils/path'; export class BaseItems extends APIResource { static override readonly _key: readonly ['zeroTrust', 'gateway', 'lists', 'items'] = Object.freeze([ 'zeroTrust', 'gateway', 'lists', 'items', ] as const); /** * Fetch all items in a single Zero Trust list. * * @example * ```ts * // Automatically fetches more pages as needed. * for await (const gatewayItem of client.zeroTrust.gateway.lists.items.list( * 'f174e90a-fafe-4643-bbbc-4a0ed4fc8415', * { account_id: '699d98642c564d2e855e9661899b7252' }, * )) { * // ... * } * ``` */ list( listID: string, params: ItemListParams, options?: RequestOptions, ): PagePromise { const { account_id } = params; return this._client.getAPIList( path`/accounts/${account_id}/gateway/lists/${listID}/items`, SinglePage, options, ); } } export class Items extends BaseItems {} export interface ItemListParams { account_id: string; } export declare namespace Items { export { type ItemListParams as ItemListParams }; } export { type GatewayItemsSinglePage };