import qs from 'qs' import type { ApiClient } from '../../core/ApiClient' import type { ListQuery, Paginated, HasGetMany } from '../../core/types' import type { ServiceAccessManagement } from './types' export class ServiceAccessManagementApi implements HasGetMany { private readonly client: ApiClient constructor(client: ApiClient) { this.client = client } /** Returns a paginated list of which users have access to which services. */ getMany( query: ListQuery & { paginate: false }, headers?: Record, ): Promise getMany( query?: ListQuery & { paginate?: true }, headers?: Record, ): Promise> getMany( query?: ListQuery, headers?: Record, ): Promise | ServiceAccessManagement[]> { const queryString = query ? `?${qs.stringify(query)}` : '' return this.client.get | ServiceAccessManagement[]>( `/service-access-management${queryString}`, headers, ) } }