diff --git a/reference.md b/reference.md index 63ce933c5..741fc2d86 100644 --- a/reference.md +++ b/reference.md @@ -2349,7 +2349,7 @@ await client.connections.checkStatus("id"); ## CustomDomains -
client.customDomains.list({ ...params }) -> core.Page +
client.customDomains.list({ ...params }) -> Management.ListCustomDomainsResponseContent
@@ -2377,33 +2377,12 @@ Retrieve details on custom domai
```typescript -const pageableResponse = await client.customDomains.list({ - take: 1, - from: "from", - q: "q", - fields: "fields", - include_fields: true, - sort: "sort", -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.customDomains.list({ - take: 1, - from: "from", +await client.customDomains.list({ q: "q", fields: "fields", include_fields: true, sort: "sort", }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
diff --git a/src/management/api/requests/requests.ts b/src/management/api/requests/requests.ts index f94622b97..5fab41ff7 100644 --- a/src/management/api/requests/requests.ts +++ b/src/management/api/requests/requests.ts @@ -533,8 +533,6 @@ export interface UpdateConnectionRequestContent { /** * @example * { - * take: 1, - * from: "from", * q: "q", * fields: "fields", * include_fields: true, @@ -542,10 +540,6 @@ export interface UpdateConnectionRequestContent { * } */ export interface ListCustomDomainsRequestParameters { - /** Number of results per page. Defaults to 50. */ - take?: number | null; - /** Optional Id from which to start selection. */ - from?: string | null; /** Query in Lucene query string syntax. */ q?: string | null; /** Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields. */ diff --git a/src/management/api/resources/customDomains/client/Client.ts b/src/management/api/resources/customDomains/client/Client.ts index cfe60b701..b23fd130c 100644 --- a/src/management/api/resources/customDomains/client/Client.ts +++ b/src/management/api/resources/customDomains/client/Client.ts @@ -34,106 +34,88 @@ export class CustomDomainsClient { * * @example * await client.customDomains.list({ - * take: 1, - * from: "from", * q: "q", * fields: "fields", * include_fields: true, * sort: "sort" * }) */ - public async list( + public list( request: Management.ListCustomDomainsRequestParameters = {}, requestOptions?: CustomDomainsClient.RequestOptions, - ): Promise> { - const list = core.HttpResponsePromise.interceptFunction( - async ( - request: Management.ListCustomDomainsRequestParameters, - ): Promise> => { - const { take = 50, from: from_, q, fields, include_fields: includeFields, sort } = request; - const _queryParams: Record = {}; - if (take !== undefined) { - _queryParams["take"] = take?.toString() ?? null; - } - if (from_ !== undefined) { - _queryParams["from"] = from_; - } - if (q !== undefined) { - _queryParams["q"] = q; - } - if (fields !== undefined) { - _queryParams["fields"] = fields; - } - if (includeFields !== undefined) { - _queryParams["include_fields"] = includeFields?.toString() ?? null; - } - if (sort !== undefined) { - _queryParams["sort"] = sort; - } - const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); - let _headers: core.Fetcher.Args["headers"] = mergeHeaders( - _authRequest.headers, - this._options?.headers, - requestOptions?.headers, - ); - const _response = await (this._options.fetcher ?? core.fetcher)({ - url: core.url.join( - (await core.Supplier.get(this._options.baseUrl)) ?? - (await core.Supplier.get(this._options.environment)) ?? - environments.ManagementEnvironment.Default, - "custom-domains", - ), - method: "GET", - headers: _headers, - queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, - timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, - maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, - abortSignal: requestOptions?.abortSignal, - fetchFn: this._options?.fetch, - logging: this._options.logging, - }); - if (_response.ok) { - return { - data: _response.body as Management.ListCustomDomainsPaginatedResponseContent, - rawResponse: _response.rawResponse, - }; - } - if (_response.error.reason === "status-code") { - switch (_response.error.statusCode) { - case 401: - throw new Management.UnauthorizedError( - _response.error.body as unknown, - _response.rawResponse, - ); - case 403: - throw new Management.ForbiddenError(_response.error.body as unknown, _response.rawResponse); - case 429: - throw new Management.TooManyRequestsError( - _response.error.body as unknown, - _response.rawResponse, - ); - default: - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.body, - rawResponse: _response.rawResponse, - }); - } - } - return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/custom-domains"); - }, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Management.ListCustomDomainsRequestParameters = {}, + requestOptions?: CustomDomainsClient.RequestOptions, + ): Promise> { + const { q, fields, include_fields: includeFields, sort } = request; + const _queryParams: Record = {}; + if (q !== undefined) { + _queryParams["q"] = q; + } + + if (fields !== undefined) { + _queryParams["fields"] = fields; + } + + if (includeFields !== undefined) { + _queryParams["include_fields"] = includeFields?.toString() ?? null; + } + + if (sort !== undefined) { + _queryParams["sort"] = sort; + } + + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + requestOptions?.headers, ); - const dataWithRawResponse = await list(request).withRawResponse(); - return new core.Page({ - response: dataWithRawResponse.data, - rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => - response?.next != null && !(typeof response?.next === "string" && response?.next === ""), - getItems: (response) => response?.custom_domains ?? [], - loadPage: (response) => { - return list(core.setObjectProperty(request, "from", response?.next)); - }, + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.ManagementEnvironment.Default, + "custom-domains", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, }); + if (_response.ok) { + return { + data: _response.body as Management.ListCustomDomainsResponseContent, + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 401: + throw new Management.UnauthorizedError(_response.error.body as unknown, _response.rawResponse); + case 403: + throw new Management.ForbiddenError(_response.error.body as unknown, _response.rawResponse); + case 429: + throw new Management.TooManyRequestsError(_response.error.body as unknown, _response.rawResponse); + default: + throw new errors.ManagementError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/custom-domains"); } /** diff --git a/src/management/api/types/types.ts b/src/management/api/types/types.ts index f4c6b8e22..82c359bc8 100644 --- a/src/management/api/types/types.ts +++ b/src/management/api/types/types.ts @@ -12343,11 +12343,7 @@ export interface ListConnectionsCheckpointPaginatedResponseContent { connections?: Management.ConnectionForList[]; } -export interface ListCustomDomainsPaginatedResponseContent { - custom_domains: Management.CustomDomain[]; - /** A cursor to be used as the "from" query parameter for the next page of results. */ - next?: string; -} +export type ListCustomDomainsResponseContent = Management.CustomDomain[]; export interface ListDeviceCredentialsOffsetPaginatedResponseContent { start?: number; diff --git a/src/management/tests/wire/customDomains.test.ts b/src/management/tests/wire/customDomains.test.ts index 2e115e063..0d35b11f1 100644 --- a/src/management/tests/wire/customDomains.test.ts +++ b/src/management/tests/wire/customDomains.test.ts @@ -9,57 +9,71 @@ describe("CustomDomainsClient", () => { const server = mockServerPool.createServer(); const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); - const rawResponseBody = { - custom_domains: [ - { - custom_domain_id: "custom_domain_id", - domain: "domain", - primary: true, - status: "pending_verification", - type: "auth0_managed_certs", - origin_domain_name: "origin_domain_name", - custom_client_ip_header: "custom_client_ip_header", - tls_policy: "tls_policy", + const rawResponseBody = [ + { + custom_domain_id: "custom_domain_id", + domain: "domain", + primary: true, + status: "pending_verification", + type: "auth0_managed_certs", + origin_domain_name: "origin_domain_name", + verification: { + methods: [{ name: "cname", record: "record" }], + status: "verified", + error_msg: "error_msg", + last_verified_at: "last_verified_at", }, - ], - next: "next", - }; - server - .mockEndpoint({ once: false }) - .get("/custom-domains") - .respondWith() - .statusCode(200) - .jsonBody(rawResponseBody) - .build(); - - const expected = { - custom_domains: [ - { - custom_domain_id: "custom_domain_id", - domain: "domain", - primary: true, - status: "pending_verification", - type: "auth0_managed_certs", - origin_domain_name: "origin_domain_name", - custom_client_ip_header: "custom_client_ip_header", - tls_policy: "tls_policy", + custom_client_ip_header: "custom_client_ip_header", + tls_policy: "tls_policy", + domain_metadata: { key: "value" }, + certificate: { + status: "provisioning", + error_msg: "error_msg", + certificate_authority: "letsencrypt", + renews_before: "renews_before", }, - ], - next: "next", - }; - const page = await client.customDomains.list({ - take: 1, - from: "from", + }, + ]; + server.mockEndpoint().get("/custom-domains").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + + const response = await client.customDomains.list({ q: "q", fields: "fields", include_fields: true, sort: "sort", }); - - expect(expected.custom_domains).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.custom_domains).toEqual(nextPage.data); + expect(response).toEqual([ + { + custom_domain_id: "custom_domain_id", + domain: "domain", + primary: true, + status: "pending_verification", + type: "auth0_managed_certs", + origin_domain_name: "origin_domain_name", + verification: { + methods: [ + { + name: "cname", + record: "record", + }, + ], + status: "verified", + error_msg: "error_msg", + last_verified_at: "last_verified_at", + }, + custom_client_ip_header: "custom_client_ip_header", + tls_policy: "tls_policy", + domain_metadata: { + key: "value", + }, + certificate: { + status: "provisioning", + error_msg: "error_msg", + certificate_authority: "letsencrypt", + renews_before: "renews_before", + }, + }, + ]); }); test("list (2)", async () => { @@ -67,13 +81,7 @@ describe("CustomDomainsClient", () => { const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server - .mockEndpoint({ once: false }) - .get("/custom-domains") - .respondWith() - .statusCode(401) - .jsonBody(rawResponseBody) - .build(); + server.mockEndpoint().get("/custom-domains").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); await expect(async () => { return await client.customDomains.list(); @@ -85,13 +93,7 @@ describe("CustomDomainsClient", () => { const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server - .mockEndpoint({ once: false }) - .get("/custom-domains") - .respondWith() - .statusCode(403) - .jsonBody(rawResponseBody) - .build(); + server.mockEndpoint().get("/custom-domains").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); await expect(async () => { return await client.customDomains.list(); @@ -103,13 +105,7 @@ describe("CustomDomainsClient", () => { const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server - .mockEndpoint({ once: false }) - .get("/custom-domains") - .respondWith() - .statusCode(429) - .jsonBody(rawResponseBody) - .build(); + server.mockEndpoint().get("/custom-domains").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); await expect(async () => { return await client.customDomains.list();